D8436: use a single QML engine
This revision was automatically updated to reflect the committed changes. Closed by commit R296:fcecbc5c67f7: use a single QML engine (authored by mart). REPOSITORY R296 KDeclarative CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D8436?vs=21224&id=22693 REVISION DETAIL https://phabricator.kde.org/D8436 AFFECTED FILES src/quickaddons/configmodule.cpp To: mart, #plasma, davidedmundson Cc: davidedmundson, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
D8436: use a single QML engine
davidedmundson accepted this revision. This revision is now accepted and ready to land. REPOSITORY R296 KDeclarative BRANCH arcpatch-D8436 REVISION DETAIL https://phabricator.kde.org/D8436 To: mart, #plasma, davidedmundson Cc: davidedmundson, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
D8436: use a single QML engine
mart edited the test plan for this revision. REPOSITORY R296 KDeclarative REVISION DETAIL https://phabricator.kde.org/D8436 To: mart, #plasma Cc: davidedmundson, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
D8436: use a single QML engine
mart added a comment. In https://phabricator.kde.org/D8436#159212, @davidedmundson wrote: > Given the fallout we had when we made the similar change in Plasma, please don't merge until the start of the next release cycle. after november first week release? ok > Can you expand your "normal system settings seems unaffected" into something more thorough with a list of the relevant KCMs. currently ported modules are - desktop theme - look and feel - sound - splash screen - boot splash REPOSITORY R296 KDeclarative REVISION DETAIL https://phabricator.kde.org/D8436 To: mart, #plasma Cc: davidedmundson, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
D8436: use a single QML engine
davidedmundson added a comment. Given the fallout we had when we made the similar change in Plasma, please don't merge until the start of the next release cycle. Can you expand your "normal system settings seems unaffected" into something more thorough with a list of the relevant KCMs. REPOSITORY R296 KDeclarative REVISION DETAIL https://phabricator.kde.org/D8436 To: mart, #plasma Cc: davidedmundson, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
D8436: use a single QML engine
mart added inline comments. INLINE COMMENTS > davidedmundson wrote in configmodule.cpp:106 > !! this version now should work, as the context is used now: the way the static attached property function finds it is quite an heuristic, but should be 100% reliable REPOSITORY R296 KDeclarative REVISION DETAIL https://phabricator.kde.org/D8436 To: mart, #plasma Cc: davidedmundson, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
D8436: use a single QML engine
mart updated this revision to Diff 21223. mart added a comment. - use the qmlobject's rootcontext instead of the engine as is now shared REPOSITORY R296 KDeclarative CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D8436?vs=21184&id=21223 BRANCH arcpatch-D8436 REVISION DETAIL https://phabricator.kde.org/D8436 AFFECTED FILES src/quickaddons/configmodule.cpp To: mart, #plasma Cc: davidedmundson, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
D8436: use a single QML engine
mart updated this revision to Diff 21224. mart added a comment. - use the qmlobject's rootcontext instead of the engine as is now shared REPOSITORY R296 KDeclarative CHANGES SINCE LAST UPDATE https://phabricator.kde.org/D8436?vs=21223&id=21224 BRANCH arcpatch-D8436 REVISION DETAIL https://phabricator.kde.org/D8436 AFFECTED FILES src/quickaddons/configmodule.cpp To: mart, #plasma Cc: davidedmundson, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
D8436: use a single QML engine
mart added inline comments. INLINE COMMENTS > davidedmundson wrote in configmodule.cpp:106 > !! right, since it keeps track of attached properties in this way, either gets changed or is not possible to use a single engine, damn :/ hmm, maybe using the rootcontext instead would work REPOSITORY R296 KDeclarative REVISION DETAIL https://phabricator.kde.org/D8436 To: mart, #plasma Cc: davidedmundson, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
D8436: use a single QML engine
davidedmundson added inline comments. INLINE COMMENTS > configmodule.cpp:106 > { > ConfigModulePrivate::s_rootObjects.remove(d->_qmlObject->engine()); > !! REPOSITORY R296 KDeclarative REVISION DETAIL https://phabricator.kde.org/D8436 To: mart, #plasma Cc: davidedmundson, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
D8436: use a single QML engine
mart created this revision. mart added a reviewer: Plasma. Restricted Application added projects: Plasma, Frameworks. Restricted Application added subscribers: Frameworks, plasma-devel. REVISION SUMMARY use a shared qml engine for all ConfigModules in the same process this avoids some crashes as creating and deleting stuff from different engines is known to cause crashes in the v4 garbage collection and is recomended to use a single QQmlEngine per process TEST PLAN normal SystemSettings seems unaffected, plasma mobile systemsettings which is qml-only now doesn't crash anymore after loading a module for the second time REPOSITORY R296 KDeclarative BRANCH phab/singleengine REVISION DETAIL https://phabricator.kde.org/D8436 AFFECTED FILES src/quickaddons/configmodule.cpp To: mart, #plasma Cc: plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart