After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 553168 - Gedit blocks logout every time, even if nothing is unsaved
Gedit blocks logout every time, even if nothing is unsaved
Status: RESOLVED FIXED
Product: gnome-session
Classification: Core
Component: gnome-session
2.23.x
Other All
: Normal normal
: ---
Assigned To: Session Maintainers
Session Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-09-21 19:07 UTC by Ernst Sjöstrand
Modified: 2009-03-25 01:44 UTC
See Also:
GNOME target: ---
GNOME version: 2.23/2.24



Description Ernst Sjöstrand 2008-09-21 19:07:45 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:
Comment 1 Matthias Clasen 2008-11-08 04:16:40 UTC
I can confirm this.
Comment 2 Dan Winship 2008-11-08 14:07:56 UTC
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.
Comment 3 Vincent Untz 2009-03-14 05:24:53 UTC
My patch in bug 552387 makes this work fine.
Comment 4 Vincent Untz 2009-03-25 01:44:36 UTC
Fixed in trunk (which is still tracking 2.26), via the patch from bug 552387.