Opened 14 years ago

Closed 14 years ago

#100 closed defect (fixed)

Implement session management

Reported by: Dmitry A. Kuminov Owned by:
Priority: blocker Milestone: Qt GA
Component: General Version: 4.5.1 Beta 3
Severity: high Keywords:
Cc: pmw

Description

Session management in OS/2 is basically detecting when the PM is about to shutdown and providing a way to cancel it. On the Qt side, it's QSessionManager and a couple of methods in QApplication.

Attachments (1)

shutdown.c.diff (715 bytes) - added by Dmitry A. Kuminov 14 years ago.
XWorkplace patch that makes it possible to programmatically cancel extended shutdown

Download all attachments as: .zip

Change History (8)

comment:1 Changed 14 years ago by Silvan Scherrer

Milestone: Qt EnhancedQt GA

comment:2 Changed 14 years ago by pmw

Cc: pmw added

I guess this would include implementation of QApplication::isSessionRestored(). I have to comment out that part in KDiff3 at the moment.

comment:3 Changed 14 years ago by Dmitry A. Kuminov

I hope you do so using #ifndef QT_NO_SESSIONMANAGER/#endif rather than // or or #ifdef 0.

comment:4 Changed 14 years ago by Silvan Scherrer

Priority: majorblocker

comment:5 Changed 14 years ago by Silvan Scherrer

Severity: high

comment:6 Changed 14 years ago by Dmitry A. Kuminov

Committed the QSessionManager implementation in r428.

Notes:

  1. The only function it does on OS/2 is inform the application about the system shutdown through QApplication::commitData() (note that QApplication::saveState() is never called on OS/2). This functionality corresponds to Qt for Windows.
  1. QSessionManager::cancel() cannot cancel the XWorkplace Extended Shutdown procedure at the moment. In order to be able to do so, a patch needs to be applied to XWorkplace (see the attachment). We always call WinCancelShutdown?() if QSessionManager::cancel() was called though so it should cancel the standard system shutdown procedure (used when no XWP is installed or when Extended Shutdown is disabled).

comment:7 Changed 14 years ago by Dmitry A. Kuminov

Resolution: fixed
Status: newclosed

Changed 14 years ago by Dmitry A. Kuminov

Attachment: shutdown.c.diff added

XWorkplace patch that makes it possible to programmatically cancel extended shutdown

Note: See TracTickets for help on using tickets.