[mutter/wip/native-hotplug: 1/4] monitor-manager-xrandr: Refactor handle_xevent once more
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wip/native-hotplug: 1/4] monitor-manager-xrandr: Refactor handle_xevent once more
- Date: Sun, 12 Oct 2014 23:16:12 +0000 (UTC)
commit 3e67bbeb7c81f8f3d87d44327beff811ca6d139a
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Sun Oct 12 13:29:25 2014 -0700
monitor-manager-xrandr: Refactor handle_xevent once more
Make the flow a bit clearer, and inline a method only used once.
src/backends/x11/meta-monitor-manager-xrandr.c | 18 ++++++------------
1 files changed, 6 insertions(+), 12 deletions(-)
---
diff --git a/src/backends/x11/meta-monitor-manager-xrandr.c b/src/backends/x11/meta-monitor-manager-xrandr.c
index 9555007..6369286 100644
--- a/src/backends/x11/meta-monitor-manager-xrandr.c
+++ b/src/backends/x11/meta-monitor-manager-xrandr.c
@@ -1002,16 +1002,6 @@ meta_monitor_manager_xrandr_set_crtc_gamma (MetaMonitorManager *manager,
}
static void
-meta_monitor_manager_xrandr_rebuild_derived (MetaMonitorManager *manager)
-{
- /* This will be a no-op if the change was from our side, as
- we already called it in the DBus method handler */
- meta_monitor_config_update_current (manager->config, manager);
-
- meta_monitor_manager_rebuild_derived (manager);
-}
-
-static void
meta_monitor_manager_xrandr_init (MetaMonitorManagerXrandr *manager_xrandr)
{
MetaBackendX11 *backend = META_BACKEND_X11 (meta_get_backend ());
@@ -1092,14 +1082,18 @@ meta_monitor_manager_xrandr_handle_xevent (MetaMonitorManagerXrandr *manager_xra
manager->serial++;
meta_monitor_manager_xrandr_read_current (manager);
+ /* If this config matches our existing one, don't bother doing anything. */
+ if (meta_monitor_config_match_current (manager->config, manager))
+ goto out;
+
new_config = manager_xrandr->resources->timestamp >= manager_xrandr->resources->configTimestamp;
/* If this is the X server telling us we set a new configuration,
* we can simply short-cut to rebuilding our logical configuration.
*/
- if (new_config || meta_monitor_config_match_current (manager->config, manager))
+ if (new_config)
{
- meta_monitor_manager_xrandr_rebuild_derived (manager);
+ meta_monitor_manager_rebuild_derived (manager);
goto out;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]