Revision 891369
Go back to digest for 7th December 2008Bug 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