Comment 77 for bug 411358

Revision history for this message
In , Jon-mozillabugzilla (jon-mozillabugzilla) wrote :

(In reply to Karl Tomlinson (:karlt) from comment #68)
> Ah, yes. That explains a lot.
> http://git.gnome.org/browse/gconf/log/gconf/gconf-client.c?h=gnome-2-20
>
> I also wonder whether gconf_escape_key() should be used here.
> http://developer.gnome.org/gconf/stable/gconf-gconf.html#gconf-escape-key

Thanks for looking into this further guys - I was about to try in and either install RHEL5 or compile GConf 2.16 to try and recreate this other problem..

So we now have at least two distinct GNOME bugs which can trigger this behaviour.
1) For older versions of GVFS, the error handling is broken so it always uses the unreturned error handler (thus a popup)
2) When GIO is enabled, old versions of GIO still rely on GConf to get the URI Handlers and they pass NULL instead of a GError* so any errors will always cause a popup.

It's pretty shameful really that RHEL5 is still delivering GConf 2.16 as the error handling was actually fixed way back in 2007!

On the Ubuntu side of things - version 10.04LTS (Lucid Lynx) is about to reach the end of its support life (March 2013 I think), so I don't know whether we'd persuade them to change their Thunderbird build at this late stage. For this version of Ubuntu (which is based on Debian Squeeze), the popup issue will go away if Thunderbird is built with '--disable-gio'
This problem does not exist in Ubuntu 12.04LTS (precise pangolin) and hopefully the majority of users (including myself) will upgrade soon.

I suspect any other Debian-squeeze based distros which are hitting this issue will probably have the same root cause as Ubuntu.

I suppose Thunderbird could detect gio and gconf versions in the configure script and refuse to enable gio if it's older than a certain version (perhaps just emit a warning and then continue with gio disabled), and perhaps enable something similar to jhorak's patch if gconf < 2.20 is detected??