summaryrefslogtreecommitdiff
path: root/src/compositor/meta-compositor.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/compositor/meta-compositor.c')
-rw-r--r--src/compositor/meta-compositor.c76
1 files changed, 35 insertions, 41 deletions
diff --git a/src/compositor/meta-compositor.c b/src/compositor/meta-compositor.c
index 7a2f23fd..a83c3ae7 100644
--- a/src/compositor/meta-compositor.c
+++ b/src/compositor/meta-compositor.c
@@ -83,41 +83,6 @@ redraw_idle_cb (gpointer user_data)
}
static gboolean
-check_common_extensions (MetaCompositor *compositor,
- GError **error)
-{
- MetaCompositorPrivate *priv;
-
- priv = meta_compositor_get_instance_private (compositor);
-
- if (!priv->display->have_composite)
- {
- g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
- "Missing composite extension required for compositing");
-
- return FALSE;
- }
-
- if (!priv->display->have_damage)
- {
- g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
- "Missing damage extension required for compositing");
-
- return FALSE;
- }
-
- if (!priv->display->have_xfixes)
- {
- g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
- "Missing xfixes extension required for compositing");
-
- return FALSE;
- }
-
- return TRUE;
-}
-
-static gboolean
meta_compositor_initable_init (GInitable *initable,
GCancellable *cancellable,
GError **error)
@@ -128,12 +93,6 @@ meta_compositor_initable_init (GInitable *initable,
compositor = META_COMPOSITOR (initable);
compositor_class = META_COMPOSITOR_GET_CLASS (compositor);
- if (!META_IS_COMPOSITOR_NONE (compositor))
- {
- if (!check_common_extensions (compositor, error))
- return FALSE;
- }
-
return compositor_class->manage (compositor, error);
}
@@ -508,6 +467,41 @@ meta_compositor_is_composited (MetaCompositor *compositor)
}
gboolean
+meta_compositor_check_common_extensions (MetaCompositor *compositor,
+ GError **error)
+{
+ MetaCompositorPrivate *priv;
+
+ priv = meta_compositor_get_instance_private (compositor);
+
+ if (!priv->display->have_composite)
+ {
+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
+ "Missing composite extension required for compositing");
+
+ return FALSE;
+ }
+
+ if (!priv->display->have_damage)
+ {
+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
+ "Missing damage extension required for compositing");
+
+ return FALSE;
+ }
+
+ if (!priv->display->have_xfixes)
+ {
+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
+ "Missing xfixes extension required for compositing");
+
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+gboolean
meta_compositor_set_selection (MetaCompositor *compositor,
GError **error)
{