[mutter] monitor-manager-xrandr: Refactor handle_xevent once more



commit 1dbda68839a6c7a2746271ae308528ff8f86a889
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]