diff options
Diffstat (limited to 'src/compositor/meta-compositor.c')
-rw-r--r-- | src/compositor/meta-compositor.c | 76 |
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) { |