From 7ac74220c4f10c06fb5f2da4ca6ef3cdb81dfac2 Mon Sep 17 00:00:00 2001 From: deepend Date: Fri, 23 Jan 2026 00:27:02 -0700 Subject: [PATCH] Added a GTK3-safe null guard before unrefing cursors while keeping GTK2 behavior under !HAVE_GTK3. Added a GTK3 pointer-device null fallback in gtk_xtext_get_pointer to safely handle missing devices before using gdk_device_get_position. --- src/fe-gtk/xtext.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/fe-gtk/xtext.c b/src/fe-gtk/xtext.c index b0afc183..0dd6d3c7 100644 --- a/src/fe-gtk/xtext.c +++ b/src/fe-gtk/xtext.c @@ -156,6 +156,8 @@ gtk_xtext_cursor_unref (GdkCursor *cursor) #if !HAVE_GTK3 gdk_cursor_unref (cursor); #else + if (!cursor) + return; g_object_unref (cursor); #endif } @@ -746,6 +748,17 @@ gtk_xtext_get_pointer (GdkWindow *window, gint *x, gint *y, GdkModifierType *mas gint win_x = 0; gint win_y = 0; + if (!device) + { + if (x) + *x = 0; + if (y) + *y = 0; + if (mask) + *mask = 0; + return; + } + gdk_device_get_position (device, &screen, &root_x, &root_y); gdk_window_get_origin (window, &win_x, &win_y);