backported changes from gtk/window.cpp rev 1.678 (bug 1531348)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43427 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -225,6 +225,10 @@ wxWindowGTK *g_delayedFocus = (wxWindowGTK*) NULL;
|
|||||||
// the last click here (extern: used from gtk/menu.cpp)
|
// the last click here (extern: used from gtk/menu.cpp)
|
||||||
guint32 wxGtkTimeLastClick = 0;
|
guint32 wxGtkTimeLastClick = 0;
|
||||||
|
|
||||||
|
// Save the last mouse event for drag start
|
||||||
|
GdkEvent *g_lastMouseEvent = (GdkEvent*) NULL;
|
||||||
|
int g_lastButtonNumber = 0;
|
||||||
|
|
||||||
extern bool g_mainThreadLocked;
|
extern bool g_mainThreadLocked;
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@@ -1468,6 +1472,8 @@ static gint gtk_window_button_press_callback( GtkWidget *widget,
|
|||||||
|
|
||||||
if (!win->IsOwnGtkWindow( gdk_event->window )) return FALSE;
|
if (!win->IsOwnGtkWindow( gdk_event->window )) return FALSE;
|
||||||
|
|
||||||
|
g_lastButtonNumber = gdk_event->button;
|
||||||
|
|
||||||
if (win->m_wxwindow && (g_focusWindow != win) && win->AcceptsFocus())
|
if (win->m_wxwindow && (g_focusWindow != win) && win->AcceptsFocus())
|
||||||
{
|
{
|
||||||
gtk_widget_grab_focus( win->m_wxwindow );
|
gtk_widget_grab_focus( win->m_wxwindow );
|
||||||
@@ -1575,6 +1581,8 @@ static gint gtk_window_button_press_callback( GtkWidget *widget,
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g_lastMouseEvent = (GdkEvent*) gdk_event;
|
||||||
|
|
||||||
wxMouseEvent event( event_type );
|
wxMouseEvent event( event_type );
|
||||||
InitMouseEvent( win, event, gdk_event );
|
InitMouseEvent( win, event, gdk_event );
|
||||||
|
|
||||||
@@ -1651,6 +1659,8 @@ static gint gtk_window_button_release_callback( GtkWidget *widget,
|
|||||||
|
|
||||||
if (!win->IsOwnGtkWindow( gdk_event->window )) return FALSE;
|
if (!win->IsOwnGtkWindow( gdk_event->window )) return FALSE;
|
||||||
|
|
||||||
|
g_lastButtonNumber = 0;
|
||||||
|
|
||||||
wxEventType event_type = wxEVT_NULL;
|
wxEventType event_type = wxEVT_NULL;
|
||||||
|
|
||||||
switch (gdk_event->button)
|
switch (gdk_event->button)
|
||||||
@@ -1672,6 +1682,8 @@ static gint gtk_window_button_release_callback( GtkWidget *widget,
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g_lastMouseEvent = (GdkEvent*) gdk_event;
|
||||||
|
|
||||||
wxMouseEvent event( event_type );
|
wxMouseEvent event( event_type );
|
||||||
InitMouseEvent( win, event, gdk_event );
|
InitMouseEvent( win, event, gdk_event );
|
||||||
|
|
||||||
@@ -1723,6 +1735,8 @@ static gint gtk_window_motion_notify_callback( GtkWidget *widget,
|
|||||||
gdk_event->y = y;
|
gdk_event->y = y;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g_lastMouseEvent = (GdkEvent*) gdk_event;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
printf( "OnMotion from " );
|
printf( "OnMotion from " );
|
||||||
if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
|
if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
|
||||||
|
Reference in New Issue
Block a user