]> git.saurik.com Git - wxWidgets.git/commitdiff
prevent infinite loop if gtk_menu_popup() fails, fixes #15387
authorPaul Cornett <paulcor@bullseye.com>
Mon, 5 Aug 2013 17:10:58 +0000 (17:10 +0000)
committerPaul Cornett <paulcor@bullseye.com>
Mon, 5 Aug 2013 17:10:58 +0000 (17:10 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/window.cpp

index 0285a4791212fe053e2fb2dc604269f6a6191eb7..d535b232da45ee748d2cd9d246ea72d0fdec3b08 100644 (file)
@@ -4368,6 +4368,13 @@ bool wxWindowGTK::DoPopupMenu( wxMenu *menu, int x, int y )
                   gtk_get_current_event_time()
                 );
 
+    // it is possible for gtk_menu_popup() to fail
+    if (!gtk_widget_get_visible(GTK_WIDGET(menu->m_menu)))
+    {
+        menu->m_popupShown = false;
+        return false;
+    }
+
     while (menu->m_popupShown)
     {
         gtk_main_iteration();