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

Reply via email to