https://bugs.kde.org/show_bug.cgi?id=394199
Eoin O'Neill <eoinoneill1...@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |eoinoneill1...@gmail.com --- Comment #3 from Eoin O'Neill <eoinoneill1...@gmail.com> --- More notes from dmitry: --------------------------------- afaict, the following should be done: 1) KisProjectionLeaf should override node visibility if the node is exactly the root of the isolation 2) StartIsolatedModeStroke::initStrokeCallback should check if the node->projectionLeaf()->visible() has changed during assignment of the root if it has changed, updates should be issued 3) These updates should be done with blockUIUpdates set to false (like it is done in KisProcessingApplicator) 4) notifyProjectionUpdatedInPatches() and all the final updates stuff should go into a separate StartIsolatedModeStroke::finishStrokeCallback(), which should be barrier this->enableJob(JOB_INIT, true, KisStrokeJobData::BARRIER) 5) It might be that m_node->projectionLeaf()->explicitlyRegeneratePassThroughProjection(); can be replaced with these new updates, but i'm not sure. It should be a separate patch for sure 6) There should also be an optimization, these updates should not be issued for that layers without any internal projections/caches (not listed in my list in the bug). You might want to add some new method to KisBaseNode, like 'hasProjectionsForUpdateWhileHidden()' for normal layers it should return "this->needProjection()", for KisShapeLayer it shoudl always return true ------------------------------- -- You are receiving this mail because: You are watching all bug changes.