From c017416682938c39547836051c0fad74db45e8a0 Mon Sep 17 00:00:00 2001 From: Paul Cornett Date: Fri, 9 Nov 2012 06:17:11 +0000 Subject: [PATCH] avoid deprecated functions with GTK3 git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72934 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/minifram.cpp | 49 ++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/src/gtk/minifram.cpp b/src/gtk/minifram.cpp index 0cf5dd8d24..013d3af5c0 100644 --- a/src/gtk/minifram.cpp +++ b/src/gtk/minifram.cpp @@ -193,17 +193,20 @@ gtk_window_button_press_callback(GtkWidget* widget, GdkEventButton* gdk_event, w gdk_window_raise(gtk_widget_get_window(win->m_widget)); - gdk_pointer_grab( gtk_widget_get_window(widget), false, - (GdkEventMask) - (GDK_BUTTON_PRESS_MASK | - GDK_BUTTON_RELEASE_MASK | - GDK_POINTER_MOTION_MASK | - GDK_POINTER_MOTION_HINT_MASK | - GDK_BUTTON_MOTION_MASK | - GDK_BUTTON1_MOTION_MASK), - NULL, - NULL, - (unsigned int) GDK_CURRENT_TIME ); + const GdkEventMask mask = GdkEventMask( + GDK_BUTTON_PRESS_MASK | + GDK_BUTTON_RELEASE_MASK | + GDK_POINTER_MOTION_MASK | + GDK_POINTER_MOTION_HINT_MASK | + GDK_BUTTON_MOTION_MASK | + GDK_BUTTON1_MOTION_MASK); +#ifdef __WXGTK3__ + gdk_device_grab( + gdk_event->device, gdk_event->window, GDK_OWNERSHIP_NONE, + false, mask, NULL, gdk_event->time); +#else + gdk_pointer_grab(gdk_event->window, false, mask, NULL, NULL, gdk_event->time); +#endif win->m_diffX = x; win->m_diffY = y; @@ -235,7 +238,11 @@ gtk_window_button_release_callback(GtkWidget* widget, GdkEventButton* gdk_event, int x = (int)gdk_event->x; int y = (int)gdk_event->y; - gdk_pointer_ungrab ( (guint32)GDK_CURRENT_TIME ); +#ifdef __WXGTK3__ + gdk_device_ungrab(gdk_event->device, gdk_event->time); +#else + gdk_pointer_ungrab(gdk_event->time); +#endif int org_x = 0; int org_y = 0; gdk_window_get_origin(gtk_widget_get_window(widget), &org_x, &org_y); @@ -282,20 +289,18 @@ gtk_window_motion_notify_callback( GtkWidget *widget, GdkEventMotion *gdk_event, if (g_blockEventsOnDrag) return TRUE; if (g_blockEventsOnScroll) return TRUE; + int x = int(gdk_event->x); + int y = int(gdk_event->y); + if (gdk_event->is_hint) { - int x = 0; - int y = 0; - GdkModifierType state; - gdk_window_get_pointer(gdk_event->window, &x, &y, &state); - gdk_event->x = x; - gdk_event->y = y; - gdk_event->state = state; +#ifdef __WXGTK3__ + gdk_window_get_device_position(gdk_event->window, gdk_event->device, &x, &y, NULL); +#else + gdk_window_get_pointer(gdk_event->window, &x, &y, NULL); +#endif } - int x = (int)gdk_event->x; - int y = (int)gdk_event->y; - if (!win->m_isDragging) { #ifndef __WXGTK3__ -- 2.45.2