From a8a3f6ba95804b4d55ca2582ad3fc20763811838 Mon Sep 17 00:00:00 2001 From: Marko Lindqvist Date: Thu, 6 May 2021 02:39:02 +0300 Subject: [PATCH 49/49] gtk3x: Remove gtk_widget_get_surface() call from impr_callback() See osdn #42187 Signed-off-by: Marko Lindqvist --- client/gui-gtk-4.0/citydlg.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/client/gui-gtk-4.0/citydlg.c b/client/gui-gtk-4.0/citydlg.c index d81f410ee5..880cf58a5e 100644 --- a/client/gui-gtk-4.0/citydlg.c +++ b/client/gui-gtk-4.0/citydlg.c @@ -3197,8 +3197,9 @@ static void impr_callback(GtkTreeView *view, GtkTreePath *path, { GtkTreeModel *model; GtkTreeIter it; - GdkSurface *win; +#ifdef GTKCOMPAT_GTK4_FINAL GdkSeat *seat; +#endif GdkModifierType mask; struct impr_type *pimprove; @@ -3210,11 +3211,12 @@ static void impr_callback(GtkTreeView *view, GtkTreePath *path, gtk_tree_model_get(model, &it, 0, &pimprove, -1); - win = gtk_widget_get_surface(GTK_WIDGET(view)); - seat = gdk_display_get_default_seat(gdk_surface_get_display(win)); - - gdk_surface_get_device_position(win, gdk_seat_get_pointer(seat), - NULL, NULL, &mask); +#ifdef GTKCOMPAT_GTK4_FINAL + seat = gdk_display_get_default_seat(gtk_widget_get_display(view)); + mask = gdk_device_get_modifier_state(gdk_seat_get_keyboard(seat)); +#else + mask = 0; +#endif if (!(mask & GDK_CONTROL_MASK)) { sell_callback(pimprove, data); -- 2.30.2