From: Christian Hergert Date: Thu, 9 Dec 2021 20:26:33 +0000 (-0800) Subject: macos: fix crash in imcontextquartz X-Git-Tag: archive/raspbian/4.6.5+ds-1+rpi1~1^2~19^2~5^2~81^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=99a8202015a023000395ce4e7a2fbdc459e3924f;p=gtk4.git macos: fix crash in imcontextquartz --- diff --git a/gtk/gtkimcontextquartz.c b/gtk/gtkimcontextquartz.c index a64b9a22e0..9adf39200b 100644 --- a/gtk/gtkimcontextquartz.c +++ b/gtk/gtkimcontextquartz.c @@ -305,7 +305,7 @@ static void quartz_set_cursor_location (GtkIMContext *context, GdkRectangle *area) { GtkIMContextQuartz *qc = GTK_IM_CONTEXT_QUARTZ (context); - GtkWidget* surface_widget = GTK_WIDGET (gdk_surface_get_widget (qc->client_surface)); + GtkWidget* surface_widget; int sx, sy; double wx, wy; @@ -317,6 +317,11 @@ quartz_set_cursor_location (GtkIMContext *context, GdkRectangle *area) if (!qc->focused) return; + surface_widget = GTK_WIDGET (gdk_surface_get_widget (qc->client_surface)); + + if (!surface_widget) + return; + gdk_surface_get_origin (qc->client_surface, &sx, &sy); gtk_widget_translate_coordinates(qc->client_widget, surface_widget, area->x, area->y, &wx, &wy);