← Back to team overview

tieto team mailing list archive

[Bug 411358]

 

(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 Tieto,
which is subscribed to the bug report.
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