vlc | branch: master | Francois Cartegnie <[email protected]> | Tue Jun 26 
17:20:44 2012 +0200| [e5462dbd3a789e15278afd642833788a8a491724] | committer: 
Francois Cartegnie

Qt: PopupMenu: Stop crashing on VOut update. (fix #7016)

When calling a modal dialog, Qt switches to a new event loop.
The call may still have some event to process in its own queue,
and deleting it when doing the Vout update will have those events
refering to a no longer existing widget.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e5462dbd3a789e15278afd642833788a8a491724
---

 modules/gui/qt4/menus.cpp |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/modules/gui/qt4/menus.cpp b/modules/gui/qt4/menus.cpp
index 18bb5ca..3969de1 100644
--- a/modules/gui/qt4/menus.cpp
+++ b/modules/gui/qt4/menus.cpp
@@ -769,7 +769,8 @@ QMenu *VLCMenuBar::HelpMenu( QWidget *parent )
  *****************************************************************************/
 #define POPUP_BOILERPLATE \
     static QMenu* menu = NULL;  \
-    delete menu; menu = NULL; \
+    if ( menu ) menu->deleteLater(); \ /* Ensure it is deleted after 
processing events */
+    menu = NULL; \                     /* or we might crash on an incoming 
mouseup event */
     if( !show ) \
         return; \
     QVector<vlc_object_t *> objects; \

_______________________________________________
vlc-commits mailing list
[email protected]
http://mailman.videolan.org/listinfo/vlc-commits

Reply via email to