I'm afraid that I've tested this patch against 16.0b4 and it does not resolve the issue on Ubuntu 10.04 which is exactly what I expected, having previously spent a lot of time tracing this stuff to establish where the popup dialog comes from.
I honestly don't see how anyone gets a popup with the error in this bug when only gconf is in use. But anyway, the proposed fix patches the function nsGConfService::GetAppForProtocol to prevent a '+' sign being looked up by the GConf client. But due to the following code, that function is only called if GIO is not enabled and in my experience, that code path does only causes a message to stdout and not a popup: uriloader/exthandler/unix/nsGNOMERegistry.cpp 28 nsGNOMERegistry::HandlerExists(const char *aProtocolScheme) 29 { 30 nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID); 31 nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID); 32 if (giovfs) { 33 nsCOMPtr<nsIGIOMimeApp> app; 34 if (NS_FAILED(giovfs->GetAppForURIScheme(nsDependentCString(aProtocolScheme), 35 getter_AddRefs(app)))) 36 return false; 37 else 38 return true; 39 } else if (gconf) { 40 bool isEnabled; 41 nsCAutoString handler; 42 if (NS_FAILED(gconf->GetAppForProtocol(nsDependentCString(aProtocolScheme), &isEnabled, handler))) 43 return false; 44 45 return isEnabled; 46 } 47 48 return false; 49 } So we could apply almost the exactly the same change to GetAppForURIScheme although in newer versions of GIO, the perfectly valid '+' character in a URI is handled. The best long-term fix would determine if the version of libgio is greater then whenever they stopped backing-off URI Handler lookups to GConf in GIO, and then to block '+' signs if using the older version and allow then with the newer version. It really all depends on whether anyone cares if Thunderbird can't automatically turn URIs containing a plus sign to the left of the colon into a link. If not, then just always block plus signs in GetAppForURIScheme and this is fixed. I should add that this bug is really the fault of the GNOME Team for choosing a datastore for URI Handlers which cannot actually support all valid URIs. However, GNOME has moved on: The latest versions don't have this problem and I can't see them back-porting any changes to GConf so this will have to be fixed from the Thunderbird side. (In reply to n...@parkwaycc.co.uk from comment #56) > Comment on attachment 680081 > fix for gconf v1 > > Sorry, we can't accept a diff against the mozilla-beta part of a comm-beta > checkout. If you think the issue affects Thunderbird 17 then you will need > to submit a patch against mozilla-central and get it uplifted to > mozilla-beta. > > Also I'm not a reviewer for toolkit/system/gnome, please try karlt instead. (In reply to jhorak from comment #55) > Created attachment 680081 > fix for gconf v1 > > This is simple hack to avoid showing the error window. It shouldn't affect > Firefox or Thunderbird when GIO backend was enabled, as long as gvfs is used > only as fallback when GIO service is not available. This fix suitable for > long time support version of Linux (like RHEL or Ubuntu). -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to thunderbird in Ubuntu. https://bugs.launchpad.net/bugs/411358 Title: Thunderbird2 gconf gmt problem 'Bad key or directory name' because of plus symbol (+) Status in Mozilla Thunderbird Mail and News: Confirmed Status in “thunderbird” package in Ubuntu: Confirmed Bug description: Here is an error message for Thunderbird 2 in Jaunty gnubyexample@k8amd:~$ thunderbird GConf Error: Bad key or directory name: "/desktop/gnome/url-handlers/GMT+02/command": `+' is an invalid character in key/directory names gnubyexample@k8amd:~$ date;uname -a;cat /etc/*version*;dpkg -l | grep underbird Sun Aug 9 14:48:37 BST 2009 Linux k8amd 2.6.28-14-generic #47-Ubuntu SMP Sat Jul 25 00:28:35 UTC 2009 i686 GNU/Linux 5.0 ii enigmail 2:0.95.7-1ubuntu2 Enigmail - GPG support for Thunderbird ii thunderbird 2.0.0.22+build1+nobinonly-0ubuntu0.9.04.1 mail/news client with RSS and integrated spam filter support ii thunderbird-locale-en-gb 1:2.0.0.14+1-0ubuntu2 Thunderbird English language/region package From reading this extract ( http://osdir.com/ml/os.solaris.opensolaris.desktop/2008-03/msg00020.html ): Subject: Re: GConf/Thunderbird error on Solaris Nevada "Hi Mats,I believe you download the contribute builds of Thunderbird 2, and run it on snv_70. For some reason, the fix is upstreamed to Thunderbird 3 alpha, but not community version of Thunderbird 2. Fixed in snv_68 means the fix was integrated to Thunderbird bundled with snv_68." ...it seems that the fix for this in thunderbird2 might require some manual intervention as although the problem is well know, the fix was only incorporated in the newer thunderbird3. Have just checked the Karmic version at: http://packages.ubuntu.com/karmic/thunderbird which currently shows that version 2 of thunderbird is planned for Karmic release. As thunderbird3 is at Beta 3 right now I can perhaps see why debian and ubuntu are sticking with Thunderbird2 just now. http://www.mozillamessaging.com/en-US/about/press/archive/2009-07-21-01 However it does seem a shame to ship a new release with this known gconf issue unpatched. To manage notifications about this bug go to: https://bugs.launchpad.net/thunderbird/+bug/411358/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp