https://bugs.kde.org/show_bug.cgi?id=386279

Boudewijn Rempt <b...@valdyas.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |b...@valdyas.org

--- Comment #3 from Boudewijn Rempt <b...@valdyas.org> ---
Something like this should solve it:

diff --git a/libs/image/kis_async_merger.cpp b/libs/image/kis_async_merger.cpp
index 041f6fbc68..9739eefab5 100644
--- a/libs/image/kis_async_merger.cpp
+++ b/libs/image/kis_async_merger.cpp
@@ -290,7 +290,6 @@ void KisAsyncMerger::startMerge(KisBaseRectsWalker &walker,
bool notifyClones) {
     if(m_currentProjection) {
         warnImage << "BUG: The walker hasn't reached the root layer!";
         warnImage << "     Start node:" << walker.startNode() << "Requested
rect:" << walker.requestedRect();
-        warnImage << "     There must be an inconsistency in the walkers
happened!";
         warnImage << "     Please report a bug describing how you got this
message.";
         // reset projection to avoid artefacts in next merges and allow people
to work further
         resetProjection();
diff --git a/libs/image/kis_update_job_item.h
b/libs/image/kis_update_job_item.h
index 3ac09e3436..6987611bba 100644
--- a/libs/image/kis_update_job_item.h
+++ b/libs/image/kis_update_job_item.h
@@ -100,7 +100,7 @@ public:

             m_exclusiveJobLock->unlock();

-            // try to exit the loop. Please note, that noone can flip the
state from
+            // try to exit the loop. Please note, that no-one can flip the
state from
             // WAITING to EMPTY except ourselves!
             Type expectedValue = Type::WAITING;
             if (m_atomicType.compare_exchange_strong(expectedValue,
Type::EMPTY)) {
@@ -111,6 +111,11 @@ public:

     inline void runMergeJob() {
         Q_ASSERT(m_atomicType == Type::MERGE);
+        if (!m_walker) {
+            qWarning() << "KisUpdateJobItem::runMergeJob: we have an invalid
walker.";
+            return;
+        }
+
         // dbgKrita << "Executing merge job" << m_walker->changeRect()
         //          << "on thread" << QThread::currentThreadId();
         m_merger.startMerge(*m_walker);

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to