(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 Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/411358
Title:
Thunderbird2 gconf gmt problem 'Bad key or directory name' because of
plus symbol (+)
To manage notifications about this bug go to:
https://bugs.launchpad.net/thunderbird/+bug/411358/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs