From 7f6f3d64f1b95b680198459807ab5bc9ebb9f832 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 16 Mar 2025 01:48:53 +0100 Subject: [PATCH] macOS/YDK: Fix crash when resizing windows _gdk_window_process_updates_recurse() may recurse (duh), and reenter drawRect. So `needs_display_region` needs to be unset immediately, not at the end of the method. --- libs/tk/ydk/quartz/GdkQuartzView.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libs/tk/ydk/quartz/GdkQuartzView.c b/libs/tk/ydk/quartz/GdkQuartzView.c index 5f8e981d57..2c3d5fe70e 100644 --- a/libs/tk/ydk/quartz/GdkQuartzView.c +++ b/libs/tk/ydk/quartz/GdkQuartzView.c @@ -768,6 +768,7 @@ static int showInvalidation = 0; region = gdk_region_rectangle (&r); if (impl->needs_display_region) { gdk_region_destroy (impl->needs_display_region); + impl->needs_display_region = NULL; } } else if (!impl->needs_display_region || gdk_quartz_get_use_cocoa_invalidation()) { gint nrects;