reverted GTK 1.x part of the last patch, it breaks popup menus sometimes

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2003-07-30 00:15:26 +00:00
parent e2620fdadc
commit 34adc95440
2 changed files with 14 additions and 2 deletions

View File

@ -255,6 +255,10 @@ wxWindowGTK *g_delayedFocus = (wxWindowGTK*) NULL;
// send any activate events at all // send any activate events at all
static int g_sendActivateEvent = -1; 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; extern bool g_mainThreadLocked;
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -1582,6 +1586,8 @@ static gint gtk_window_button_press_callback( GtkWidget *widget,
if ( !g_captureWindow ) if ( !g_captureWindow )
win = FindWindowForMouseEvent(win, event.m_x, event.m_y); win = FindWindowForMouseEvent(win, event.m_x, event.m_y);
gs_timeLastClick = gdk_event->time;
/* /*
wxPrintf( wxT("2) OnButtonPress from ") ); wxPrintf( wxT("2) OnButtonPress from ") );
if (win->GetClassInfo() && win->GetClassInfo()->GetClassName()) if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
@ -4214,7 +4220,7 @@ bool wxWindowGTK::DoPopupMenu( wxMenu *menu, int x, int y )
#ifdef __WXGTK20__ #ifdef __WXGTK20__
gtk_get_current_event_time() gtk_get_current_event_time()
#else #else
GDK_CURRENT_TIME gs_timeLastClick // the time of activation
#endif #endif
); );

View File

@ -255,6 +255,10 @@ wxWindowGTK *g_delayedFocus = (wxWindowGTK*) NULL;
// send any activate events at all // send any activate events at all
static int g_sendActivateEvent = -1; 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; extern bool g_mainThreadLocked;
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -1582,6 +1586,8 @@ static gint gtk_window_button_press_callback( GtkWidget *widget,
if ( !g_captureWindow ) if ( !g_captureWindow )
win = FindWindowForMouseEvent(win, event.m_x, event.m_y); win = FindWindowForMouseEvent(win, event.m_x, event.m_y);
gs_timeLastClick = gdk_event->time;
/* /*
wxPrintf( wxT("2) OnButtonPress from ") ); wxPrintf( wxT("2) OnButtonPress from ") );
if (win->GetClassInfo() && win->GetClassInfo()->GetClassName()) if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
@ -4214,7 +4220,7 @@ bool wxWindowGTK::DoPopupMenu( wxMenu *menu, int x, int y )
#ifdef __WXGTK20__ #ifdef __WXGTK20__
gtk_get_current_event_time() gtk_get_current_event_time()
#else #else
GDK_CURRENT_TIME gs_timeLastClick // the time of activation
#endif #endif
); );