From b1f6e609c61b997a31794e9b45e81738fc81edc7 Mon Sep 17 00:00:00 2001 From: Hari Rana Date: Sat, 3 Oct 2026 15:29:55 -0400 Subject: [PATCH] views/week-grid: Only set parent when `child_data->widget` has been created `add_event_to_block()` assumes that the child widget has never been parented, so it will always set the parent widget when the widget is already parented, which triggers a critical error in GTK. This patch addresses this situation by only parenting when the widget has just been created. Additionally, it asserts that the parent widget is `self` in the end, so that it crashes if this is incorrect. Fixes: Part-of: --- src/gui/views/gcal-week-grid.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gui/views/gcal-week-grid.c b/src/gui/views/gcal-week-grid.c index eca21724..050fa4da 100644 --- a/src/gui/views/gcal-week-grid.c +++ b/src/gui/views/gcal-week-grid.c @@ -254,9 +254,11 @@ add_event_to_block (GcalWeekGrid *self, NULL); g_signal_connect (child_data->widget, "activate", G_CALLBACK (on_event_widget_activated_cb), self); + + gtk_widget_set_parent (child_data->widget, GTK_WIDGET (self)); } - gtk_widget_set_parent (child_data->widget, GTK_WIDGET (self)); + g_assert (gtk_widget_get_parent (child_data->widget) == GTK_WIDGET (self)); } static void