rpms/gnome-settings-daemon/devel add-randr-12.patch, 1.4, 1.5 gnome-settings-daemon.spec, 1.20, 1.21

Soren Sandmann Pedersen (ssp) fedora-extras-commits at redhat.com
Sat Apr 5 16:49:41 UTC 2008


Author: ssp

Update of /cvs/pkgs/rpms/gnome-settings-daemon/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv21446

Modified Files:
	add-randr-12.patch gnome-settings-daemon.spec 
Log Message:
Update randr plugin

add-randr-12.patch:

Index: add-randr-12.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gnome-settings-daemon/devel/add-randr-12.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- add-randr-12.patch	26 Mar 2008 15:13:00 -0000	1.4
+++ add-randr-12.patch	5 Apr 2008 16:49:35 -0000	1.5
@@ -1,6 +1,7 @@
+diff -up gnome-settings-daemon-2.22.1/plugins/xrandr/gsd-xrandr-manager.c.add-randr-12 gnome-settings-daemon-2.22.1/plugins/xrandr/gsd-xrandr-manager.c
 --- gnome-settings-daemon-2.22.1/plugins/xrandr/gsd-xrandr-manager.c.add-randr-12	2008-03-24 17:21:50.000000000 -0400
-+++ gnome-settings-daemon-2.22.1/plugins/xrandr/gsd-xrandr-manager.c	2008-03-24 18:23:32.000000000 -0400
-@@ -35,7 +35,10 @@
++++ gnome-settings-daemon-2.22.1/plugins/xrandr/gsd-xrandr-manager.c	2008-04-05 12:42:41.000000000 -0400
+@@ -35,15 +35,33 @@
  #include <gdk/gdk.h>
  #include <gdk/gdkx.h>
  #include <gtk/gtk.h>
@@ -12,8 +13,9 @@
  
  #ifdef HAVE_RANDR
  #include <X11/extensions/Xrandr.h>
-@@ -44,6 +47,22 @@
- #include "gnome-settings-profile.h"
+ #endif
+ 
+-#include "gnome-settings-profile.h"
  #include "gsd-xrandr-manager.h"
  
 +#define GSD_XRANDR_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSD_TYPE_XRANDR_MANAGER, GsdXrandrManagerPrivate))
@@ -35,7 +37,7 @@
  static void     gsd_xrandr_manager_class_init  (GsdXrandrManagerClass *klass);
  static void     gsd_xrandr_manager_init        (GsdXrandrManager      *xrandr_manager);
  static void     gsd_xrandr_manager_finalize    (GObject             *object);
