backends: Move clutter frame clock freeze/thaw API to ClutterSTage

It had nothing to do with EGL or the eglnative backend, and will be used
by non-native backends, so move it to a common place.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/170
This commit is contained in:
Jonas Ådahl
2018-07-12 15:01:55 +02:00
parent 9adf8826d2
commit 213ed80284
5 changed files with 68 additions and 66 deletions

View File

@ -44,8 +44,6 @@
#include "backends/native/meta-renderer-native.h"
#include "backends/native/meta-stage-native.h"
#include "clutter/evdev/clutter-evdev.h"
#include "clutter/egl/clutter-egl.h"
#include "clutter/evdev/clutter-evdev.h"
#include "core/meta-border.h"
#include "meta/main.h"
@ -625,13 +623,14 @@ void
meta_backend_native_pause (MetaBackendNative *native)
{
MetaBackend *backend = META_BACKEND (native);
ClutterStage *stage = CLUTTER_STAGE (meta_backend_get_stage (backend));
MetaMonitorManager *monitor_manager =
meta_backend_get_monitor_manager (backend);
MetaMonitorManagerKms *monitor_manager_kms =
META_MONITOR_MANAGER_KMS (monitor_manager);
clutter_evdev_release_devices ();
clutter_egl_freeze_master_clock ();
clutter_stage_freeze_updates (stage);
meta_monitor_manager_kms_pause (monitor_manager_kms);
}
@ -639,20 +638,19 @@ meta_backend_native_pause (MetaBackendNative *native)
void meta_backend_native_resume (MetaBackendNative *native)
{
MetaBackend *backend = META_BACKEND (native);
ClutterStage *stage = CLUTTER_STAGE (meta_backend_get_stage (backend));
MetaMonitorManager *monitor_manager =
meta_backend_get_monitor_manager (backend);
MetaMonitorManagerKms *monitor_manager_kms =
META_MONITOR_MANAGER_KMS (monitor_manager);
ClutterActor *stage;
MetaIdleMonitor *idle_monitor;
meta_monitor_manager_kms_resume (monitor_manager_kms);
clutter_evdev_reclaim_devices ();
clutter_egl_thaw_master_clock ();
clutter_stage_thaw_updates (stage);
stage = meta_backend_get_stage (backend);
clutter_actor_queue_redraw (stage);
clutter_actor_queue_redraw (CLUTTER_ACTOR (stage));
idle_monitor = meta_backend_get_idle_monitor (backend, 0);
meta_idle_monitor_reset_idletime (idle_monitor);