I'm actually aware of the problem with session management since last
summer, now I've upgraded my stuff to have more KF5-based applications
and suprisingly found it still just doesn't work. So I've dived deeper
into it this time, reading all the discussion here and last part of bug
#341930, both Andreas's change proposals and the thread in the mailing-
list.

I likely agree with comment #18 of Andreas and in my point of view it is
the following:

1. As a whole it's a massive regression since KDE4 which affects all Qt5
applications, most of which behave correctly as a session clients. Even
server parts of both KWin and KSMServer now behave correctly, thanks to
Thomas's fixes, I think. But as a whole it just doesn't work at all.

2. This problem is caused by some bug in processing session management
messages in Qt, which earlier wasn't a big pain and could be avoided,
but due to significant changes in the whole interaction process, in the
API etc. now it can't be avoided and lead to (1).

3. There's initial change (https://codereview.qt-
project.org/#/c/142232/) by Andreas, which perfectly fixes the problem
with any observable problems. It also fixes a fault in the session
management protocol implementation for at least two OSs, which is good
for Qt itself.

4. There could be potentially affected client applications which: a)
were already been ported to/written for Qt5; b) process some valuable
data which shouldn't be lost; c) would like to use session management to
prevent loss of unsaved data; d) still don't care to follow session
management protocol correctly and just exploit old hacks and errors in
its implementation, which exist historically, but now is moved to a new
place. Unfortunately, this term is a little objectless since it wasn't
mentioned any real-life application like this.

5. I completely don't like the proposed way to preserve the
compatibility with (4) and make the use case of broken session
management client implementation legal and default, but also try to
allow proper-written apps to still survive somehow, adding some strange
workarounds to Qt as closing all the windows, but not too much, or API
properties to enable proper processing of SM messages.

To sum it all up, I've applied the patch (3) and have all the session
management things back again without any other changes to KDE or
whatever, it's already released versions (KF-5.18.0, Plasma-5.5.3,
applications-15.12.1). I'll also test Windows behaviour with some toy
application. Unless any problems arise, I see no reason why this tiny
and simple (and right) fix isn't applied and merged.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to qtbase-opensource-src in
Ubuntu.
https://bugs.launchpad.net/bugs/1446865

Title:
  KDE5/Qt5 does not support session restoration

Status in KDE Base Workspace:
  Confirmed
Status in Qt:
  New
Status in plasma-workspace package in Ubuntu:
  Confirmed
Status in qtbase-opensource-src package in Ubuntu:
  Confirmed

Bug description:
  KDE5/Qt5 does not support proper session restoration.

  ProblemType: Bug
  DistroRelease: Ubuntu 15.10

To manage notifications about this bug go to:
https://bugs.launchpad.net/kdebase-workspace/+bug/1446865/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to