On 18.09.2018 18:59, Michel Donais wrote:
What seems to happen is the WM_NCDESTROY event is being sent out to GDK because its hierarchy is getting destroyed by Win32, and then, it seems GDK does the good thing destroying all its structures and pushes the destruction to all its known children, but it doesn’t propagate the good news to the Widget. It doesn’t seem to send events internally nor externally, and I don’t seem to get any event on the GTK side to tell I don’t have a surface, or got destroyed or anything.
Is far as i can see from the source code, GDK W32 backend emits GDK_DESTROY event. On the GTK side it is, i think, supposed to be handled in gtk_widget_event_internal(), which should emit a DESTROY_EVENT signal. If that doesn't happen, then the best way to debug it is to get GTK with debug info, run under gdb, and set up breapoints in all important places to see how everything happens. I assume you're using GTK3, by the way. Haven't looked at GTK2 yet. Do note that foreign windows are highly unlikely to be supported in GTK4 (just FYI).
Attachment:
signature.asc
Description: OpenPGP digital signature