diff --git a/js/ui/kbdA11yDialog.js b/js/ui/kbdA11yDialog.js index 2b054f7c5..4cf7923ec 100644 --- a/js/ui/kbdA11yDialog.js +++ b/js/ui/kbdA11yDialog.js @@ -17,7 +17,7 @@ class KbdA11yDialog extends GObject.Object { this._a11ySettings = new Gio.Settings({schema_id: KEYBOARD_A11Y_SCHEMA}); - let seat = Clutter.get_default_backend().get_default_seat(); + const seat = global.stage.context.get_backend().get_default_seat(); seat.connect('kbd-a11y-flags-changed', this._showKbdA11yDialog.bind(this)); } diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js index 0a00c49cf..ff239a75e 100644 --- a/js/ui/keyboard.js +++ b/js/ui/keyboard.js @@ -1059,7 +1059,7 @@ export class KeyboardManager extends Signals.EventEmitter { this._a11yApplicationsSettings = new Gio.Settings({schema_id: A11Y_APPLICATIONS_SCHEMA}); this._a11yApplicationsSettings.connect('changed', this._syncEnabled.bind(this)); - this._seat = Clutter.get_default_backend().get_default_seat(); + this._seat = global.stage.context.get_backend().get_default_seat(); this._seat.connect('notify::touch-mode', this._syncEnabled.bind(this)); this._lastDevice = null; @@ -1984,7 +1984,7 @@ class KeyboardController extends Signals.EventEmitter { constructor() { super(); - let seat = Clutter.get_default_backend().get_default_seat(); + let seat = global.stage.context.get_backend().get_default_seat(); this._virtualDevice = seat.create_virtual_device(Clutter.InputDeviceType.KEYBOARD_DEVICE); this._inputSourceManager = InputSourceManager.getInputSourceManager(); diff --git a/js/ui/main.js b/js/ui/main.js index c8de7fc65..2705a4026 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -236,9 +236,9 @@ async function _initializeUI() { screenShield = new ScreenShield.ScreenShield(); inputMethod = new InputMethod.InputMethod(); - Clutter.get_default_backend().set_input_method(inputMethod); + global.stage.context.get_backend().set_input_method(inputMethod); global.connect('shutdown', - () => Clutter.get_default_backend().set_input_method(null)); + () => global.stage.context.get_backend().set_input_method(null)); screenshotUI = new Screenshot.ScreenshotUI(); diff --git a/js/ui/padOsd.js b/js/ui/padOsd.js index 11e4cf690..0ac74a023 100644 --- a/js/ui/padOsd.js +++ b/js/ui/padOsd.js @@ -950,7 +950,7 @@ export class PadOsdService extends Signals.EventEmitter { ShowAsync(params, invocation) { let [deviceNode, editionMode] = params; - let seat = Clutter.get_default_backend().get_default_seat(); + const seat = global.stage.context.get_backend().get_default_seat(); let devices = seat.list_devices(); let padDevice = null; diff --git a/js/ui/pointerA11yTimeout.js b/js/ui/pointerA11yTimeout.js index f61594606..0b2eef506 100644 --- a/js/ui/pointerA11yTimeout.js +++ b/js/ui/pointerA11yTimeout.js @@ -110,7 +110,7 @@ const PieTimer = GObject.registerClass({ export class PointerA11yTimeout { constructor() { - let seat = Clutter.get_default_backend().get_default_seat(); + const seat = global.stage.context.get_backend().get_default_seat(); seat.connect('ptr-a11y-timeout-started', (o, device, type, timeout) => { let [x, y] = global.get_pointer(); diff --git a/src/shell-blur-effect.c b/src/shell-blur-effect.c index c5c5f4688..13842082c 100644 --- a/src/shell-blur-effect.c +++ b/src/shell-blur-effect.c @@ -21,6 +21,7 @@ #include #include "shell-blur-effect.h" +#include "shell-global.h" #include "shell-enum-types.h" @@ -107,8 +108,13 @@ create_base_pipeline (void) if (G_UNLIKELY (base_pipeline == NULL)) { - CoglContext *ctx = - clutter_backend_get_cogl_context (clutter_get_default_backend ()); + ShellGlobal *global = shell_global_get (); + ClutterStage *stage = shell_global_get_stage (global); + ClutterContext *clutter_context = + clutter_actor_get_context (CLUTTER_ACTOR (stage)); + ClutterBackend *backend = + clutter_context_get_backend (clutter_context); + CoglContext *ctx = clutter_backend_get_cogl_context (backend); base_pipeline = cogl_pipeline_new (ctx); cogl_pipeline_set_layer_null_texture (base_pipeline, 0); @@ -187,8 +193,13 @@ update_fbo (FramebufferData *data, unsigned int height, float downscale_factor) { - CoglContext *ctx = - clutter_backend_get_cogl_context (clutter_get_default_backend ()); + ShellGlobal *global = shell_global_get (); + ClutterStage *stage = shell_global_get_stage (global); + ClutterContext *clutter_context = + clutter_actor_get_context (CLUTTER_ACTOR (stage)); + ClutterBackend *backend = + clutter_context_get_backend (clutter_context); + CoglContext *ctx = clutter_backend_get_cogl_context (backend); g_clear_object (&data->texture); g_clear_object (&data->framebuffer); diff --git a/src/shell-glsl-effect.c b/src/shell-glsl-effect.c index d81fae3f7..ab3ef77e7 100644 --- a/src/shell-glsl-effect.c +++ b/src/shell-glsl-effect.c @@ -15,6 +15,8 @@ #include #include "shell-glsl-effect.h" +#include "shell-global.h" + typedef struct _ShellGLSLEffectPrivate ShellGLSLEffectPrivate; struct _ShellGLSLEffectPrivate { @@ -104,8 +106,6 @@ shell_glsl_effect_constructed (GObject *object) ShellGLSLEffect *self; ShellGLSLEffectClass *klass; ShellGLSLEffectPrivate *priv; - CoglContext *ctx = - clutter_backend_get_cogl_context (clutter_get_default_backend ()); G_OBJECT_CLASS (shell_glsl_effect_parent_class)->constructed (object); @@ -119,6 +119,14 @@ shell_glsl_effect_constructed (GObject *object) if (G_UNLIKELY (klass->base_pipeline == NULL)) { + ShellGlobal *global = shell_global_get (); + ClutterStage *stage = shell_global_get_stage (global); + ClutterContext *clutter_context = + clutter_actor_get_context (CLUTTER_ACTOR (stage)); + ClutterBackend *backend = + clutter_context_get_backend (clutter_context); + CoglContext *ctx = clutter_backend_get_cogl_context (backend); + klass->base_pipeline = cogl_pipeline_new (ctx); cogl_pipeline_set_blend (klass->base_pipeline, "RGB = ADD (SRC_COLOR * (SRC_COLOR[A]), DST_COLOR * (1-SRC_COLOR[A]))", NULL); diff --git a/src/shell-invert-lightness-effect.c b/src/shell-invert-lightness-effect.c index dcc73241b..4231ae41b 100644 --- a/src/shell-invert-lightness-effect.c +++ b/src/shell-invert-lightness-effect.c @@ -116,7 +116,13 @@ shell_invert_lightness_effect_init (ShellInvertLightnessEffect *self) if (G_UNLIKELY (klass->base_pipeline == NULL)) { CoglSnippet *snippet; - CoglContext *ctx = clutter_backend_get_cogl_context (clutter_get_default_backend ()); + ShellGlobal *global = shell_global_get (); + ClutterStage *stage = shell_global_get_stage (global); + ClutterContext *clutter_context = + clutter_actor_get_context (CLUTTER_ACTOR (stage)); + ClutterBackend *backend = + clutter_context_get_backend (clutter_context); + CoglContext *ctx = clutter_backend_get_cogl_context (backend); klass->base_pipeline = cogl_pipeline_new (ctx); diff --git a/tests/shell/closeWithActiveWindows.js b/tests/shell/closeWithActiveWindows.js index ab2999241..d0adffad0 100644 --- a/tests/shell/closeWithActiveWindows.js +++ b/tests/shell/closeWithActiveWindows.js @@ -12,7 +12,7 @@ export async function run() { /* Make created windows remain visible during exit. */ await Scripting.disableHelperAutoExit(); - const seat = Clutter.get_default_backend().get_default_seat(); + const seat = global.stage.context.get_backend().get_default_seat(); const virtualDevice_ = seat.create_virtual_device(Clutter.InputDeviceType.KEYBOARD_DEVICE);