gdk: only emit display-opened after the default display has been set
This avoids a case where the display has been opened, but calling gdk_display_get_default() in the callback doesn't work. Reviewed-by: Benjamin Otte <otte@redhat.com>
This commit is contained in:
@ -1459,7 +1459,6 @@ _gdk_x11_display_open (const gchar *display_name)
|
|||||||
_gdk_x11_screen_setup (display_x11->screens[i]);
|
_gdk_x11_screen_setup (display_x11->screens[i]);
|
||||||
|
|
||||||
g_signal_emit_by_name (display, "opened");
|
g_signal_emit_by_name (display, "opened");
|
||||||
g_signal_emit_by_name (gdk_display_manager_get (), "display-opened", display);
|
|
||||||
|
|
||||||
return display;
|
return display;
|
||||||
}
|
}
|
||||||
|
@ -51,8 +51,13 @@ gdk_x11_display_manager_open_display (GdkDisplayManager *manager,
|
|||||||
GdkDisplay *display;
|
GdkDisplay *display;
|
||||||
|
|
||||||
display = _gdk_x11_display_open (name);
|
display = _gdk_x11_display_open (name);
|
||||||
if (manager_x11->default_display == NULL && display != NULL)
|
if (display != NULL)
|
||||||
gdk_display_manager_set_default_display (manager, display);
|
{
|
||||||
|
if (manager_x11->default_display == NULL)
|
||||||
|
gdk_display_manager_set_default_display (manager, display);
|
||||||
|
|
||||||
|
g_signal_emit_by_name (manager, "display-opened", display);
|
||||||
|
}
|
||||||
|
|
||||||
return display;
|
return display;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user