diff options
Diffstat (limited to 'src/backends/native/meta-monitor-manager-kms.c')
-rw-r--r-- | src/backends/native/meta-monitor-manager-kms.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/backends/native/meta-monitor-manager-kms.c b/src/backends/native/meta-monitor-manager-kms.c index c9a3cabe2..9a0364441 100644 --- a/src/backends/native/meta-monitor-manager-kms.c +++ b/src/backends/native/meta-monitor-manager-kms.c @@ -109,6 +109,21 @@ meta_monitor_manager_kms_read_edid (MetaMonitorManager *manager, } static void +meta_monitor_manager_kms_read_current_state (MetaMonitorManager *manager) +{ + MetaMonitorManagerClass *parent_class = + META_MONITOR_MANAGER_CLASS (meta_monitor_manager_kms_parent_class); + MetaPowerSave power_save_mode; + + power_save_mode = meta_monitor_manager_get_power_save_mode (manager); + if (power_save_mode != META_POWER_SAVE_ON) + meta_monitor_manager_power_save_mode_changed (manager, + META_POWER_SAVE_ON); + + parent_class->read_current_state (manager); +} + +static void meta_monitor_manager_kms_set_power_save_mode (MetaMonitorManager *manager, MetaPowerSave mode) { @@ -755,6 +770,7 @@ meta_monitor_manager_kms_class_init (MetaMonitorManagerKmsClass *klass) object_class->dispose = meta_monitor_manager_kms_dispose; manager_class->read_edid = meta_monitor_manager_kms_read_edid; + manager_class->read_current_state = meta_monitor_manager_kms_read_current_state; manager_class->ensure_initial_config = meta_monitor_manager_kms_ensure_initial_config; manager_class->apply_monitors_config = meta_monitor_manager_kms_apply_monitors_config; manager_class->set_power_save_mode = meta_monitor_manager_kms_set_power_save_mode; |