Okay - I've confirmed my theory:

I've built a couple of alternative versions of the libgiogconf.so
module.

All my edits/tests were made to gapplookupgconf.c in the function 
get_default_for_uri_scheme():
My first test was to call gconf_client_set_error_handling(client, 
GCONF_CLIENT_HANDLE_NONE) against the GConf client which, as I'd hoped, 
prevented the pop-up dialog... 
Neither Thunderbird nor GIO's implementation of the GConf client changes the 
default error handling mode which is GCONF_CLIENT_HANDLE_UNRETURNED.

Next, I reverted to the original source and added an error handler:
--- gapplookupgconf.c.orig      2012-07-31 00:45:53.660787288 +0100
+++ gapplookupgconf.c   2012-07-31 00:45:31.050709620 +0100
@@ -113,9 +113,11 @@
                              uri_scheme,
                              "/command",
                              NULL);
+       GError *error = NULL;  //Jonathan
   command = gconf_client_get_string (client,
                                      command_key,
-                                     NULL);
+                                     &error);
   g_free (command_key);
   if (command)
     {

Sure enough, by making the error a 'returned' error, this also stops the
pop-up dialog.

Unfortunately, Thunderbird has no control over the GConf client used by
GIO to lookup the URI. To fix this problem from the Thunderbird side,
the thunderbird source would have to be changed to prevent making URI
Handler queries to GIO that contain the '+' character.

I'll see if I can suggest a diff for this in the next couple of days.
I'd welcome any advice/help/comments from folks who've contributed to
Mozilla products before - this is my first time so I don't know how the
process works.

-- 
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