Revision 891369

Go back to digest for 7th December 2008

Bug Fixes in KDE Base

Aaron J. Seigo committed changes in /trunk/KDE/kdebase/workspace/plasma/applets/systemtray:

Manager can not be a singleton since some of the protocols may (and do) use bits of libplasma that offer singleton accessors, resulting in random deletion and re-creation-on-exit orderings which causes crashes.

this also prompted:

* limiting severely the usage of namespaces as they were used in a way that made reading the code dreadfully confusing in places (hint: humans are not compilers)
* collapsing the three protocol classes in core into one SystemTray::Protocol class
* genericizing the management of protocols in Manager
* altering the config options controlling which protocols to show from negatives (resulting in !readEntry's in the code) to positives defaulting to true

File Changes

Added 4 files
  • /trunk/KDE/kdebase/workspace/plasma/applets/systemtray
  •   /core/protocol.cpp
  •   /core/protocol.h
  •   /protocols/fdo/fdoprotocol.cpp
  •   /protocols/fdo/fdoprotocol.h
Deleted 10 files
  • /trunk/KDE/kdebase/workspace/plasma/applets/systemtray
  •   /core/jobprotocol.cpp
  •   /core/jobprotocol.h
  •   /core/notificationprotocol.cpp
  •   /core/notificationprotocol.h
  •   /core/taskprotocol.cpp
  •   /core/taskprotocol.h
  •   /protocols/fdo/fdonotificationprotocol.cpp
  •   /protocols/fdo/fdonotificationprotocol.h
  •   /protocols/fdo/fdotaskprotocol.cpp
  •   /protocols/fdo/fdotaskprotocol.h
Modified 32 files
  • /trunk/KDE/kdebase/workspace/plasma/applets/systemtray
  •   /CMakeLists.txt
  •   /core/manager.cpp
  •   /core/manager.h
  •   /ui/applet.cpp
  •   /ui/applet.h
  •   /ui/taskarea.cpp
  •   /ui/taskarea.h
  •   /protocols/fdo/fdographicswidget.cpp
  •   /protocols/fdo/fdographicswidget.h
  •   /protocols/fdo/fdonotification.cpp
  •   /protocols/fdo/fdonotification.h
  •   /protocols/fdo/fdoselectionmanager.cpp
  •   /protocols/fdo/fdoselectionmanager.h
  •   /protocols/fdo/fdotask.cpp
  •   /protocols/fdo/fdotask.h
  •   /protocols/fdo/x11embedcontainer.cpp
  •   /protocols/fdo/x11embedcontainer.h
  •   /protocols/fdo/x11embeddelegate.cpp
  •   /protocols/fdo/x11embeddelegate.h
  •   /protocols/fdo/x11embedpainter.cpp
  •   /protocols/fdo/x11embedpainter.h
  •   /protocols/jobs/dbusjob.cpp
  •   /protocols/jobs/dbusjob.h
  •   /protocols/jobs/dbusjobprotocol.cpp
  •   /protocols/jobs/dbusjobprotocol.h
  •   /protocols/notifications/dbusnotification.cpp
  •   /protocols/notifications/dbusnotification.h
  •   /protocols/notifications/dbusnotificationprotocol.cpp
  •   /protocols/plasmoid/plasmoidtask.cpp
  •   /protocols/plasmoid/plasmoidtask.h
  •   /protocols/plasmoid/plasmoidtaskprotocol.cpp
  •   /protocols/plasmoid/plasmoidtaskprotocol.h
46 files changed in total