D9123: reuse KPackage instance between PluginLoader and Applet
This revision was automatically updated to reflect the committed changes. Closed by commit R242:604aba0e241f: reuse KPackage instance between PluginLoader and Applet (authored by mart). REPOSITORY R242 Plasma Framework (Library) CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D9123?vs=23324=23678 REVISION DETAIL https://phabricator.kde.org/D9123 AFFECTED FILES src/plasma/applet.cpp src/plasma/pluginloader.cpp src/plasma/private/applet_p.cpp src/plasma/private/applet_p.h To: mart, #plasma, davidedmundson Cc: davidedmundson, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
D9123: reuse KPackage instance between PluginLoader and Applet
davidedmundson accepted this revision. This revision is now accepted and ready to land. REPOSITORY R242 Plasma Framework (Library) BRANCH phab/kpackageinctor REVISION DETAIL https://phabricator.kde.org/D9123 To: mart, #plasma, davidedmundson Cc: davidedmundson, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
D9123: reuse KPackage instance between PluginLoader and Applet
mart added inline comments. INLINE COMMENTS > davidedmundson wrote in applet.cpp:98 > If anyone uses the old argument list syntax (where the first argument was a > string or a kpluginmetadata) this will break. > > Can we be sure that the PluginLoader was the only user? > It was a somewhat undocumented thing right? yes, was completely undocumented. it was the only user and safe-ish to assume it continues to as is protected REPOSITORY R242 Plasma Framework (Library) REVISION DETAIL https://phabricator.kde.org/D9123 To: mart, #plasma Cc: davidedmundson, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
D9123: reuse KPackage instance between PluginLoader and Applet
davidedmundson added inline comments. INLINE COMMENTS > applet.cpp:98 > : QObject(0), > - d(new AppletPrivate(KPluginMetaData(), args.count() > 1 ? > args[1].toInt() : 0, this)) > + d(new AppletPrivate(KPluginMetaData(), args.count() > 2 ? > args[2].toInt() : 0, this)) > { If anyone uses the old argument list syntax (where the first argument was a string or a kpluginmetadata) this will break. Can we be sure that the PluginLoader was the only user? It was a somewhat undocumented thing right? REPOSITORY R242 Plasma Framework (Library) REVISION DETAIL https://phabricator.kde.org/D9123 To: mart, #plasma Cc: davidedmundson, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
D9123: reuse KPackage instance between PluginLoader and Applet
mart created this revision. mart added a reviewer: Plasma. Restricted Application added projects: Plasma, Frameworks. Restricted Application added subscribers: Frameworks, plasma-devel. REVISION SUMMARY to minimize metadata lookups, pass the kpackage created in pluginloader to the applet itself as args. the args structure will be used only by the internal constructor and applet sublasses will get their args unaltered TEST PLAN plasma loads correctly, from 3 kpackage instantiation per applet to 2 (last is in the access manager) REPOSITORY R242 Plasma Framework (Library) BRANCH phab/kpackageinctor REVISION DETAIL https://phabricator.kde.org/D9123 AFFECTED FILES src/plasma/applet.cpp src/plasma/pluginloader.cpp src/plasma/private/applet_p.cpp src/plasma/private/applet_p.h To: mart, #plasma Cc: plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart