gtk_init: Fix debug flags handling when a display is already open

The code assigning the display to the debug_flags struct gets only
called when the default display changes, which never happens
when there already is one.

This makes it call the change callback in case a display is already
there.

The same fix was applied to gtk3 in !26 where calling gdk_init()
before gtk_init() would trigger this case. With gdk_init() gone
in master this is less likely to happen, but still possible
if gdk_display_open() is called before gtk_init().

See https://gitlab.gnome.org/GNOME/pygobject/issues/166
This commit is contained in:
Christoph Reiter 2018-02-18 10:34:52 +01:00
parent 9ea80a7506
commit 8ad81a35e1

View File

@ -662,7 +662,7 @@ do_post_parse_initialization (void)
display_manager = gdk_display_manager_get ();
if (gdk_display_manager_get_default_display (display_manager) != NULL)
_gtk_accessibility_init ();
default_display_notify_cb (display_manager);
g_signal_connect (display_manager, "notify::default-display",
G_CALLBACK (default_display_notify_cb),