GNOME Bugzilla – Bug 343601
gnome_authentication_manager_init should init gdk threads
Last modified: 2010-05-20 20:05:50 UTC
Since gnome password dialog will be called most probably from vfs thread and will display some UI, it's better to init gdk threads to avoid crashes. Otherwise, badly reproducable locks may happen. Related bugs are nautilus bug 312894 (makes quick fix impossible), evince bug 343347, nautilus bug 335688 and totem bug 154796
I'm not sure where you got the idea that password dialogs will be called on the vfs thread. That is not true in general. For async vfs calls the password callbacks will be proxied to the main thread. For sync calls they will be called on the thread that did the call. If you're doing this in a thread and use gnome authentication manager you better enable threads. However, there is one general problems with locking wrt sync calls on non-main threads. the callbacks can't take the GDK lock, because that would deadlock in the normal case of app doing a sync vfs call in the ui code. But this means that if you do a sync vfs call in another thread you either have to temporary or permanently disable the auth manager or get the GDK lock while doing sync i/o.
But is this something that should be fixed in libgnomeui or at some other level?
Not planned to be implemented as libgnomeui (and gnome-auth) is dead.