You are right, this is on GTK3. Hopefully, once GTK4 becomes predominant, it might not be useful to have foreign windows. But TBD!
The problem is as follows: > if ((window != NULL) && (msg->hwnd != GetDesktopWindow ())) > gdk_window_destroy_notify (window); This line actually destroys the window, so GDK_WINDOW_DESTROYED becomes true at that point. This is due to: > static void gdk_win32_window_destroy_notify (GdkWindow *window) where > if (!GDK_WINDOW_DESTROYED (window)), it > _gdk_window_destroy (window, TRUE); So the line after, once the window is actually destroyed, it breaks > if (window == NULL || GDK_WINDOW_DESTROYED (window)) > break; and never enters the following lines. > event = gdk_event_new (GDK_DESTROY); > event->any.window = window; > > _gdk_win32_append_event (event); On Tue, Sep 18, 2018 at 12:27 PM LRN via gtk-list <gtk-list@gnome.org> wrote: > 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). > > _______________________________________________ > gtk-list mailing list > gtk-list@gnome.org > https://mail.gnome.org/mailman/listinfo/gtk-list > -- Michel Donais Développeur logiciel senior mdon...@audiokinetic.com
_______________________________________________ gtk-list mailing list gtk-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-list