[mutter/wip/wayland-kms: 37/39] Merge tag 'xrandr_branch_point' into wayland-kms-base



commit 91dde26aa6138d8ab0dfabd3db46d49c17d3b5a3
Merge: 70ee408 9bd366f
Author: Giovanni Campagna <gcampagn redhat com>
Date:   Fri Aug 23 18:06:43 2013 +0200

    Merge tag 'xrandr_branch_point' into wayland-kms-base
    
    Conflicts:
        src/Makefile.am
        src/core/display.c
        src/core/screen-private.h
        src/core/screen.c

 configure.ac                         |    2 +
 po/POTFILES.in                       |    4 +-
 src/Makefile.am                      |   17 +
 src/compositor/meta-plugin-manager.c |   24 +
 src/compositor/meta-plugin-manager.h |    2 +
 src/compositor/meta-plugin.c         |   11 +
 src/compositor/plugins/default.c     |   86 ++
 src/core/display.c                   |   33 +-
 src/core/edid-parse.c                |  539 +++++++++++
 src/core/edid.h                      |  195 ++++
 src/core/keybindings.c               |   17 +
 src/core/meta-xrandr-shared.h        |   40 +
 src/core/monitor-config.c            | 1769 ++++++++++++++++++++++++++++++++++
 src/core/monitor-private.h           |  390 ++++++++
 src/core/monitor-xrandr.c            | 1039 ++++++++++++++++++++
 src/core/monitor.c                   | 1548 +++++++++++++++++++++++++++++
 src/core/screen-private.h            |   26 +-
 src/core/screen.c                    |  323 ++-----
 src/core/util.c                      |   11 +-
 src/core/window-private.h            |    2 +-
 src/core/window.c                    |   27 +-
 src/meta/atomnames.h                 |    2 +
 src/meta/meta-plugin.h               |   20 +
 src/meta/util.h                      |    3 +-
 src/xrandr.xml                       |  290 ++++++
 25 files changed, 6119 insertions(+), 301 deletions(-)
---
diff --cc src/Makefile.am
index 9b22af9,e7ada99..ce3867a
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@@ -30,20 -29,12 +30,21 @@@ INCLUDES=                                                          
        -DMUTTER_PLUGIN_DIR=\"@MUTTER_PLUGIN_DIR \"                     \
        -DGETTEXT_PACKAGE=\"$(GETTEXT_PACKAGE)\"
  
 -mutter_built_sources = \
 -      $(dbus_xrandr_built_sources)    \
 -      mutter-enum-types.h \
 -      mutter-enum-types.c
 +INCLUDES += \
 +      -I$(srcdir)/wayland                                             \
 +      -I$(builddir)/wayland                                           \
 +      -DXWAYLAND_PATH='"@XWAYLAND_PATH@"'
  
 -libmutter_la_SOURCES =                                \
 +mutter_built_sources = \
 +      $(dbus_idle_built_sources)              \
++      $(dbus_xrandr_built_sources)            \
 +      mutter-enum-types.h                     \
 +      mutter-enum-types.c                     \
 +      wayland/xserver-protocol.c              \
 +      wayland/xserver-server-protocol.h       \
 +      wayland/xserver-client-protocol.h
 +
 +libmutter_wayland_la_SOURCES =                        \
        core/async-getprop.c                    \
        core/async-getprop.h                    \
        core/barrier.c                          \
@@@ -121,10 -113,11 +124,15 @@@
        core/keybindings.c                      \
        core/keybindings-private.h              \
        core/main.c                             \
 +      core/meta-cursor-tracker.c              \
 +      core/meta-cursor-tracker-private.h      \
 +      core/meta-idle-monitor.c                \
 +      core/meta-idle-monitor-private.h        \
+       core/meta-xrandr-shared.h               \
+       core/monitor.c                          \
+       core/monitor-config.c                   \
+       core/monitor-private.h                  \
+       core/monitor-xrandr.c                   \
        core/mutter-Xatomtype.h                 \
        core/place.c                            \
        core/place.h                            \
@@@ -368,22 -332,11 +376,31 @@@ mutter-enum-types.c: stamp-mutter-enum-
        cp xgen-tetc mutter-enum-types.c && \
        rm -f xgen-tetc
  
+ dbus_xrandr_built_sources = meta-dbus-xrandr.c meta-dbus-xrandr.h
+ 
+ $(dbus_xrandr_built_sources) : Makefile.am xrandr.xml
 -      $(AM_V_GEN)gdbus-codegen                                                                \
