[graphics/krita] libs/ui: Disable forced frame update on document switch

Dmitry Kazakov null at kde.org
Tue Jun 6 13:11:54 BST 2023


Git commit fcd970f4061a3dbc3a586a12de1ac422a3df3e44 by Dmitry Kazakov.
Committed on 06/06/2023 at 12:11.
Pushed by dkazakov into branch 'master'.

Disable forced frame update on document switch

That line of code looks strange. I don't see any need in that and
it seems to work without it. But we still need Emmet to look into
it, perhaps there was some clever reason for it?

CC:kimageshop at kde.org

M  +11   -5    libs/ui/KisPlaybackEngine.cpp

https://invent.kde.org/graphics/krita/-/commit/fcd970f4061a3dbc3a586a12de1ac422a3df3e44

diff --git a/libs/ui/KisPlaybackEngine.cpp b/libs/ui/KisPlaybackEngine.cpp
index c6866e9e803..a44fcd796a2 100644
--- a/libs/ui/KisPlaybackEngine.cpp
+++ b/libs/ui/KisPlaybackEngine.cpp
@@ -295,11 +295,17 @@ void KisPlaybackEngine::setCanvas(KoCanvasBase *p_canvas)
             stop();
         });
 
-        KisImageAnimationInterface* animInterface = m_d->activeCanvas->image()->animationInterface();
-        KisFrameDisplayProxy* displayProxy = animState->displayProxy();
-        if (animState->playbackState() != PLAYING) {
-            displayProxy->displayFrame(animInterface->currentTime(), true);
-        }
+        /**
+         * TODO: This forced updates causes image recalculation on every document
+         * switch, which is weird and even causes some crashes on closing
+         * many documents at once (which is a separate bug it seems). Why
+         * document switch should forcefully regeneare the canvas?
+         */
+//        KisImageAnimationInterface* animInterface = m_d->activeCanvas->image()->animationInterface();
+//        KisFrameDisplayProxy* displayProxy = animState->displayProxy();
+//        if (animState->playbackState() != PLAYING) {
+//            displayProxy->displayFrame(animInterface->currentTime(), false);
+//        }
     }
 }
 


More information about the kimageshop mailing list