From a3f30483bd20556a1e01e718950ba3989df8862b Mon Sep 17 00:00:00 2001 From: leo Date: Mon, 9 Dec 2002 02:47:36 +0000 Subject: Fixed slowdown while dragging the mouse. git-svn-id: http://svn.leocad.org/trunk@320 c7d43263-9d01-0410-8a33-9dba5d9f93d6 --- linux/glwindow.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/linux/glwindow.cpp b/linux/glwindow.cpp index 352a7de..8f15a10 100644 --- a/linux/glwindow.cpp +++ b/linux/glwindow.cpp @@ -63,8 +63,8 @@ static gint button_press_event (GtkWidget *widget, GdkEventButton *event, gpoint } gtk_window_set_focus (GTK_WINDOW (gtk_widget_get_toplevel (widget)), widget); - gdk_pointer_grab (widget->window, FALSE, - (GdkEventMask)(GDK_BUTTON_PRESS_MASK|GDK_BUTTON_RELEASE_MASK|GDK_POINTER_MOTION_MASK), + gdk_pointer_grab (widget->window, FALSE, (GdkEventMask)(GDK_BUTTON_PRESS_MASK|GDK_BUTTON_RELEASE_MASK| + GDK_POINTER_MOTION_MASK|GDK_POINTER_MOTION_HINT_MASK), NULL, NULL, GDK_CURRENT_TIME); return TRUE; @@ -97,7 +97,10 @@ static gint pointer_motion_event (GtkWidget *widget, GdkEventMotion *event, gpoi int x, y; if (event->is_hint) + { gdk_window_get_pointer (event->window, &x, &y, &state); + state = (GdkModifierType)0; + } else { x = (int)event->x; @@ -107,7 +110,6 @@ static gint pointer_motion_event (GtkWidget *widget, GdkEventMotion *event, gpoi y = widget->allocation.height - y - 1; - // if (state) wnd->OnMouseMove (x, y, (event->state & GDK_CONTROL_MASK) != 0, (event->state & GDK_SHIFT_MASK) != 0); return TRUE; -- cgit v1.2.3