From eb3f3fff83436caeedd5cf730ee2b64bb7211aab Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 23 Jul 2025 16:03:26 -0700 Subject: [PATCH] apprt/gtk-ng: keep child_exited property up to date --- src/apprt/gtk-ng/class/surface.zig | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/apprt/gtk-ng/class/surface.zig b/src/apprt/gtk-ng/class/surface.zig index b1f9d8d50..0e795fc4f 100644 --- a/src/apprt/gtk-ng/class/surface.zig +++ b/src/apprt/gtk-ng/class/surface.zig @@ -663,6 +663,14 @@ pub const Surface = extern struct { self: *Self, data: apprt.surface.Message.ChildExited, ) bool { + // Even if we don't support the overlay, we still keep our property + // up to date for anyone listening. + const priv = self.private(); + priv.child_exited = true; + self.as(gobject.Object).notifyByPspec( + properties.@"child-exited".impl.param_spec, + ); + // If we have the noop child exited overlay then we don't do anything // for child exited. The false return will force libghostty to show // the normal text-based message. @@ -670,12 +678,7 @@ pub const Surface = extern struct { return false; } - const priv = self.private(); - priv.child_exited = true; priv.child_exited_overlay.setData(&data); - self.as(gobject.Object).notifyByPspec( - properties.@"child-exited".impl.param_spec, - ); return true; }