Launchpad has imported 9 comments from the remote bug at https://bugs.kde.org/show_bug.cgi?id=354724.
If you reply to an imported comment from within Launchpad, your comment will be sent to the remote bug automatically. Read more about Launchpad's inter-bugtracker facilities at https://help.launchpad.net/InterBugTracking. ------------------------------------------------------------------------ On 2015-11-02T07:34:43+00:00 Leslie Zhai wrote: When open chromium, konsole, thunderbird, then logout, relogin, but only thunderbird successful WM_SAVE_YOURSELF, chromium or konsole failed to be opened. plasma-workspace: 5.4.90 KF5: 5.15.0 Qt5: 5.5.1 Reproducible: Always Steps to Reproduce: 1. open chromium, konsole, thunderbird, then logout 2. relogin Actual Results: but only thunderbird successful WM_SAVE_YOURSELF Expected Results: chromium and konsole able to be opened. Reply at: https://bugs.launchpad.net/ubuntu/+source/plasma- workspace/+bug/1446865/comments/76 ------------------------------------------------------------------------ On 2015-11-02T07:36:53+00:00 Leslie Zhai wrote: my ~/.config/ksmserverrc [General] screenCount=1 [LegacySession: saved at previous logout] clientMachine1=localhost command1=thunderbird count=1 [Session: saved at previous logout] clientId1=1014cd7d2d4000144435205700000012260003 clientId2=1014cd7d2d4000144435208500000012260012 clientId3=10bd534f46000144610537700000070460007 count=3 discardCommand1[$e]=rm,$HOME/.config/session/kwin_1014cd7d2d4000144435205700000012260003_1446105607_787343 discardCommand2[$e]=rm,$HOME/.config/session/kmix_1014cd7d2d4000144435208500000012260012_1446105607_737385 program1=kwin_x11 program2=/bin/kmix program3=/usr/lib/mozilla/kmozillahelper restartCommand1=kwin_x11,-session,1014cd7d2d4000144435205700000012260003_1446105607_787343 restartCommand2=/bin/kmix,-session,1014cd7d2d4000144435208500000012260012_1446105607_737385 restartCommand3=/usr/lib/mozilla/kmozillahelper,-session,10bd534f46000144610537700000070460007_1446105607_737492 restartStyleHint1=0 restartStyleHint2=0 restartStyleHint3=0 userId1=lesliezhai userId2=lesliezhai userId3=lesliezhai wasWm1=true wasWm2=false wasWm3=false Reply at: https://bugs.launchpad.net/ubuntu/+source/plasma- workspace/+bug/1446865/comments/77 ------------------------------------------------------------------------ On 2015-11-05T08:31:53+00:00 Leslie Zhai wrote: When open konsole, dolphin, systemsettings5, then logout legacy.cpp, line 113 windowSessionId(*it, leader) is NOT EMPTY! legacy.cpp, line 214 windowWmCommand(w) is EMPTY! Reply at: https://bugs.launchpad.net/ubuntu/+source/plasma- workspace/+bug/1446865/comments/78 ------------------------------------------------------------------------ On 2015-11-23T01:42:30+00:00 maelcum wrote: While debugging the problem with Konsole, I found a common problem with Qt5 applications: QGuiApplicationPrivate::commitData() (supposed to make sure that the session is saved) calls QApplicationPrivate::tryCloseAllWindows() which, when QGuiApplication::quitOnLastWindowClosed() is true, invokes QApplication::quit() which terminates the application immediately after it reports successful session saving to the session manager ksmserver. During session shutdown, ksmserver still removes its bookkeeping data about applications that were terminated for any reason - including those that quit right after session saving. When ksmserver saves the list of existing application slightly later, konsole is gone and, while it has a session save file, that file isn't "registered" in ksmserverrc, which makes it useless. There are at several problems: - QGuiApplicationPrivate::commitData() effectively quits the application if the application didn't call QGuiApplication::setQuitOnLastWindowClosed(false). This is despite Qt's own documentation recommending against quitting the application due to a request to save the session data. - setQuitOnLastWindowClosed(false) is not a good solution. Quit on last window closed is a useful feature, the problem is more that session saving implies closing windows, which doesn't make too much sense. It is supposed to prevent interaction with a state that won't be saved anymore, but there are other ways to do that, e.g. preventing user input and network event handling. - ksmserver should maybe stop removing applications from its internal list while shutting down. Because shutdown can be aborted, changes would have to be queued and applied after an aborted shutdown. Reply at: https://bugs.launchpad.net/ubuntu/+source/plasma- workspace/+bug/1446865/comments/79 ------------------------------------------------------------------------ On 2015-11-23T01:56:17+00:00 Leslie Zhai wrote: Hi Andreas, Thanks for your analysis, I wrongly argued that it might be libSM issue, I will try your solution. Reply at: https://bugs.launchpad.net/ubuntu/+source/plasma- workspace/+bug/1446865/comments/80 ------------------------------------------------------------------------ On 2015-11-23T11:53:00+00:00 maelcum wrote: Hello Leslie, just in case you were planning to change ksmserver, I've since realized that saving the session restore data of each application right away (just after receiving its session restore data) in a separate, dedicated data structure is a much better idea than messing around with the main clients list. When session saving is aborted, simply throw that data away. No interactions to worry about. I still don't agree with Qt's session saving behavior... but I doubt that it's fixable, for compatibility reasons. Reply at: https://bugs.launchpad.net/ubuntu/+source/plasma- workspace/+bug/1446865/comments/81 ------------------------------------------------------------------------ On 2015-12-07T06:11:19+00:00 Leslie Zhai wrote: https://bugs.kde.org/show_bug.cgi?id=341930 Reply at: https://bugs.launchpad.net/ubuntu/+source/plasma- workspace/+bug/1446865/comments/87 ------------------------------------------------------------------------ On 2015-12-11T07:45:20+00:00 Leslie Zhai wrote: Hi Andreas https://git.reviewboard.kde.org/r/126311/ workaround monkey patch ;P hope you can fix it in right way ;-) Reply at: https://bugs.launchpad.net/ubuntu/+source/plasma- workspace/+bug/1446865/comments/88 ------------------------------------------------------------------------ On 2015-12-11T08:26:39+00:00 Thomas-luebking wrote: I don't know whether there's a QTBUG reported, but the problem is that QGuiApplication tries to ::tryCloseAllWindows() in QGuiApplicationPrivate::commitData() This is plain wrong, since the window should NOT be closed as long as the session is running. If the session survives for some reason, you'd end up with a half-destroyed environment. => Window closing and process termination has to happen by the smserver once it's clear that the session is gonna end. What the routine *wanted* to do was to send close events to all toplevel widgets (to allow clients to perform last clean-ups, data storage etc.) and check whether all events are accepted. If not, that means some client wanted some window to remain open and that should break the session termination, but without having closed half other windows and maybe some processes before. Don't you dare to call window->closeEvent() directly, the client logic may be in some eventfilter ;-) Reply at: https://bugs.launchpad.net/ubuntu/+source/plasma- workspace/+bug/1446865/comments/89 ** Changed in: kdebase-workspace Importance: Unknown => Medium -- You received this bug notification because you are a member of Kubuntu Bugs, which is subscribed to plasma-workspace in Ubuntu. https://bugs.launchpad.net/bugs/1446865 Title: KDE5/Qt5 does not support session restoration To manage notifications about this bug go to: https://bugs.launchpad.net/kdebase-workspace/+bug/1446865/+subscriptions -- kubuntu-bugs mailing list kubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/kubuntu-bugs