Hi,

As I understand it, we fail in trying to be defensive about
possible use of bzr-gtk by other applications.

But it appears (verified on hardy) that older versions of gobject
didn't provide get_application_name even when
set_application_name is provided.

I don't think we can do much more that was is proposed in the
attached patch, which is to test for the availability of the
method before checking that someone already set the application
name.

        Vincent

# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: [email protected]
# target_branch: http://bazaar.launchpad.net/~bzr-gtk/bzr-gtk/trunk
# testament_sha1: 2d4abef29c28c2ed276dae09b036a0cd1fee7a45
# timestamp: 2009-08-12 19:55:55 +0200
# base_revision_id: [email protected]
# 
# Begin patch
=== modified file 'NEWS'
--- NEWS	2009-07-09 19:58:59 +0000
+++ NEWS	2009-08-12 17:53:03 +0000
@@ -1,3 +1,12 @@
+0.97.0 UNRELEASED
+
+BUG FIXES
+
+  * Avoid GnomeKeyringCredentialStore traceback on Ubuntu Hardy
+    by being more tolerant about gobject methods availability.
+    (Vincent Ladeuil, #403430)
+
+
 0.96.2	2009-07-08
 
  BUG FIXES

=== modified file 'keyring.py'
--- keyring.py	2009-06-04 21:10:21 +0000
+++ keyring.py	2009-08-12 17:53:03 +0000
@@ -29,9 +29,13 @@
 
     def __init__(self):
         CredentialStore.__init__(self)
-        # External apps that load bzrlib may also set this, so 
-        # don't override:
-        if gobject.get_application_name() is None:
+        # Older versions of gobject don't provide get_application_name so we
+        # can't always check.
+        get_app_name = getattr(gobject, 'get_application_name', None)
+        if get_app_name is None or get_app_name() is None:
+            # External applications that load bzrlib may already have set the
+            # application name so we don't contradict them (when we can
+            # determine it that is).
             gobject.set_application_name("bzr")
 
     def decode_password(self, credentials):

# Begin bundle
IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWZZduyoAAkpfgERQWf///3/t
n8C////wUAV4TzkocjQc1ut2GhJJCGmjUyemkbUeUaegE00GgAAAACUikfplMmNCZQ9TNE00AyBp
poAAAAaamjU01J+o0jTT1J6aHopmowBAw0gw09U9T1MHGTJoxDE0wEDAmmCMExNNNABhBJIJkAIa
A1Cn6T1T2kIbTInqaaaAA0eiPDyiFJc9VfBhseR5V2g4sberu9Z5F0VKcrTS4hR5u2ShCBCC/YQ5
5yLpuYUQJAIPXJ6Gm1t1P5MglDg0JNYkbfzU3mvhnlTXw5fpi8dV0b+yaJXxDfL9qdEKJPaEIxfB
xH9wto1M3UX2vqonjlGyh2y60yqokb9VNTxEi8Q9CAtRhw8QY4Ww3G0z0EebxIoIyHbdtzJOfkeS
WjQzNhJGiaROx6IICvBY4bPtUhpSJuLNXGrGsURsmAlLpwLfAd/mc+TcGlLWXJHkI+IXBksPczBw
rmd1CD2WYXXPju5CDLKTzFqZgQNli6PAu7VWqrxwJklS01Ww83WQEwG+aCdIJVpaIIYclp8yyYDg
e2h1PWNRTkYjilowCl0T0wRxriTIRUmbmTUL8sU38upAHmrTXBruJEkA8aQ9aYwQ2iNhtN5mqhwD
VgVuKQM9sU5igxLTWSMJQUtBEdyAvIG2GMvAwcsCLi4skF2cY83EWliT1JerbEliKUSOJIdMBZGa
xEKJy4TVExz3n0003anarmmUjoj4luoLh5OjFS3EExByr32nQRNg8DYWmkc4Lsb75liY1j8NQUWk
bTAC4cEVQ9rrCEjTe5TcVl5QWTbEeVztSXtbCxVxs1D+OqRPHYXZVUl9BeU1c7rForZMsgfitaIt
5zkt7JPwRX/7yMJuwDhVSriMwI2s6YMys4MXLIIKQP3rQmCAUXjB81+9qarWFIwHSfsdEwyipnJI
aQ7OLnWI6vTuJlZ6qk6+fxqcdX1sBnoGIuRwezDNn9vTIO8Ps7oibvPvInb6T1HjuNj+eM/DTzmI
ah/fqHouMvcrSIPEZSJGxUMm0/HXiB6QPF4w+lFUyMfnxv4T1957SYYtFWexxylqW2XS8hIuHpTK
drTMtQZyHFcWFF1RK4jRdkdkz7ofv1rzATpIjtpJQobzwCLXDpP0XmQGBeVgxEHUFlVSTDDznXay
FxXwebzsi3Hr4jik3M+85uJFriFhCAig4u6HcTM6Tb6Cv0DWrmV8FzgXEUasK3HyQ7EgWsIm/qfg
WvmFJSUGRknCcY32BfxeS4BmUKOhKl7AqkGopR7w8iino05LeDifJle1y89Mr5sqwu8wFJcZb4j7
EV3zWBhTAW0vOsHkyOT6pEVRPzjNE+Oy3lfHraGWpS5kOtX6NKWTG0oYmUEpKxLC3AUforaQxzLx
TCPrsY2uFSIpFClqRA0ti6dpHnIR/VRPiYoDRE/4tZkRU4NTzAygZJ2SMAcOO0R73GLB058kPJce
oMfIRDt3O0qj1rOxKWCJMa1IFdisaMPBGFLsacqxeBdVyBKcQESCjCDJRCzN6DNsv+KCsmyTouFE
cueZkU9JgZetEdFvBnxUmyQY7RMMkd60uKkSKsKJ2MISql5XsFarcEMRyX8OEGA4OQgEsAvtaKdI
GIB0GB71IC0RZBGL4j1h8iQjlEC3daXMn0hVLxFtgoF0dCHqDEL09WG031cCAQzHHCqoZvMeAXgZ
6NoDloViDocUhQVKgVdly8B5nAc+uTzrzoIxFM8Q0Pda51oTYH65FOBEchqUfyRVUHH8MSYLJuHv
GoNeIFQ/MWLN/6u7RugxlLStLVhjQeUr648cBKc5InZyCP12XayT9vYmHP+YHsKzrlKjKwVehcR1
KhbgB/4u5IpwoSEsu3ZU
-- 
bzr-gtk mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.canonical.com/mailman/listinfo/bzr-gtk

Reply via email to