forked from AuroraMiddleware/gtk
0d109867d2
Presently, Gtk will only send a startup notification completion message for the first window that is shown. This is not good for the case of GtkApplication, where we are expected to participate in startup-notification for all windows. We have avoided this problem by manually emitting the startup complete message from after_emit in GtkApplication. Unfortunately, this causes problems for windows that are shown with a delay. It is also a dirty hack. The reason for the original behaviour is simple: there is a static boolean in gtkwindow.c which controls it. We remove this. Instead, clear the startup notification ID stored in GDK when sending the completion message. GtkApplication will re-set this the next time an event comes in which needs startup-notification handling. In the non-GtkApplication case, newly shown windows will still not send the message, since the cookie will have been cleared. Finally, we remove the hack from GtkApplication's after_emit. This will probably cause some regressions in terms of lingering startup notification messages. The correct solution here is to always use gtk_window_present(), including when merely opening a new document (with a new tab, for example). https://bugzilla.gnome.org/show_bug.cgi?id=690791 |
||
---|---|---|
.. | ||
gdkapplaunchcontext-x11.c | ||
gdkasync.c | ||
gdkasync.h | ||
gdkcursor-x11.c | ||
gdkdevice-core-x11.c | ||
gdkdevice-xi2.c | ||
gdkdevicemanager-core-x11.c | ||
gdkdevicemanager-x11.c | ||
gdkdevicemanager-xi2.c | ||
gdkdevicemanagerprivate-core.h | ||
gdkdisplay-x11.c | ||
gdkdisplay-x11.h | ||
gdkdisplaymanager-x11.c | ||
gdkdnd-x11.c | ||
gdkeventsource.c | ||
gdkeventsource.h | ||
gdkeventtranslator.c | ||
gdkeventtranslator.h | ||
gdkgeometry-x11.c | ||
gdkglcontext-x11.c | ||
gdkglcontext-x11.h | ||
gdkkeys-x11.c | ||
gdkmain-x11.c | ||
gdkprivate-x11.h | ||
gdkproperty-x11.c | ||
gdkscreen-x11.c | ||
gdkscreen-x11.h | ||
gdkselection-x11.c | ||
gdksettings.c | ||
gdktestutils-x11.c | ||
gdkvisual-x11.c | ||
gdkwindow-x11.c | ||
gdkwindow-x11.h | ||
gdkx11applaunchcontext.h | ||
gdkx11cursor.h | ||
gdkx11device-core.h | ||
gdkx11device-xi2.h | ||
gdkx11device.h | ||
gdkx11devicemanager-core.h | ||
gdkx11devicemanager-xi2.h | ||
gdkx11devicemanager-xi.h | ||
gdkx11devicemanager.h | ||
gdkx11display.h | ||
gdkx11displaymanager.h | ||
gdkx11dnd.h | ||
gdkx11glcontext.h | ||
gdkx11keys.h | ||
gdkx11property.h | ||
gdkx11screen.h | ||
gdkx11selection.h | ||
gdkx11utils.h | ||
gdkx11visual.h | ||
gdkx11window.h | ||
gdkx-autocleanups.h | ||
gdkx.h | ||
gdkxftdefaults.c | ||
gdkxid.c | ||
Makefile.am | ||
MwmUtil.h | ||
xsettings-client.c | ||
xsettings-client.h |