++      $(AM_V_GEN)gdbus-codegen                                                        \
+               --interface-prefix org.gnome.Mutter                                     \
+               --c-namespace MetaDBus                                                  \
+               --generate-c-code meta-dbus-xrandr                                      \
+               $(srcdir)/xrandr.xml
++
 +dbus_idle_built_sources = meta-dbus-idle-monitor.c meta-dbus-idle-monitor.h
 +
 +$(dbus_idle_built_sources) : Makefile.am idle-monitor.xml
 +      $(AM_V_GEN)gdbus-codegen                                                        \
 +              --interface-prefix org.gnome.Mutter                                     \
 +              --c-namespace MetaDBus                                                  \
 +              --generate-c-code meta-dbus-idle-monitor                                \
 +              --c-generate-object-manager                                             \
 +              $(srcdir)/idle-monitor.xml
 +
 +wayland/%-protocol.c : $(top_builddir)/protocol/%.xml
 +      mkdir -p wayland
 +      $(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@
 +wayland/%-server-protocol.h : $(top_builddir)/protocol/%.xml
 +      mkdir -p wayland
 +      $(AM_V_GEN)$(WAYLAND_SCANNER) server-header < $< > $@
 +wayland/%-client-protocol.h : $(top_builddir)/protocol/%.xml
 +      mkdir -p wayland
 +      $(AM_V_GEN)$(WAYLAND_SCANNER) client-header < $< > $@
diff --cc src/compositor/meta-plugin-manager.c
index 2ae100e,43f9931..fa9fe96
--- a/src/compositor/meta-plugin-manager.c
+++ b/src/compositor/meta-plugin-manager.c
@@@ -317,16 -329,18 +329,28 @@@ meta_plugin_manager_xevent_filter (Meta
     */
    if (klass->xevent_filter)
      return klass->xevent_filter (plugin, xev);
 -  else
 -    return clutter_x11_handle_event (xev) != CLUTTER_X11_FILTER_CONTINUE;
 +
 +  /* When mutter is running as a wayland compositor, things like input
 +   * events just come directly from clutter so it won't have disabled
 +   * clutter's event retrieval and won't need to forward it events (if
 +   * it did it would lead to recursion). Also when running as a
 +   * wayland compositor we shouldn't be assuming that we're running
 +   * with the clutter x11 backend.
 +   */
 +  if (meta_is_wayland_compositor ())
 +    return FALSE;
 +
 +  return clutter_x11_handle_event (xev) != CLUTTER_X11_FILTER_CONTINUE;
  }
+ 
+ void
+ meta_plugin_manager_confirm_display_change (MetaPluginManager *plugin_mgr)
+ {
+   MetaPlugin *plugin = plugin_mgr->plugin;
+   MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin);
+ 
+   if (klass->confirm_display_change)
+     return klass->confirm_display_change (plugin);
+   else
+     return meta_plugin_complete_display_change (plugin, TRUE);
+ }
diff --cc src/core/display.c
index 3f9b13b,64f5511..d62e429
--- a/src/core/display.c
+++ b/src/core/display.c
@@@ -2203,8 -2146,10 +2203,9 @@@ meta_display_handle_event (MetaDisplay 
    gboolean bypass_compositor;
    gboolean filter_out_event;
    XIEvent *input_event;
+   MetaMonitorManager *monitor;
 +  MetaScreen *screen;
  
 -  display = data;
 -  
  #ifdef WITH_VERBOSE_MODE
    if (dump_events)
      meta_spew_event (display, event);
diff --cc src/core/screen-private.h
index 6bb32f1,9e0da8d..8ddf049
--- a/src/core/screen-private.h
+++ b/src/core/screen-private.h
@@@ -258,9 -244,9 +245,14 @@@ void     meta_screen_workspace_switche
  
  void meta_screen_set_active_workspace_hint (MetaScreen *screen);
  
 +Window   meta_screen_create_guard_window (Display *xdisplay, MetaScreen *screen);
 +
 +gboolean meta_screen_handle_xevent (MetaScreen *screen,
 +                                    XEvent     *xevent);
 +
+ int meta_screen_xinerama_index_to_monitor_index (MetaScreen *screen,
+                                                  int         index);
+ int meta_screen_monitor_index_to_xinerama_index (MetaScreen *screen,
+                                                  int         index);
+ 
  #endif
diff --cc src/core/screen.c
index eb3d526,1c643dc..b8870da
--- a/src/core/screen.c
+++ b/src/core/screen.c
@@@ -673,7 -510,7 +515,8 @@@ meta_screen_new (MetaDisplay *display
    char buf[128];
    guint32 manager_timestamp;
    gulong current_workspace;
 +  MetaWaylandCompositor *compositor;
+   MetaMonitorManager *manager;
    
    replace_current_wm = meta_get_replace_current_wm ();
    
@@@ -869,13 -704,8 +710,9 @@@
    screen->compositor_data = NULL;
    screen->guard_window = None;
  
-   screen->monitor_infos = NULL;
-   screen->n_monitor_infos = 0;
-   screen->last_monitor_index = 0;  
-   
    reload_monitor_infos (screen);
 -  
 +
 +  meta_cursor_tracker_get_for_screen (screen);
    meta_screen_set_cursor (screen, META_CURSOR_DEFAULT);
  
    /* Handle creating a no_focus_window for this screen */  


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]