Revision 882694

Go back to digest for 16th November 2008

Features in KDE Base

Michael Leupold committed changes in /trunk/KDE:

1. Implement session handling for applications using the KWallet API.
If an application with an open wallet exits or even crashes, kwalletd will know and close the wallet (if autoclose if last client exits is set).
For this to work I added the handleSession parameter to the openAsync call. Clients not using the API can continue to use the old DBus open call (no changes needed).
Drawback: If an application exits/crashes while the password entry dialog is shown, the wallet will still be opened (albeit autoclosed afterwards).
I don't intend to change this as it would be too messy and this cornercase is just not important enough.

2. Implement asynchroneous handling of openPath calls. openPath now uses transactions as well (almost identical to openAsync).

3. Create tests for the new changes and one for tracking concurrency problems (kwalletmany).

File Changes

Added 4 files
  • /trunk/KDE/kdebase/runtime/kwalletd/tests
  •   /kwalletautoclose.cpp
  •   /kwalletautoclose.h
  •   /kwalletnoautoclose.cpp
  •   /kwalletpath.cpp
Modified 8 files
  • /trunk/KDE
  •   /kdebase/runtime/kwalletd/kwalletd.cpp
  •   /kdebase/runtime/kwalletd/kwalletd.h
  •   /kdebase/runtime/kwalletd/kwalletdadaptor.h
  •   /kdelibs/kdeui/util/kwallet.cpp
  •   /kdelibs/kdeui/util/org.kde.KWallet.xml
  •   /kdebase/runtime/kwalletd/backend/kwalletbackend.cc
  •   /kdebase/runtime/kwalletd/backend/kwalletbackend.h
  •   /kdebase/runtime/kwalletd/tests/CMakeLists.txt
12 files changed in total