-@@ -52,252 +71,74 @@ G_DEFINE_TYPE (GsdXrandrManager, gsd_xra
+@@ -52,252 +70,74 @@ G_DEFINE_TYPE (GsdXrandrManager, gsd_xra
  
  static gpointer manager_object = NULL;
  
@@ -94,11 +96,30 @@
 -        if (val == NULL) {
 -                return -1;
 -        }
--
++static Atom
++gnome_randr_xatom (void)
++{
++        return gdk_x11_atom_to_xatom (gnome_randr_atom());
++}
+ 
 -        if (sscanf (val, "%dx%d", &w, &h) != 2) {
 -                g_free (val);
 -                return -1;
--        }
++static GdkFilterReturn
++on_client_message (GdkXEvent  *xevent,
++		   GdkEvent   *event,
++		   gpointer    data)
++{
++        RWScreen *screen = data;
++        XEvent *ev = (XEvent *)xevent;
++        
++        if (ev->type == ClientMessage		&&
++            ev->xclient.message_type == gnome_randr_xatom()) {
++                
++                configuration_apply_stored (screen);
++                
++                return GDK_FILTER_REMOVE;
+         }
 -
 -        g_free (val);
 -
@@ -106,10 +127,9 @@
 -        *height = h;
 -
 -        return i;
-+static Atom
-+gnome_randr_xatom (void)
-+{
-+        return gdk_x11_atom_to_xatom (gnome_randr_atom());
++        
++        /* Pass the event on to GTK+ */
++        return GDK_FILTER_CONTINUE;
  }
  
 -static int
@@ -117,29 +137,31 @@
 -          char        *display,
 -          int          screen)
 +static GdkFilterReturn
-+on_client_message (GdkXEvent  *xevent,
-+                   GdkEvent   *event,
-+                   gpointer    data)
++event_filter (GdkXEvent           *xevent,
++              GdkEvent            *event,
++              gpointer             data)
  {
 -        char   *key;
 -        int     val;
 -        GError *error;
-+        RWScreen *screen = data;
-+        XEvent *ev = (XEvent *)xevent;
++        GsdXrandrManager *manager = data;
++        XEvent *xev = (XEvent *) xevent;
  
 -        key = g_strdup_printf ("%s/%d/rate", display, screen);
 -        error = NULL;
 -        val = gconf_client_get_int (client, key, &error);
 -        g_free (key);
-+        if (ev->type == ClientMessage &&
-+            ev->xclient.message_type == gnome_randr_xatom()) {
++        if (!manager->priv->running)
++                return GDK_FILTER_CONTINUE;
  
 -        if (error == NULL) {
 -                return val;
 -        }
 -
 -        g_error_free (error);
-+                configuration_apply_stored (screen);
++        /* verify we have a key event */
++        if (xev->xany.type != KeyPress && xev->xany.type != KeyRelease)
++                return GDK_FILTER_CONTINUE;
  
 -        return 0;
 -}
@@ -166,21 +188,23 @@
 -                        closest_width = sizes[i].width;
 -                        closest_height = sizes[i].height;
 -                }
-+                return GDK_FILTER_REMOVE;
++        if (xev->xkey.keycode == manager->priv->keycode) {
++                /* FIXME: here we should cycle between valid
++                 * configurations, and save them
++                 */
++                configuration_apply_stored (manager->priv->rw_screen);
++                
++                return GDK_FILTER_CONTINUE;
          }
  
 -        return closest;
-+        /* Pass the event on to GTK+ */
 +        return GDK_FILTER_CONTINUE;
  }
 -#endif /* HAVE_RANDR */
  
--static void
+ static void
 -apply_settings (GsdXrandrManager *manager)
-+static GdkFilterReturn
-+event_filter (GdkXEvent           *xevent,
-+              GdkEvent            *event,
-+              gpointer             data)
++on_randr_event (RWScreen *screen, gpointer data)
  {
 -#ifdef HAVE_RANDR
 -        GdkDisplay  *display;
@@ -222,13 +246,9 @@
 -                g_message ("Display has unsupported version of XRandR (%d.%d), not setting resolution.", major, minor);
 -                goto out;
 -        }
-+        GsdXrandrManager *manager = data;
-+        XEvent *xev = (XEvent *) xevent;
- 
+-
 -        client = gconf_client_get_default ();
-+        if (!manager->priv->running)
-+                return GDK_FILTER_CONTINUE;
- 
+-
 -        i = 0;
 -        specific_path = NULL;
 -        if (gethostname (hostname, sizeof (hostname)) == 0) {
@@ -237,10 +257,7 @@
 -        }
 -        keys[i++] = "/desktop/gnome/screen/default";
 -        keys[i++] = NULL;
-+        /* verify we have a key event */
-+        if (xev->xany.type != KeyPress && xev->xany.type != KeyRelease)
-+                return GDK_FILTER_CONTINUE;
- 
+-
 -        n_screens = gdk_display_get_n_screens (display);
 -        for (i = 0; i < n_screens; i++) {
 -                screen = gdk_display_get_screen (display, i);
@@ -295,85 +312,86 @@
 -                                                                    rate,
 -                                                                    GDK_CURRENT_TIME);
 -                        }
-+        if (xev->xkey.keycode == manager->priv->keycode) {
-+                /* FIXME: here we should cycle between valid
-+                 * configurations, and save them
-+                 */
-+                configuration_apply_stored (manager->priv->rw_screen);
- 
+-
 -                        XRRFreeScreenConfigInfo (config);
 -                }
-+                return GDK_FILTER_CONTINUE;
-         }
+-        }
++        GsdXrandrManager *manager = data;
  
 -        g_free (specific_path);
 -
 -        /* We need to make sure we process the screen resize event. */
 -        gdk_display_sync (display);
-+        return GDK_FILTER_CONTINUE;
-+}
- 
+-
 -        while (gtk_events_pending ()) {
 -                gtk_main_iteration ();
 -        }
-+static void
-+on_randr_event (RWScreen *screen, gpointer data)
-+{
-+        GsdXrandrManager *manager = data;
- 
+-
 -        if (client != NULL) {
 -                g_object_unref (client);
 -        }
 - out:
 -        gnome_settings_profile_end (NULL);
+-
+-#endif /* HAVE_RANDR */
 +        if (!manager->priv->running)
 +                return;
- 
--#endif /* HAVE_RANDR */
++        
 +        /* FIXME: Set up any new screens here */
  }
  
  gboolean
