[arch-commits] Commit in metacity/repos (4 files)

Jan de Groot jgc at archlinux.org
Mon Oct 12 07:27:58 UTC 2009


    Date: Monday, October 12, 2009 @ 03:27:57
  Author: jgc
Revision: 55133

Merged revisions 55132 via svnmerge from 
svn+ssh://gerolde.archlinux.org/srv/svn-packages/metacity/trunk

........
  r55132 | jgc | 2009-10-12 09:27:31 +0200 (Mon, 12 Oct 2009) | 1 line
  
  Merge gnome-unstable
........

Added:
  metacity/repos/extra-i686/metacity-restartstyle.patch
    (from rev 55132, metacity/trunk/metacity-restartstyle.patch)
Modified:
  metacity/repos/extra-i686/	(properties)
  metacity/repos/extra-i686/PKGBUILD
Deleted:
  metacity/repos/extra-i686/bug572573.patch

-----------------------------+
 PKGBUILD                    |   16 ++--
 bug572573.patch             |  124 -------------------------------------
 metacity-restartstyle.patch |  139 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 147 insertions(+), 132 deletions(-)


Property changes on: metacity/repos/extra-i686
___________________________________________________________________
Modified: svnmerge-integrated
   - /metacity/trunk:1-49725
   + /metacity/trunk:1-55132

Modified: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD	2009-10-12 07:27:31 UTC (rev 55132)
+++ extra-i686/PKGBUILD	2009-10-12 07:27:57 UTC (rev 55133)
@@ -2,25 +2,25 @@
 # Maintainer: Jan de Groot <jgc at archlinux.org>
 
 pkgname=metacity
-pkgver=2.26.0
+pkgver=2.28.0
 pkgrel=2
 pkgdesc="A window manager for GNOME2"
 arch=(i686 x86_64)
 license=('GPL')
-depends=('startup-notification>=0.10' 'gconf>=2.26.1' 'zenity>=2.26.0')
-makedepends=('intltool' 'pkgconfig' 'gnome-doc-utils>=0.16.0')
+depends=('startup-notification>=0.10' 'gconf>=2.28.0' 'zenity>=2.28.0' 'libcanberra>=0.14' 'libgtop>=2.28.0')
+makedepends=('intltool' 'pkgconfig' 'gnome-doc-utils>=0.18.0')
 url="http://www.gnome.org"
 groups=('gnome')
 options=('!libtool' '!emptydirs')
 install=metacity.install
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.26/${pkgname}-${pkgver}.tar.bz2
-        bug572573.patch)
-md5sums=('eafb624e79fbcdab6da59acc222430b1'
-         '3a1608a716cc7af24a4b5cc323c169ea')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.28/${pkgname}-${pkgver}.tar.bz2
+        metacity-restartstyle.patch)
+sha256sums=('0621553a6f21fcf40c5dc4c7907b5745c6d853e6b7637bb45b863ec39f595545'
+            '3a7e484ec2eb97e7b7f1baaa33e5d925e67a35c84e49c5abe6c32cf2c25f16eb')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
-  patch -Np1 -i "${srcdir}/bug572573.patch" || return 1
+  patch -Np1 -i "${srcdir}/metacity-restartstyle.patch" || return 1
   ./configure --prefix=/usr --sysconfdir=/etc \
       --libexecdir=/usr/lib/metacity \
       --localstatedir=/var --disable-static || return 1

