summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2015-02-16 12:48:07 -0500
committerRay Strode <rstrode@redhat.com>2015-02-17 23:48:07 -0500
commit926008d3f97c44ad9a07da12962fbdcbddcb55f9 (patch)
tree210106451182411f2858fbcdeb46100cdef37c99
parent26a71c852cb51e7adf5dedcf7810cde05248bfb5 (diff)
downloadgdm-926008d3f97c44ad9a07da12962fbdcbddcb55f9.tar.gz
local-display-factory: don't assume display has display number
logind managed displays don't have (known) display numbers, so we shouldn't assert that there's going to be one on display status changes.
-rw-r--r--daemon/gdm-local-display-factory.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c
index d49bf25e..de2feb7c 100644
--- a/daemon/gdm-local-display-factory.c
+++ b/daemon/gdm-local-display-factory.c
@@ -271,7 +271,6 @@ on_display_status_changed (GdmDisplay *display,
num = -1;
gdm_display_get_x11_display_number (display, &num, NULL);
- g_assert (num != -1);
store = gdm_display_factory_get_display_store (GDM_DISPLAY_FACTORY (factory));
@@ -285,7 +284,9 @@ on_display_status_changed (GdmDisplay *display,
case GDM_DISPLAY_FINISHED:
/* remove the display number from factory->priv->used_display_numbers
so that it may be reused */
- g_hash_table_remove (factory->priv->used_display_numbers, GUINT_TO_POINTER (num));
+ if (num != -1) {
+ g_hash_table_remove (factory->priv->used_display_numbers, GUINT_TO_POINTER (num));
+ }
gdm_display_store_remove (store, display);
/* Create a new equivalent display if it was static */