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 |
|
|