Deleted: extra-i686/bug572573.patch
===================================================================
--- extra-i686/bug572573.patch	2009-10-12 07:27:31 UTC (rev 55132)
+++ extra-i686/bug572573.patch	2009-10-12 07:27:57 UTC (rev 55133)
@@ -1,124 +0,0 @@
-From 178b5ff626d747026fc9d03c7908c3f203fbd263 Mon Sep 17 00:00:00 2001
-From: Thomas James Alexander Thurman <tthurman at src.gnome.org>
-Date: Thu, 12 Mar 2009 01:09:41 +0000
-Subject: fix problem where the previous code ignored callbacks for properties whose
-
-	* src/core/window-props.c: fix problem where the previous
-        code ignored callbacks for properties whose values weren't
-        looked up.  Closes #572573.
-
-
-svn path=/trunk/; revision=4191
----
-diff --git a/src/core/window-props.c b/src/core/window-props.c
-index 02b8845..df90eaa 100644
---- a/src/core/window-props.c
-+++ b/src/core/window-props.c
-@@ -73,12 +73,6 @@ typedef struct MetaWindowPropHooks
-   ReloadValueFunc   reload_func;
- } MetaWindowPropHooks;
- 
--static void init_prop_value            (MetaDisplay   *display,
--                                        Atom           property,
--                                        MetaPropValue *value);
--static void reload_prop_value          (MetaWindow    *window,
--                                        MetaPropValue *value,
--                                        gboolean       initial);
- static MetaWindowPropHooks* find_hooks (MetaDisplay *display,
-                                         Atom         property);
- 
-@@ -128,23 +122,34 @@ meta_window_reload_properties_from_xwindow (MetaWindow *window,
-   g_return_if_fail (n_properties > 0);
-   
-   values = g_new0 (MetaPropValue, n_properties);
--  
--  i = 0;
--  while (i < n_properties)
-+
-+  for (i=0; i<n_properties; i++)
-     {
--      init_prop_value (window->display, properties[i], &values[i]);
--      ++i;
-+      MetaWindowPropHooks *hooks = find_hooks (window->display,
-+                                               properties[i]);
-+    
-+      if (!hooks || hooks->type == META_PROP_VALUE_INVALID)
-+        {
-+          values[i].type = META_PROP_VALUE_INVALID;
-+          values[i].atom = None;
-+        }
-+      else
-+        {
-+          values[i].type = hooks->type;
-+          values[i].atom = properties[i];
-+        }
-     }
-   
-   meta_prop_get_values (window->display, xwindow,
-                         values, n_properties);
- 
--  i = 0;
--  while (i < n_properties)
-+  for (i=0; i<n_properties; i++)
-     {
--      reload_prop_value (window, &values[i], initial);
--      
--      ++i;
-+      MetaWindowPropHooks *hooks = find_hooks (window->display,
-+                                               properties[i]);
-+
-+      if (hooks && hooks->reload_func != NULL)
-+        (* hooks->reload_func) (window, &values[i], initial);
-     }
- 
-   meta_prop_free_values (values, n_properties);
-@@ -152,37 +157,6 @@ meta_window_reload_properties_from_xwindow (MetaWindow *window,
-   g_free (values);
- }
- 
--/* Fill in the MetaPropValue used to get the value of "property" */
--static void
--init_prop_value (MetaDisplay   *display,
--                 Atom           property,
--                 MetaPropValue *value)
--{
--  MetaWindowPropHooks *hooks = find_hooks (display, property);
--    
--  if (!hooks || hooks->type == META_PROP_VALUE_INVALID)
--    {
--      value->type = META_PROP_VALUE_INVALID;
--      value->atom = None;
--    }
--  else
--    {
--      value->type = hooks->type;
--      value->atom = property;
--    }
--}
--
--static void
--reload_prop_value (MetaWindow    *window,
--                   MetaPropValue *value,
--                   gboolean       initial)
--{
--  MetaWindowPropHooks *hooks = find_hooks (window->display, value->atom);
--
--  if (hooks && hooks->reload_func != NULL)
--    (* hooks->reload_func) (window, value, initial);
--}
--
- static void
- reload_wm_client_machine (MetaWindow    *window,
-                           MetaPropValue *value,
-@@ -1566,6 +1540,9 @@ meta_display_free_window_prop_hooks (MetaDisplay *display)
-   display->prop_hooks_table = NULL;
- }
- 
-+/**
-+ * Finds the hooks for a particular property.
-+ */
- static MetaWindowPropHooks*
- find_hooks (MetaDisplay *display,
-             Atom         property)
---
-cgit v0.8.2

Copied: metacity/repos/extra-i686/metacity-restartstyle.patch (from rev 55132, metacity/trunk/metacity-restartstyle.patch)
===================================================================
--- extra-i686/metacity-restartstyle.patch	                        (rev 0)
+++ extra-i686/metacity-restartstyle.patch	2009-10-12 07:27:57 UTC (rev 55133)
@@ -0,0 +1,139 @@
+From a3de65d5d1861f755ced7cad291fbbd4f1b8ef51 Mon Sep 17 00:00:00 2001
+From: Owen W. Taylor <otaylor at fishsoup.net>
+Date: Sat, 22 Aug 2009 15:00:57 -0400
+Subject: [PATCH] Should set RestartStyleHint to RestartIfRunning when replaced
+
+This reverts most of commit abbd057eb967e6ab462ffe305f41b2b04d417b25;
+
+ - It's fine to call meta_session_shutdown() after the display
+   is closed, since it's talking over the ICE connection
+ - We should not call warn_about_lame_clients_and_finish_interact()
+   unless we are interacting with the window manager in a session
+   save.
+
+However, the part of abbd057 that fixed accessing freed memory was
+fixing a real problem; this patches does the same thing in a simpler
+way by fixing an obvious type in meta_display_close() where it was
+NULL'ing out the local variable 'display' rather than the global
+variable 'the_display' and adding keeping the check in meta_finalize()
+that was added in abbd057.
+
+The order of calling meta_session_shutdown() and
+calling meta_display_close() is reverted back to the old order to
+make it clear that it's OK if the display way already closed previously.
+
+http://bugzilla.gnome.org/show_bug.cgi?id=588119
+---
+ src/core/display-private.h |    2 +-
+ src/core/display.c         |   16 ++++------------
+ src/core/main.c            |    5 ++---
+ src/core/session.c         |    8 --------
+ 4 files changed, 7 insertions(+), 24 deletions(-)
+
+diff --git a/src/core/display-private.h b/src/core/display-private.h
+index 19287f3..9c8ebc6 100644
+--- a/src/core/display-private.h
++++ b/src/core/display-private.h
+@@ -329,7 +329,7 @@ MetaScreen*   meta_display_screen_for_xwindow  (MetaDisplay *display,
+ void          meta_display_grab                (MetaDisplay *display);
+ void          meta_display_ungrab              (MetaDisplay *display);
+ 
+-void          meta_display_unmanage_screen     (MetaDisplay **display,
++void          meta_display_unmanage_screen     (MetaDisplay *display,
+                                                 MetaScreen  *screen,
+                                                 guint32      timestamp);
+ 
+diff --git a/src/core/display.c b/src/core/display.c
+index 55c374a..8e35a35 100644
+--- a/src/core/display.c
++++ b/src/core/display.c
+@@ -926,7 +926,7 @@ meta_display_close (MetaDisplay *display,
+     meta_compositor_destroy (display->compositor);
+   
+   g_free (display);
+-  display = NULL;
++  the_display = NULL;
+ 
+   meta_quit (META_EXIT_SUCCESS);
+ }
+@@ -4762,13 +4762,10 @@ process_selection_clear (MetaDisplay   *display,
+       meta_verbose ("Got selection clear for screen %d on display %s\n",
+                     screen->number, display->name);
+       
+-      meta_display_unmanage_screen (&display, 
++      meta_display_unmanage_screen (display, 
+                                     screen,
+                                     event->xselectionclear.time);
+ 
+-      if (!display)
+-        the_display = NULL;
+-
+       /* display and screen may both be invalid memory... */
+       
+       return;
+@@ -4790,12 +4787,10 @@ process_selection_clear (MetaDisplay   *display,
+ }
+ 
+ void
+-meta_display_unmanage_screen (MetaDisplay **displayp,
++meta_display_unmanage_screen (MetaDisplay *display,
+                               MetaScreen  *screen,
+                               guint32      timestamp)
+ {
+-  MetaDisplay *display = *displayp;
+-
+   meta_verbose ("Unmanaging screen %d on display %s\n",
+                 screen->number, display->name);
+   
+@@ -4805,10 +4800,7 @@ meta_display_unmanage_screen (MetaDisplay **displayp,
+   display->screens = g_slist_remove (display->screens, screen);
+ 
+   if (display->screens == NULL)
+-    {
+-      meta_display_close (display, timestamp);
+-      *displayp = NULL;
+-    }
++    meta_display_close (display, timestamp);
+ }
+ 
+ void
+diff --git a/src/core/main.c b/src/core/main.c
+index a36a396..44d317e 100644
+--- a/src/core/main.c
++++ b/src/core/main.c
+@@ -361,12 +361,11 @@ static void
+ meta_finalize (void)
+ {
+   MetaDisplay *display = meta_get_display();
+-
+-  meta_session_shutdown ();
+-
+   if (display)
+     meta_display_close (display,
+                         CurrentTime); /* I doubt correct timestamps matter here */
++
++  meta_session_shutdown ();
+ }
+ 
+ static void
+diff --git a/src/core/session.c b/src/core/session.c
+index 7e3b389..0d69350 100644
+--- a/src/core/session.c
++++ b/src/core/session.c
+@@ -376,14 +376,6 @@ meta_session_shutdown (void)
+   SmProp *props[1];
+   char hint = SmRestartIfRunning;
+ 
+-  if (!meta_get_display ())
+-    {
+-      meta_verbose ("Cannot close session because there is no display");
+-      return;
+-    }
+-
+-  warn_about_lame_clients_and_finish_interact (FALSE);
+-
+   if (session_connection == NULL)
+     return;
+   
+-- 
+1.6.4
\ No newline at end of file




More information about the arch-commits mailing list