rpms/sabayon/F-12 sabayon-2.29.2-paneldelegate-race.patch, NONE, 1.1 sabayon.spec, 1.66, 1.67
Tomas Bzatek
tbzatek at fedoraproject.org
Wed Dec 9 12:02:39 UTC 2009
- Previous message (by thread): rpms/sugar-toolkit/F-11 .cvsignore, 1.35, 1.36 sources, 1.39, 1.40 sugar-toolkit.spec, 1.49, 1.50
- Next message (by thread): rpms/pacemaker/F-12 .cvsignore, 1.6, 1.7 pacemaker.spec, 1.8, 1.9 sources, 1.6, 1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: tbzatek
Update of /cvs/extras/rpms/sabayon/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv2320
Modified Files:
sabayon.spec
Added Files:
sabayon-2.29.2-paneldelegate-race.patch
Log Message:
* Wed Dec 9 2009 Tomas Bzatek <tbzatek at redhat.com> - 2.28.1-2
- Fixed race conditions while catching panel events
sabayon-2.29.2-paneldelegate-race.patch:
paneldelegate.py | 142 +++++++++++++++++++++++++++++--------------------------
1 file changed, 75 insertions(+), 67 deletions(-)
--- NEW FILE sabayon-2.29.2-paneldelegate-race.patch ---
>From a6c991fae5dbf5b110b2aec47245e74a700f2347 Mon Sep 17 00:00:00 2001
From: Scott Balneaves <sbalneav at ltsp.org>
Date: Mon, 07 Dec 2009 19:17:08 +0000
Subject: Fixed race conditions in paneldelegate.py at the expense of some nicer log printing
---
diff --git a/lib/sources/paneldelegate.py b/lib/sources/paneldelegate.py
index 8386823..6087f5c 100755
--- a/lib/sources/paneldelegate.py
+++ b/lib/sources/paneldelegate.py
@@ -74,63 +74,69 @@ class PanelAppletAddedChange (PanelChange):
def __init__ (self, source, delegate, id):
PanelChange.__init__ (self, source, delegate, id)
def get_short_description (self):
+ return _("Applet '%s' added" % self.id)
# FIXME: This only works if panel object type is bonobo-applet. Are all applets bonobo-applets ?
- panel_applet = self.delegate.PanelApplet(self.delegate, self.id)
- toplevel_id = panel_applet.toplevel_id
- name = panel_applet.name
-
- panel_toplevel = self.delegate.PanelToplevel(self.delegate, toplevel_id)
- panel_orientation = panel_toplevel.orientation
-
- if panel_orientation == "top":
- return _("Applet %s added to top panel") % name
- elif panel_orientation == "bottom":
- return _("Applet %s added to bottom panel") % name
- elif panel_orientation == "left":
- return _("Applet %s added to left panel") % name
- else:
- return _("Applet %s added to right panel") % name
+ # FIXME: Race condition with the code below.
+ # panel_applet = self.delegate.PanelApplet(self.delegate, self.id)
+ # toplevel_id = panel_applet.toplevel_id
+ # name = panel_applet.name
+
+ # panel_toplevel = self.delegate.PanelToplevel(self.delegate, toplevel_id)
+ # panel_orientation = panel_toplevel.orientation
+
+ # if panel_orientation == "top":
+ # return _("Applet %s added to top panel") % name
+ # elif panel_orientation == "bottom":
+ # return _("Applet %s added to bottom panel") % name
+ # elif panel_orientation == "left":
+ # return _("Applet %s added to left panel") % name
+ # else:
+ # return _("Applet %s added to right panel") % name
class PanelAppletRemovedChange (PanelChange):
def __init__ (self, source, delegate, id):
PanelChange.__init__ (self, source, delegate, id)
def get_short_description (self):
+ return _("Applet '%s' removed" % self.id)
# FIXME: This only works if panel object type is bonobo-applet. Are all applets bonobo-applets ?
- panel_applet = self.delegate.PanelApplet(self.delegate, self.id)
- toplevel_id = panel_applet.toplevel_id
- name = panel_applet.name
-
- panel_toplevel = self.delegate.PanelToplevel(self.delegate, toplevel_id)
- panel_orientation = panel_toplevel.orientation
-
- if panel_orientation == "top":
- return _("Applet %s removed from top panel") % name
- elif panel_orientation == "bottom":
- return _("Applet %s removed from bottom panel") % name
- elif panel_orientation == "left":
- return _("Applet %s removed from left panel") % name
- else:
- return _("Applet %s removed from right panel") % name
+ # FIXME: Race condition with the code below.
+ # panel_applet = self.delegate.PanelApplet(self.delegate, self.id)
+ # toplevel_id = panel_applet.toplevel_id
+ # name = panel_applet.name
+
+ # panel_toplevel = self.delegate.PanelToplevel(self.delegate, toplevel_id)
+ # panel_orientation = panel_toplevel.orientation
+
+ # if panel_orientation == "top":
+ # return _("Applet %s removed from top panel") % name
+ # elif panel_orientation == "bottom":
+ # return _("Applet %s removed from bottom panel") % name
+ # elif panel_orientation == "left":
+ # return _("Applet %s removed from left panel") % name
+ # else:
+ # return _("Applet %s removed from right panel") % name
class PanelObjectAddedChange (PanelChange):
def __init__ (self, source, delegate, id):
PanelChange.__init__ (self, source, delegate, id)
def get_short_description (self):
- panel_object = self.delegate.PanelObject(self.delegate, self.id)
- toplevel_id = panel_object.toplevel_id
- name = panel_object.name
-
- panel_toplevel = self.delegate.PanelToplevel(self.delegate, toplevel_id)
- panel_orientation = panel_toplevel.orientation
-
- if panel_orientation == "top":
- return _("%s added to top panel") % name
- elif panel_orientation == "bottom":
- return _("%s added to bottom panel") % name
- elif panel_orientation == "left":
- return _("%s added to left panel") % name
- else:
- return _("%s added to right panel") % name
+ return _("Object '%s' added" % self.id)
+ # FIXME: Race condition with code below.
+ # panel_object = self.delegate.PanelObject(self.delegate, self.id)
+ # toplevel_id = panel_object.toplevel_id
+ # name = panel_object.name
+
+ # panel_toplevel = self.delegate.PanelToplevel(self.delegate, toplevel_id)
+ # panel_orientation = panel_toplevel.orientation
+
+ # if panel_orientation == "top":
+ # return _("%s added to top panel") % name
+ # elif panel_orientation == "bottom":
+ # return _("%s added to bottom panel") % name
+ # elif panel_orientation == "left":
+ # return _("%s added to left panel") % name
+ # else:
+ # return _("%s added to right panel") % name
def commit_change (self, mandatory):
# Might have to commit a launcher file
@@ -143,21 +149,23 @@ class PanelObjectRemovedChange (PanelChange):
def __init__ (self, source, delegate, id):
PanelChange.__init__ (self, source, delegate, id)
def get_short_description (self):
- panel_object = self.delegate.PanelObject(self.delegate, self.id)
- toplevel_id = panel_object.toplevel_id
- name = panel_object.name
-
- panel_toplevel = self.delegate.PanelToplevel(self.delegate, toplevel_id)
- panel_orientation = panel_toplevel.orientation
-
- if panel_orientation == "top":
- return _("%s removed from top panel") % name
- elif panel_orientation == "bottom":
- return _("%s removed from bottom panel") % name
- elif panel_orientation == "left":
- return _("%s removed from left panel") % name
- else:
- return _("%s removed from right panel") % name
+ return _("Object '%s' removed" % self.id)
+ # FIXME: Race condition with code below.
+ # panel_object = self.delegate.PanelObject(self.delegate, self.id)
+ # toplevel_id = panel_object.toplevel_id
+ # name = panel_object.name
+
+ # panel_toplevel = self.delegate.PanelToplevel(self.delegate, toplevel_id)
+ # panel_orientation = panel_toplevel.orientation
+
+ # if panel_orientation == "top":
+ # return _("%s removed from top panel") % name
+ # elif panel_orientation == "bottom":
+ # return _("%s removed from bottom panel") % name
+ # elif panel_orientation == "left":
+ # return _("%s removed from left panel") % name
+ # else:
+ # return _("%s removed from right panel") % name
def commit_change (self, mandatory):
launcher = self.delegate.get_gconf_client ().get_string (PANEL_KEY_BASE + "/objects/" + self.id + "/launcher_location")
@@ -208,12 +216,13 @@ class PanelDelegate (userprofile.SourceDelegate):
id,
toplevel_key_name, self.toplevel_id,
bonobo_iid_key_name, self.bonobo_iid)
-
- applet = bonobo.activation.query("iid == '" + self.bonobo_iid + "'" )
- for i in applet:
- for prop in i.props:
- if prop.name == "name":
- self.name = prop.v.value_string #FIXME: This probably won't return localised names
+
+ if self.bonobo_iid:
+ applet = bonobo.activation.query("iid == '" + self.bonobo_iid + "'" )
+ for i in applet:
+ for prop in i.props:
+ if prop.name == "name":
+ self.name = prop.v.value_string #FIXME: This probably won't return localised names
--
cgit v0.8.2
Index: sabayon.spec
===================================================================
RCS file: /cvs/extras/rpms/sabayon/F-12/sabayon.spec,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -p -r1.66 -r1.67
--- sabayon.spec 27 Oct 2009 10:46:16 -0000 1.66
+++ sabayon.spec 9 Dec 2009 12:02:38 -0000 1.67
@@ -8,7 +8,7 @@
Name: sabayon
Version: 2.28.1
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Tool to maintain user profiles in a GNOME desktop
Group: Applications/System
@@ -18,6 +18,9 @@ Source: http://ftp.gnome.org/pub/GNOME/
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+# from upstream
+Patch1: sabayon-2.29.2-paneldelegate-race.patch
# http://bugzilla.gnome.org/show_bug.cgi?id=486218
Patch3: selinux.patch
@@ -88,6 +91,7 @@ that need to be installed on the client
%prep
%setup -q
+%patch1 -p1 -b .race
%patch3 -p1 -b .selinux
@@ -269,6 +273,9 @@ fi
%ghost %{python_sitearch}/%{name}/lockdown/*.pyo
%changelog
+* Wed Dec 9 2009 Tomas Bzatek <tbzatek at redhat.com> - 2.28.1-2
+- Fixed race conditions while catching panel events
+
* Tue Oct 27 2009 Tomas Bzatek <tbzatek at redhat.com> - 2.28.1-1
- Update to 2.28.1
- Previous message (by thread): rpms/sugar-toolkit/F-11 .cvsignore, 1.35, 1.36 sources, 1.39, 1.40 sugar-toolkit.spec, 1.49, 1.50
- Next message (by thread): rpms/pacemaker/F-12 .cvsignore, 1.6, 1.7 pacemaker.spec, 1.8, 1.9 sources, 1.6, 1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list