Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: [sfml + qt]Cannot close SFML area when SFML is integrated in a NSView  (Lu 2643 fois)

0 Membres et 1 Invité sur ce sujet

cirasa

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Bonjour,
voila j'ai un problème dans l'integration de la sfml qui est dans une mainwindow.

l'erreur se produit quand j'appel renderWindow::close()
soit pour resize sfml ou tout simplement quand je quite le programme.

j'ai tester mon code , juste avec un main comme dans les tuto cela ne pose pas de problème.

ce problème peut-il venir du fais qu'il est intégrer dans un centralWidget ? 


Hiura

  • SFML Team
  • Hero Member
  • *****
  • Messages: 4321
    • Voir le profil
    • E-mail
Re : [sfml + qt]Cannot close SFML area when SFML is integrated in a NSView
« Réponse #1 le: Juin 24, 2015, 03:25:14 pm »
Si tu crées une `sf::Window` à partir d'un handle system, en l'occurrence une NSView, tu as certaines restrictions comme le fait que de fermer la vue Cocoa n'est pas possible (puisque ce n'est pas une NSWindow).
SFML / OS X developer

cirasa

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Re : [sfml + qt]Cannot close SFML area when SFML is integrated in a NSView
« Réponse #2 le: Juin 24, 2015, 04:02:51 pm »
je cree la sf::Window a partir du winId()
  sf::RenderWindow::create(reinterpret_cast<sf::WindowHandle>(winId()));
comme dans le tuto, cela veux dire que mon winId dans mon projet return un NSview au lieu d'une window,
comment je peux contourner cela

Hiura

  • SFML Team
  • Hero Member
  • *****
  • Messages: 4321
    • Voir le profil
    • E-mail
Re : [sfml + qt]Cannot close SFML area when SFML is integrated in a NSView
« Réponse #3 le: Juin 24, 2015, 04:21:46 pm »
Il n'y a pas besoin de contourner cela: au lieu de fermer la `sf::Window` tu fermes la `QWindow` (j'invente probablement un nom ici -- je connais pas Qt).
SFML / OS X developer

cirasa

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Re : [sfml + qt]Cannot close SFML area when SFML is integrated in a NSView
« Réponse #4 le: Juin 24, 2015, 07:20:42 pm »
quand je delete mon widget ou est integrer la sfml cela me pose le meme probleme  et cela provoque un segv

Hiura

  • SFML Team
  • Hero Member
  • *****
  • Messages: 4321
    • Voir le profil
    • E-mail
Re : [sfml + qt]Cannot close SFML area when SFML is integrated in a NSView
« Réponse #5 le: Juin 24, 2015, 07:24:54 pm »
Mais ce n'est pas lié à l'implémentation de SFML. -closeWindow ne fait que d'afficher qqch, pas de SegFault de sa part.
SFML / OS X developer

cirasa

  • Newbie
  • *
  • Messages: 4
    • Voir le profil
Re : [sfml + qt]Cannot close SFML area when SFML is integrated in a NSView
« Réponse #6 le: Juin 24, 2015, 07:44:13 pm »
certe mais le fais que je ne peux pas close la sfml en fait partie ou je ne comprend pas tout a fait le probleme p-e dans ce cas la dsl :/
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsfml-window.2.2.0.dylib    0x000000010c1c7624 sf::priv::WindowImpl::pushEvent(sf::Event const&) + 132
1   libsfml-window.2.2.0.dylib    0x000000010c1d328f sf::priv::WindowImplCocoa::mouseMovedOut() + 79
2   libsfml-window.2.2.0.dylib    0x000000010c1cefb1 -[SFOpenGLView viewDidEndLiveResize] + 65
3   com.apple.AppKit              0x00007fff8e79e9c9 -[NSView _endLiveResize] + 351
4   com.apple.AppKit              0x00007fff8e79e929 -[NSView _endLiveResize] + 191
5   com.apple.AppKit              0x00007fff8e79e80a -[NSView _endLiveResizeAsTopLevel] + 138
6   com.apple.AppKit              0x00007fff8e79e735 -[NSThemeFrame _endLiveResizeAsTopLevel] + 80
7   com.apple.AppKit              0x00007fff8e79e55d -[NSWindow _endLiveResize] + 233
8   com.apple.AppKit              0x00007fff8e8d1f28 -[NSWindow(NSWindowResizing) _resizeWithEvent:] + 1650
9   com.apple.AppKit              0x00007fff8e77747c -[NSTitledFrame mouseDown:] + 200
10  com.apple.AppKit              0x00007fff8e7773ab -[NSThemeFrame mouseDown:] + 68
11  com.apple.AppKit              0x00007fff8ece72fc -[NSWindow _reallySendEvent:isDelayedEvent:] + 14125
12  com.apple.AppKit              0x00007fff8e676d76 -[NSWindow sendEvent:] + 470
13  libqcocoa.dylib                0x000000010fba8317 -[QNSWindow superSendEvent:] + 39
14  libqcocoa.dylib                0x000000010fba7cbb -[QNSWindowHelper handleWindowEvent:] + 411
15  com.apple.AppKit              0x00007fff8e673312 -[NSApplication sendEvent:] + 2504
16  libqcocoa.dylib                0x000000010fbbea9e -[QNSApplication sendEvent:] + 78
17  com.apple.AppKit              0x00007fff8e59cc68 -[NSApplication run] + 711
18  libqcocoa.dylib                0x000000010fbbb3bd QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 2189
19  org.qt-project.QtCore          0x000000010d0af39d QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 381
20  org.qt-project.QtCore          0x000000010d0b237a QCoreApplication::exec() + 346
21  myapp    0x000000010c0319d7 main + 279 (main.cpp:15)
22  myapp    0x000000010c0318b4 start + 52

Hiura

  • SFML Team
  • Hero Member
  • *****
  • Messages: 4321
    • Voir le profil
    • E-mail
Re : [sfml + qt]Cannot close SFML area when SFML is integrated in a NSView
« Réponse #7 le: Juin 25, 2015, 09:08:18 am »
là, en regardant la stacktrace, on dirait que tu décris un autre problème.

je n'ai pas de Mac pour un mois (batterie défectueuse oblige), mais donne quand même un code minimal et complet (sscce.org) et une description précise sur comment tu reproduis ce bug.
SFML / OS X developer