Remove Kirigami DelegateRecycler
ClosedPublic

Authored by ervin on Dec 27 2019, 12:20 PM.

Details

Summary

This is not really needed here due to the size of the delegates and of
the list which is generally short. I ended up getting rid of it because
it makes this config module crash somewhere in the QML runtime when the
user clicks reset. I couldn't track down why DelegateRecycler does this
so far.

Diff Detail

Repository
R120 Plasma Workspace
Lint
Lint Skipped
Unit
Unit Tests Skipped
Build Status
Buildable 20310
Build 20328: arc lint + arc unit
ervin created this revision.Dec 27 2019, 12:20 PM
Restricted Application added a project: Plasma. · View Herald TranscriptDec 27 2019, 12:20 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
ervin requested review of this revision.Dec 27 2019, 12:20 PM

Sounds like

BUG: 404518
BUG: 411795

Which we have quite a lot of dupes of :/

We know this bug went away with Qt5.14, so maybe it's worth just merging this simple fix.
Wait for @notmart, but I say lets merge this into Plasma 5.17.x

+1


I do have a theory of what's wrong underneath.

ConfigModule owns the QML context. It sets itself as a context property. Context properties have to outlive the QML context they are assigned.

ConfigModuleDervied::~ConfigModuledDerived gets run before ConfigModule::~ConfigModule() which is where we delete the QML context - which means we have a small period of time where a QML accessing a the "kcm" config property is in an awkward state. I suspect something about the translations KCM shutdown must be triggering a binding re-evaluation at this phase.

ervin updated this revision to Diff 73046.Jan 8 2020, 10:52 AM

Fix drag and drop issues after discussing with Marco

mart accepted this revision.Jan 8 2020, 10:57 AM
This revision is now accepted and ready to land.Jan 8 2020, 10:57 AM
This revision was automatically updated to reflect the committed changes.