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

--- Comment #11 from Boudewijn Rempt <b...@valdyas.org> ---
This should mitigate the issue:

diff --git a/libs/image/kis_strokes_queue.cpp
b/libs/image/kis_strokes_queue.cpp
index a916b78472..23520f0104 100644
--- a/libs/image/kis_strokes_queue.cpp
+++ b/libs/image/kis_strokes_queue.cpp
@@ -345,7 +345,7 @@ void KisStrokesQueue::addJob(KisStrokeId id,
KisStrokeJobData *data)
     QMutexLocker locker(&m_d->mutex);

     KisStrokeSP stroke = id.toStrongRef();
-    Q_ASSERT(stroke);
+    KIS_SAFE_ASSERT_RECOVER_RETURN(stroke);

     KisStrokeSP buddy = stroke->lodBuddy();
     if (buddy) {
@@ -364,7 +364,7 @@ void KisStrokesQueue::addMutatedJobs(KisStrokeId id, const
QVector<KisStrokeJobD
     QMutexLocker locker(&m_d->mutex);

     KisStrokeSP stroke = id.toStrongRef();
-    Q_ASSERT(stroke);
+    KIS_SAFE_ASSERT_RECOVER_RETURN(stroke);

     stroke->addMutatedJobs(list);
 }
@@ -374,7 +374,7 @@ void KisStrokesQueue::endStroke(KisStrokeId id)
     QMutexLocker locker(&m_d->mutex);

     KisStrokeSP stroke = id.toStrongRef();
-    Q_ASSERT(stroke);
+    KIS_SAFE_ASSERT_RECOVER_RETURN(stroke);
     stroke->endStroke();
     m_d->openedStrokesCounter--;

lines 1-31/31 (END)


Note that I suspect that even with this patch, you will get really weird stuff
happening, like a total restart of the stroke.

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

Reply via email to