[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-kimageshop
Subject:    =?utf-8?q?=5Bgraphics/krita=5D_libs/ui=3A_Disable_forced_frame_update_on_document_switch?=
From:       Dmitry Kazakov <null () kde ! org>
Date:       2023-06-06 12:11:54
Message-ID: 20230606121154.546521240B0C () leptone ! kde ! org
[Download RAW message or body]

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@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);
+//        }
     }
 }
 

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic