summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2015-02-04 10:28:38 -0500
committerRay Strode <rstrode@redhat.com>2015-02-17 12:59:15 -0500
commit8a83e7cfaeedd894beb6c572a9106b35829ad32f (patch)
tree9c47541ee02e1d457a96193fd9b9b214d2438145
parent43807f65ea7524e76e66b54becb21164502cde1d (diff)
downloadgdm-8a83e7cfaeedd894beb6c572a9106b35829ad32f.tar.gz
display: add back manage vfunc
This function will be overridden by GdmLocalDisplay to start the X server.
-rw-r--r--daemon/gdm-display.c11
-rw-r--r--daemon/gdm-display.h3
2 files changed, 12 insertions, 2 deletions
diff --git a/daemon/gdm-display.c b/daemon/gdm-display.c
index d7aa5a65..f479edc5 100644
--- a/daemon/gdm-display.c
+++ b/daemon/gdm-display.c
@@ -626,6 +626,12 @@ on_slave_started (GdmSlave *slave,
_gdm_display_set_status (self, GDM_DISPLAY_MANAGED);
}
+static void
+gdm_display_real_manage (GdmDisplay *self)
+{
+ gdm_slave_start (self->priv->slave);
+}
+
static gboolean
gdm_display_real_prepare (GdmDisplay *self)
{
@@ -674,7 +680,9 @@ on_list_cached_users_complete (GObject *proxy,
g_variant_unref (call_result);
}
- gdm_slave_start (self->priv->slave);
+ if (GDM_DISPLAY_GET_CLASS (self)->manage != NULL) {
+ GDM_DISPLAY_GET_CLASS (self)->manage (self);
+ }
}
static void
@@ -1381,6 +1389,7 @@ gdm_display_class_init (GdmDisplayClass *klass)
object_class->finalize = gdm_display_finalize;
klass->prepare = gdm_display_real_prepare;
+ klass->manage = gdm_display_real_manage;
g_object_class_install_property (object_class,
PROP_ID,
diff --git a/daemon/gdm-display.h b/daemon/gdm-display.h
index 39976b9d..b3685ee7 100644
--- a/daemon/gdm-display.h
+++ b/daemon/gdm-display.h
@@ -56,7 +56,8 @@ typedef struct
GObjectClass parent_class;
/* methods */
- gboolean (*prepare) (GdmDisplay *display);
+ gboolean (*prepare) (GdmDisplay *display);
+ void (*manage) (GdmDisplay *self);
} GdmDisplayClass;
typedef enum