-@@ -306,7 +147,24 @@ gsd_xrandr_manager_start (GsdXrandrManag
+@@ -306,8 +146,30 @@ gsd_xrandr_manager_start (GsdXrandrManag
  {
          g_debug ("Starting xrandr manager");
  
 -        apply_settings (manager);
+-
 +        manager->priv->running = TRUE;
-+
++        
 +        if (manager->priv->keycode) {
++                gdk_error_trap_push ();
++                
 +                XGrabKey (gdk_x11_get_default_xdisplay(),
 +                          manager->priv->keycode, AnyModifier,
 +                          gdk_x11_get_default_root_xwindow(),
 +                          True, GrabModeAsync, GrabModeAsync);
-+        }
 +
++                gdk_flush ();
++                gdk_error_trap_pop ();
++        }
++        
 +        configuration_apply_stored (manager->priv->rw_screen);
-+
++        
 +        gdk_window_add_filter (gdk_get_default_root_window(),
 +                               (GdkFilterFunc)event_filter,
 +                               manager);
-+
++        
 +        gdk_add_client_message_filter (gnome_randr_atom(),
 +                                       on_client_message,
 +                                       manager->priv->rw_screen);
- 
++        
          return TRUE;
  }
-@@ -315,6 +173,12 @@ void
+ 
+@@ -315,6 +177,16 @@ void
  gsd_xrandr_manager_stop (GsdXrandrManager *manager)
  {
          g_debug ("Stopping xrandr manager");
 +
 +        manager->priv->running = FALSE;
-+
++        
++        gdk_error_trap_push ();
++        
 +        XUngrabKey (gdk_x11_get_default_xdisplay(),
 +                    manager->priv->keycode, AnyModifier,
 +                    gdk_x11_get_default_root_xwindow());
++
++        gdk_error_trap_pop ();
  }
  
  static void
-@@ -388,11 +252,22 @@ gsd_xrandr_manager_class_init (GsdXrandr
+@@ -388,11 +260,22 @@ gsd_xrandr_manager_class_init (GsdXrandr
          object_class->constructor = gsd_xrandr_manager_constructor;
          object_class->dispose = gsd_xrandr_manager_dispose;
          object_class->finalize = gsd_xrandr_manager_finalize;
@@ -387,7 +405,7 @@
 +        Display *dpy = gdk_x11_get_default_xdisplay ();
 +        guint keyval = gdk_keyval_from_name (VIDEO_KEYSYM);
 +        guint keycode = XKeysymToKeycode (dpy, keyval);
-+
++        
 +        manager->priv = GSD_XRANDR_MANAGER_GET_PRIVATE (manager);
 +
 +        manager->priv->keycode = keycode;
@@ -396,7 +414,7 @@
  }
  
  static void
-@@ -405,6 +280,8 @@ gsd_xrandr_manager_finalize (GObject *ob
+@@ -405,6 +288,8 @@ gsd_xrandr_manager_finalize (GObject *ob
  
          xrandr_manager = GSD_XRANDR_MANAGER (object);
  


Index: gnome-settings-daemon.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gnome-settings-daemon/devel/gnome-settings-daemon.spec,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- gnome-settings-daemon.spec	31 Mar 2008 15:07:22 -0000	1.20
+++ gnome-settings-daemon.spec	5 Apr 2008 16:49:35 -0000	1.21
@@ -1,6 +1,6 @@
 Name:		gnome-settings-daemon
 Version:	2.22.1
-Release:	0.2008.03.26.4%{?dist}
+Release:	0.2008.03.26.5%{?dist}
 Summary:	The daemon sharing settings from GNOME to GTK+/KDE applications
 
 Group:		System Environment/Daemons
@@ -140,6 +140,9 @@
 %{_libdir}/pkgconfig/gnome-settings-daemon.pc
 
 %changelog
+* Sat Apr 5 2008 - Soren Sandmann <sandmann at redhat.com> - 2.22.1-2008.03.26.5
+- Update randr plugin
+
 * Mon Mar 31 2008 - Ray Strode <rstrode at redhat.com> - 2.22.1-0.2008.03.26.4
 - Over the releases we've accumulated default.png, default-wide.png default-5_4.png
   and default.jpg.  We haven't been able to drop them because it would leave some




More information about the fedora-extras-commits mailing list