Filter out surplus mouse down event when
a double click event is in the queue. This is how MSW does it. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@17404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1447,6 +1447,26 @@ static gint gtk_window_button_press_callback( GtkWidget *widget,
|
||||
*/
|
||||
}
|
||||
|
||||
// GDK sends surplus button down event
|
||||
// before a double click event. We
|
||||
// need to filter these out.
|
||||
if (gdk_event->type == GDK_BUTTON_PRESS)
|
||||
{
|
||||
GdkEvent *peek_event = gdk_event_peek();
|
||||
if (peek_event)
|
||||
{
|
||||
if (peek_event->type == GDK_2BUTTON_PRESS)
|
||||
{
|
||||
gdk_event_free( peek_event );
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
gdk_event_free( peek_event );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
wxEventType event_type = wxEVT_NULL;
|
||||
|
||||
if (gdk_event->button == 1)
|
||||
@@ -1477,6 +1497,7 @@ static gint gtk_window_button_press_callback( GtkWidget *widget,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ( event_type == wxEVT_NULL )
|
||||
{
|
||||
// unknown mouse button or click type
|
||||
|
@@ -1447,6 +1447,26 @@ static gint gtk_window_button_press_callback( GtkWidget *widget,
|
||||
*/
|
||||
}
|
||||
|
||||
// GDK sends surplus button down event
|
||||
// before a double click event. We
|
||||
// need to filter these out.
|
||||
if (gdk_event->type == GDK_BUTTON_PRESS)
|
||||
{
|
||||
GdkEvent *peek_event = gdk_event_peek();
|
||||
if (peek_event)
|
||||
{
|
||||
if (peek_event->type == GDK_2BUTTON_PRESS)
|
||||
{
|
||||
gdk_event_free( peek_event );
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
gdk_event_free( peek_event );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
wxEventType event_type = wxEVT_NULL;
|
||||
|
||||
if (gdk_event->button == 1)
|
||||
@@ -1477,6 +1497,7 @@ static gint gtk_window_button_press_callback( GtkWidget *widget,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ( event_type == wxEVT_NULL )
|
||||
{
|
||||
// unknown mouse button or click type
|
||||
|
Reference in New Issue
Block a user