(In reply to Karl Tomlinson (:karlt) from comment #66)
> Comment on attachment 681454
> fix for gconf v2
> 
> >+  /* This check is to avoid bug #541130 when old version of gnomevfs (2.16 
> >tested) 
> >+     is installed then error window pops up if scheme is containing '+' 
> >character. 
> >+     Let's pretend these kind of schemes are not supported by gnomevfs. */
> 
> Are you sure gnomevfs is involved in gconf_client_get_* calls?
> Can you point me at the GConf code that uses GnomeVFS, please?
Sorry, I've got confused with gnomevfs (for some reason I thought gconf was 
part of it). The comment is invalid. This is issue with gconf of course.
> 
> >   GError *err = nullptr;
> >   gchar *command = gconf_client_get_string(mClient, key.get(), &err);
> >   if (!err && command) {
> >     key.Replace(key.Length() - 7, 7, NS_LITERAL_CSTRING("enabled"));
> 
> Can you explain, please, why a dialog would be shown when there is a GError
> parameter passed to the gconf_client_get_* functions?
> 
> (Removing review request for now until we understand what is happening.)

I've looked into it deeper into gconf code and it seems there's a bug with 
forwarding GError value:
gconf_client_get_string(GConfClient* client, const gchar* key,
                        GError** err)
{
  GError* error = NULL;
  GConfValue* val;

  g_return_val_if_fail (err == NULL || *err == NULL, NULL);

  val = gconf_client_get (client, key, error);


gconf_client_get             (GConfClient* client,
                              const gchar* key,
                              GError** err)
{
  g_return_val_if_fail (GCONF_IS_CLIENT (client), NULL);
  g_return_val_if_fail (key != NULL, NULL);
  return gconf_client_get_full (client, key, NULL, TRUE, err);
}        

See passing of error variable, it should most likely be:
  val = gconf_client_get (client, key, &error);

When the error is NULL the handle_error use
gconf_client_unreturned_error to emit unreturned error signal which
subsequently leads into showing the error message.

This is valid for older gconf2 library (in my case GConf2-2.14.0). So
the patch is actually workaround for systems where these old libraries
are. We should probably push on gconf2 package maintainers to fix this
issue in gconf2.

-- 
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     : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to