GNOME Bugzilla – Bug 553168
Gedit blocks logout every time, even if nothing is unsaved
Last modified: 2009-03-25 01:44:36 UTC
Please describe the problem: I'm filing this on gnome-session on Pbor's suggestion also. Gedit behavior hasn't changed here while gnome-session has seen big changes. Probably some part of the save-yourself API that is interpreted differently by gnome-session now? Steps to reproduce: 1. Open a file in Gedit 2. Don't change anything 3. Logout Actual results: Gedit blocks logout Expected results: Gedit should not block logout Does this happen every time? Other information:
I can confirm this.
This will happen with any app that uses EggSMClient with gnome-session 2.24. gnome-session assumes that any app that requests interaction is going to block logout (a plausible assumption), but EggSMClient assumes that requesting interaction isn't going to change the session manager's behavior (which was also a plausible assumption until gnome-session 2.24). Specifically, EggSMClient *always* requests interaction when it gets a logout notification, so that if the application wants to interact, it can do so right away rather than needing to add an extra step. Changing gnome-session's behavior is not easy at this point. The simplest thing would probably be to add egg_sm_client_request_interaction() and force the app to do that extra step like with GnomeClient. A better solution would be to add a full working set of inhibit-style APIs to EggSMClient. Then even if gnome-session didn't fully support those APIs right away, EggSMClient itself could still know to not request interaction if the app hasn't called egg_sm_client_set_has_unsaved_documents() or whatever.
My patch in bug 552387 makes this work fine.
Fixed in trunk (which is still tracking 2.26), via the patch from bug 552387.