[mutter] monitor-manager: Move configuration paths behind 'legacy' functions
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] monitor-manager: Move configuration paths behind 'legacy' functions
- Date: Wed, 25 Jan 2017 08:36:00 +0000 (UTC)
commit b59a8b1de36784e8dd50b5047531e8b9fb438dd8
Author: Jonas Ådahl <jadahl gmail com>
Date: Mon Dec 19 15:22:07 2016 +0800
monitor-manager: Move configuration paths behind 'legacy' functions
In preparation of replacing the configuration system with one working
with high level monitors instead of low level outputs etc, move
configuarion handling code into obviously named function (containing
the word 'legacy'.
https://bugzilla.gnome.org/show_bug.cgi?id=777732
src/backends/meta-monitor-manager-private.h | 2 +-
src/backends/meta-monitor-manager.c | 65 ++++++++++++++++++--------
2 files changed, 46 insertions(+), 21 deletions(-)
---
diff --git a/src/backends/meta-monitor-manager-private.h b/src/backends/meta-monitor-manager-private.h
index 641071e..92cc156 100644
--- a/src/backends/meta-monitor-manager-private.h
+++ b/src/backends/meta-monitor-manager-private.h
@@ -276,7 +276,7 @@ struct _MetaMonitorManager
int dbus_name_id;
int persistent_timeout_id;
- MetaMonitorConfig *config;
+ MetaMonitorConfig *legacy_config;
GnomePnpIds *pnp_ids;
};
diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c
index 12854ad..33bd7fd 100644
--- a/src/backends/meta-monitor-manager.c
+++ b/src/backends/meta-monitor-manager.c
@@ -201,6 +201,13 @@ power_save_mode_changed (MetaMonitorManager *manager,
}
static void
+legacy_ensure_configured (MetaMonitorManager *manager)
+{
+ if (!meta_monitor_config_apply_stored (manager->legacy_config, manager))
+ meta_monitor_config_make_default (manager->legacy_config, manager);
+}
+
+static void
meta_monitor_manager_constructed (GObject *object)
{
MetaMonitorManager *manager = META_MONITOR_MANAGER (object);
@@ -210,12 +217,11 @@ meta_monitor_manager_constructed (GObject *object)
manager->in_init = TRUE;
- manager->config = meta_monitor_config_new ();
+ manager->legacy_config = meta_monitor_config_new ();
meta_monitor_manager_read_current_config (manager);
- if (!meta_monitor_config_apply_stored (manager->config, manager))
- meta_monitor_config_make_default (manager->config, manager);
+ legacy_ensure_configured (manager);
/* Under XRandR, we don't rebuild our data structures until we see
the RRScreenNotify event, but at least at startup we want to have
@@ -670,24 +676,30 @@ meta_monitor_manager_apply_configuration (MetaMonitorManager *manager,
outputs, n_outputs);
}
+static void
+legacy_restore_previous_config (MetaMonitorManager *manager)
+{
+ meta_monitor_config_restore_previous (manager->legacy_config, manager);
+}
+
static gboolean
save_config_timeout (gpointer user_data)
{
MetaMonitorManager *manager = user_data;
- meta_monitor_config_restore_previous (manager->config, manager);
+ legacy_restore_previous_config (manager);
manager->persistent_timeout_id = 0;
return G_SOURCE_REMOVE;
}
static gboolean
-meta_monitor_manager_handle_apply_configuration (MetaDBusDisplayConfig *skeleton,
- GDBusMethodInvocation *invocation,
- guint serial,
- gboolean persistent,
- GVariant *crtcs,
- GVariant *outputs)
+meta_monitor_manager_legacy_handle_apply_configuration (MetaDBusDisplayConfig *skeleton,
+ GDBusMethodInvocation *invocation,
+ guint serial,
+ gboolean persistent,
+ GVariant *crtcs,
+ GVariant *outputs)
{
MetaMonitorManager *manager = META_MONITOR_MANAGER (skeleton);
GVariantIter crtc_iter, output_iter, *nested_outputs;
@@ -904,7 +916,7 @@ meta_monitor_manager_handle_apply_configuration (MetaDBusDisplayConfig *skeleto
appropriate UI. Then wait 20 seconds and if not confirmed, revert the
configuration.
*/
- meta_monitor_config_update_current (manager->config, manager);
+ meta_monitor_config_update_current (manager->legacy_config, manager);
if (persistent)
{
manager->persistent_timeout_id = g_timeout_add_seconds (20, save_config_timeout, manager);
@@ -916,6 +928,16 @@ meta_monitor_manager_handle_apply_configuration (MetaDBusDisplayConfig *skeleto
return TRUE;
}
+static void
+legacy_confirm_configuration (MetaMonitorManager *manager,
+ gboolean confirmed)
+{
+ if (confirmed)
+ meta_monitor_config_make_persistent (manager->legacy_config);
+ else
+ meta_monitor_config_restore_previous (manager->legacy_config, manager);
+}
+
void
meta_monitor_manager_confirm_configuration (MetaMonitorManager *manager,
gboolean ok)
@@ -929,10 +951,7 @@ meta_monitor_manager_confirm_configuration (MetaMonitorManager *manager,
g_source_remove (manager->persistent_timeout_id);
manager->persistent_timeout_id = 0;
- if (ok)
- meta_monitor_config_make_persistent (manager->config);
- else
- meta_monitor_config_restore_previous (manager->config, manager);
+ legacy_confirm_configuration (manager, ok);
}
static gboolean
@@ -1106,7 +1125,7 @@ static void
meta_monitor_manager_display_config_init (MetaDBusDisplayConfigIface *iface)
{
iface->handle_get_resources = meta_monitor_manager_handle_get_resources;
- iface->handle_apply_configuration = meta_monitor_manager_handle_apply_configuration;
+ iface->handle_apply_configuration = meta_monitor_manager_legacy_handle_apply_configuration;
iface->handle_change_backlight = meta_monitor_manager_handle_change_backlight;
iface->handle_get_crtc_gamma = meta_monitor_manager_handle_get_crtc_gamma;
iface->handle_set_crtc_gamma = meta_monitor_manager_handle_set_crtc_gamma;
@@ -1559,8 +1578,8 @@ meta_output_is_laptop (MetaOutput *output)
}
}
-void
-meta_monitor_manager_on_hotplug (MetaMonitorManager *manager)
+static void
+legacy_on_hotplug (MetaMonitorManager *manager)
{
gboolean applied_config = FALSE;
@@ -1570,13 +1589,19 @@ meta_monitor_manager_on_hotplug (MetaMonitorManager *manager)
*/
if (!meta_monitor_manager_has_hotplug_mode_update (manager))
{
- if (meta_monitor_config_apply_stored (manager->config, manager))
+ if (meta_monitor_config_apply_stored (manager->legacy_config, manager))
applied_config = TRUE;
}
/* If we haven't applied any configuration, apply the default configuration. */
if (!applied_config)
- meta_monitor_config_make_default (manager->config, manager);
+ meta_monitor_config_make_default (manager->legacy_config, manager);
+}
+
+void
+meta_monitor_manager_on_hotplug (MetaMonitorManager *manager)
+{
+ legacy_on_hotplug (manager);
}
static gboolean
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]