]> git.saurik.com Git - wxWidgets.git/commitdiff
reverted GTK 1.x part of the last patch, it breaks popup menus sometimes
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 30 Jul 2003 00:15:26 +0000 (00:15 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 30 Jul 2003 00:15:26 +0000 (00:15 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/window.cpp
src/gtk1/window.cpp

index 9ca920d58198638d0c291687abffed00f1366b94..475c06f37f12eaff0024c622659ed0271def3713 100644 (file)
@@ -255,6 +255,10 @@ wxWindowGTK *g_delayedFocus = (wxWindowGTK*) NULL;
 // send any activate events at all
 static int        g_sendActivateEvent = -1;
 
+// hack: we need something to pass to gtk_menu_popup, so we store the time of
+// the last click here
+static guint32 gs_timeLastClick = 0; 
+
 extern bool g_mainThreadLocked;
 
 //-----------------------------------------------------------------------------
@@ -1582,6 +1586,8 @@ static gint gtk_window_button_press_callback( GtkWidget *widget,
     if ( !g_captureWindow )
         win = FindWindowForMouseEvent(win, event.m_x, event.m_y);
 
+    gs_timeLastClick = gdk_event->time;
+
 /*
     wxPrintf( wxT("2) OnButtonPress from ") );
     if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
@@ -4214,7 +4220,7 @@ bool wxWindowGTK::DoPopupMenu( wxMenu *menu, int x, int y )
 #ifdef __WXGTK20__
                   gtk_get_current_event_time()
 #else
-                  GDK_CURRENT_TIME
+                  gs_timeLastClick              // the time of activation
 #endif
                 );
 
index 9ca920d58198638d0c291687abffed00f1366b94..475c06f37f12eaff0024c622659ed0271def3713 100644 (file)
@@ -255,6 +255,10 @@ wxWindowGTK *g_delayedFocus = (wxWindowGTK*) NULL;
 // send any activate events at all
 static int        g_sendActivateEvent = -1;
 
+// hack: we need something to pass to gtk_menu_popup, so we store the time of
+// the last click here
+static guint32 gs_timeLastClick = 0; 
+
 extern bool g_mainThreadLocked;
 
 //-----------------------------------------------------------------------------
@@ -1582,6 +1586,8 @@ static gint gtk_window_button_press_callback( GtkWidget *widget,
     if ( !g_captureWindow )
         win = FindWindowForMouseEvent(win, event.m_x, event.m_y);
 
+    gs_timeLastClick = gdk_event->time;
+
 /*
     wxPrintf( wxT("2) OnButtonPress from ") );
     if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
@@ -4214,7 +4220,7 @@ bool wxWindowGTK::DoPopupMenu( wxMenu *menu, int x, int y )
 #ifdef __WXGTK20__
                   gtk_get_current_event_time()
 #else
-                  GDK_CURRENT_TIME
+                  gs_timeLastClick              // the time of activation
 #endif
                 );