1) Create an empty image 2) Paint something on a layer 3) Press Ctrl+J to duplicate this layer 4) Close Krita [krita hangs up with the following backtrace] (gdb) thread apply all bt Thread 7 (Thread 0x7fffbec97700 (LWP 29730)): #0 0x00007ffff4e18c9d in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007fffef327fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fffef3280ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff58d9ecc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #4 0x00007ffff588539b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #5 0x00007ffff56b7d4a in QThread::exec() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #6 0x00007fffd0872ea8 in ?? () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Qml.so.5 #7 0x00007ffff56bcbdf in ?? () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #8 0x00007fffefc72184 in start_thread (arg=0x7fffbec97700) at pthread_create.c:312 #9 0x00007ffff4e2603d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 6 (Thread 0x7fffcf8da700 (LWP 29729)): #0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38 #1 0x00007ffff56b4556 in QBasicMutex::lockInternal() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #2 0x00007ffff56b4816 in QMutex::lock() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #3 0x00007ffff3198534 in QMutexLocker (m=0x9a1c800, this=<synthetic pointer>) at /home/appimage/appimage-workspace/deps/usr/include/QtCore/qmutex.h:206 #4 KisStrokesQueue::sizeMetric (this=0x9a1c550) at /home/appimage/persistent/krita/libs/image/kis_strokes_queue.cpp:589 #5 0x00007ffff31a1697 in KisUpdateScheduler::processQueues (this=this@entry=0x9a2bdd8) at /home/appimage/persistent/krita/libs/image/kis_update_scheduler.cpp:406 #6 0x00007ffff31a1940 in KisUpdateScheduler::waitForDone (this=0x9a2bdd8) at /home/appimage/persistent/krita/libs/image/kis_update_scheduler.cpp:359 #7 0x00007ffff31b28ca in KisImage::waitForDone (this=this@entry=0x9a24190) at /home/appimage/persistent/krita/libs/image/kis_image.cc:1261 #8 0x00007ffff31b9001 in KisImage::~KisImage (this=0x9a24190, __in_chrg=<optimized out>) at /home/appimage/persistent/krita/libs/image/kis_image.cc:263 #9 0x00007ffff31b9219 in KisImage::~KisImage (this=0x9a24190, __in_chrg=<optimized out>) at /home/appimage/persistent/krita/libs/image/kis_image.cc:267 #10 0x00007ffff31b19f6 in deref (sp=<optimized out>, t=<optimized out>) at /home/appimage/persistent/krita/libs/global/kis_shared_ptr.h:214 #11 deref (this=0x9a1cd38) at /home/appimage/persistent/krita/libs/global/kis_shared_ptr.h:221 #12 ~KisSharedPtr (this=0x9a1cd38, __in_chrg=<optimized out>) at /home/appimage/persistent/krita/libs/global/kis_shared_ptr.h:109 #13 ~StopIsolatedModeStroke (this=0x9a1cce0, __in_chrg=<optimized out>) at /home/appimage/persistent/krita/libs/image/kis_image.cc:1342 #14 KisImage::StopIsolatedModeStroke::~StopIsolatedModeStroke (this=0x9a1cce0, __in_chrg=<optimized out>) at /home/appimage/persistent/krita/libs/image/kis_image.cc:1342 #15 0x00007ffff319a832 in execute (this=<optimized out>) at /home/appimage/appimage-workspace/deps/usr/include/QtCore/qsharedpointer_impl.h:195 #16 QtSharedPointer::ExternalRefCountWithCustomDeleter<KisStroke, QtSharedPointer::NormalDeleter>::deleter (self=<optimized out>) at /home/appimage/appimage-workspace/deps/usr/include/QtCore/qsharedpointer_impl.h:213 #17 0x00007ffff3198b09 in destroy (this=0x9a23f40) at /home/appimage/appimage-workspace/deps/usr/include/QtCore/qsharedpointer_impl.h:157 #18 deref (dd=0x9a23f40) at /home/appimage/appimage-workspace/deps/usr/include/QtCore/qsharedpointer_impl.h:461 #19 deref (this=<optimized out>) at /home/appimage/appimage-workspace/deps/usr/include/QtCore/qsharedpointer_impl.h:456 #20 ~QSharedPointer (this=<synthetic pointer>, __in_chrg=<optimized out>) at /home/appimage/appimage-workspace/deps/usr/include/QtCore/qsharedpointer_impl.h:313 #21 KisStrokesQueue::checkStrokeState (this=this@entry=0x9a1c550, hasStrokeJobsRunning=hasStrokeJobsRunning@entry=false, runningLevelOfDetail=runningLevelOfDetail@entry=-1) at /home/appimage/persistent/krita/libs/image/kis_strokes_queue.cpp:778 #22 0x00007ffff3198db6 in KisStrokesQueue::processOneJob (this=this@entry=0x9a1c550, updaterContext=..., externalJobsPending=externalJobsPending@entry=false) at /home/appimage/persistent/krita/libs/image/kis_strokes_queue.cpp:699 #23 0x00007ffff3198efe in KisStrokesQueue::processQueue (this=0x9a1c550, updaterContext=..., externalJobsPending=<optimized out>) at /home/appimage/persistent/krita/libs/image/kis_strokes_queue.cpp:560 #24 0x00007ffff31a16f0 in KisUpdateScheduler::processQueues (this=0x9a2bdd8) at /home/appimage/persistent/krita/libs/image/kis_update_scheduler.cpp:409 #25 0x00007ffff58b11df in QMetaObject::activate(QObject*, int, int, void**) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #26 0x00007ffff318fa10 in KisUpdaterContext::slotJobFinished (this=<optimized out>) at /home/appimage/persistent/krita/libs/image/kis_updater_context.cpp:252 #27 0x00007ffff58b11df in QMetaObject::activate(QObject*, int, int, void**) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #28 0x00007ffff32d9b74 in sigJobFinished (this=0x9a2a740) at /home/appimage/appimage-workspace/krita-build/libs/image/moc_kis_update_job_item.cpp:164 #29 KisUpdateJobItem::run (this=0x9a2a740) at /home/appimage/appimage-workspace/krita-build/libs/image/../../../../persistent/krita/libs/image/kis_update_job_item.h:99 #30 0x00007ffff56b9d72 in ?? () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #31 0x00007ffff56bcbdf in ?? () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #32 0x00007fffefc72184 in start_thread (arg=0x7fffcf8da700) at pthread_create.c:312 #33 0x00007ffff4e2603d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 5 (Thread 0x7fffcf0d9700 (LWP 29728)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007ffff56bdaab in QWaitCondition::wait(QMutex*, unsigned long) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #2 0x00007ffff56b6bc7 in QSemaphore::tryAcquire(int, int) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #3 0x00007ffff30c2e53 in KisTileDataSwapper::waitForWork (this=<optimized out>) at /home/appimage/persistent/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86 #4 0x00007ffff30c301a in KisTileDataSwapper::run (this=0x7ffff35a1060 <_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder+64>) at /home/appimage/persistent/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92 ---Type <return> to continue, or q <return> to quit--- #5 0x00007ffff56bcbdf in ?? () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #6 0x00007fffefc72184 in start_thread (arg=0x7fffcf0d9700) at pthread_create.c:312 #7 0x00007ffff4e2603d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 3 (Thread 0x7fffd00db700 (LWP 29725)): #0 0x00007ffff4e18c9d in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007fffef327fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fffef3280ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff58d9ecc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #4 0x00007ffff588539b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #5 0x00007ffff56b7d4a in QThread::exec() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #6 0x00007fffefe9d615 in ?? () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5DBus.so.5 #7 0x00007ffff56bcbdf in ?? () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #8 0x00007fffefc72184 in start_thread (arg=0x7fffd00db700) at pthread_create.c:312 #9 0x00007ffff4e2603d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 2 (Thread 0x7fffe89c6700 (LWP 29724)): #0 0x00007ffff4e18c9d in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007ffff37feb72 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #2 0x00007ffff380064f in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #3 0x00007fffe9722859 in ?? () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5XcbQpa.so.5 #4 0x00007ffff56bcbdf in ?? () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #5 0x00007fffefc72184 in start_thread (arg=0x7fffe89c6700) at pthread_create.c:312 #6 0x00007ffff4e2603d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 1 (Thread 0x7fffe9a63780 (LWP 29720)): #0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38 #1 0x00007ffff56b4556 in QBasicMutex::lockInternal() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #2 0x00007ffff56b4816 in QMutex::lock() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #3 0x00007ffff3198534 in QMutexLocker (m=0x9a1c800, this=<synthetic pointer>) at /home/appimage/appimage-workspace/deps/usr/include/QtCore/qmutex.h:206 #4 KisStrokesQueue::sizeMetric (this=0x9a1c550) at /home/appimage/persistent/krita/libs/image/kis_strokes_queue.cpp:589 #5 0x00007ffff31a1697 in KisUpdateScheduler::processQueues (this=this@entry=0x9a2bdd8) at /home/appimage/persistent/krita/libs/image/kis_update_scheduler.cpp:406 #6 0x00007ffff31a1940 in KisUpdateScheduler::waitForDone (this=0x9a2bdd8) at /home/appimage/persistent/krita/libs/image/kis_update_scheduler.cpp:359 #7 0x00007ffff31b28ca in KisImage::waitForDone (this=this@entry=0x9a24190) at /home/appimage/persistent/krita/libs/image/kis_image.cc:1261 #8 0x00007ffff31b9001 in KisImage::~KisImage (this=0x9a24190, __in_chrg=<optimized out>) at /home/appimage/persistent/krita/libs/image/kis_image.cc:263 #9 0x00007ffff31b9219 in KisImage::~KisImage (this=0x9a24190, __in_chrg=<optimized out>) at /home/appimage/persistent/krita/libs/image/kis_image.cc:267 #10 0x00007ffff7731609 in deref (sp=<optimized out>, t=<optimized out>) at /home/appimage/persistent/krita/libs/global/kis_shared_ptr.h:214 #11 deref (this=0x95b0e60) at /home/appimage/persistent/krita/libs/global/kis_shared_ptr.h:221 #12 ~KisSharedPtr (this=0x95b0e60, __in_chrg=<optimized out>) at /home/appimage/persistent/krita/libs/global/kis_shared_ptr.h:109 #13 KisPresetLivePreviewView::~KisPresetLivePreviewView (this=0x95b0e30, __in_chrg=<optimized out>) at /home/appimage/persistent/krita/libs/ui/widgets/kis_preset_live_preview_view.cpp:33 #14 0x00007ffff7731649 in KisPresetLivePreviewView::~KisPresetLivePreviewView (this=0x95b0e30, __in_chrg=<optimized out>) at /home/appimage/persistent/krita/libs/ui/widgets/kis_preset_live_preview_view.cpp:37 #15 0x00007ffff58af4c5 in QObjectPrivate::deleteChildren() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #16 0x00007ffff6305412 in QWidget::~QWidget() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Widgets.so.5 #17 0x00007ffff76fbdc9 in KisPaintOpPresetsPopup::~KisPaintOpPresetsPopup (this=0x958e450, __in_chrg=<optimized out>) at /home/appimage/persistent/krita/libs/ui/widgets/kis_paintop_presets_popup.cpp:451 #18 0x00007ffff58af4c5 in QObjectPrivate::deleteChildren() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #19 0x00007ffff6305412 in QWidget::~QWidget() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Widgets.so.5 #20 0x00007ffff63ac599 in QFrame::~QFrame() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Widgets.so.5 #21 0x00007ffff770d835 in cleanup (pointer=<optimized out>) at /home/appimage/appimage-workspace/deps/usr/include/QtCore/qscopedpointer.h:60 #22 ~QScopedPointer (this=0x3ac4580, __in_chrg=<optimized out>) at /home/appimage/appimage-workspace/deps/usr/include/QtCore/qscopedpointer.h:107 #23 ~Private (this=0x3ac4580, __in_chrg=<optimized out>) at /home/appimage/persistent/krita/libs/ui/widgets/kis_popup_button.cc:36 #24 KisPopupButton::~KisPopupButton (this=0x3be3b30, __in_chrg=<optimized out>) at /home/appimage/persistent/krita/libs/ui/widgets/kis_popup_button.cc:55 #25 0x00007ffff78ae36b in ~KisIconWidget (this=0x3be3b30, __in_chrg=<optimized out>) at /home/appimage/appimage-workspace/krita-build/libs/ui/../../../../persistent/krita/libs/ui/widgets/kis_iconwidget.h:32 #26 KisIconWidget::~KisIconWidget (this=0x3be3b30, __in_chrg=<optimized out>) at /home/appimage/appimage-workspace/krita-build/libs/ui/../../../../persistent/krita/libs/ui/widgets/kis_iconwidget.h:32 #27 0x00007ffff58af4c5 in QObjectPrivate::deleteChildren() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #28 0x00007ffff6305412 in QWidget::~QWidget() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Widgets.so.5 #29 0x00007ffff6305629 in QWidget::~QWidget() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Widgets.so.5 #30 0x00007ffff58af4c5 in QObjectPrivate::deleteChildren() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 ---Type <return> to continue, or q <return> to quit--- #31 0x00007ffff6305412 in QWidget::~QWidget() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Widgets.so.5 #32 0x00007ffff75eb7a1 in KisPaintopBox::~KisPaintopBox (this=0x94f39a0, __in_chrg=<optimized out>) at /home/appimage/persistent/krita/libs/ui/kis_paintop_box.cc:520 #33 0x00007ffff75eb909 in KisPaintopBox::~KisPaintopBox (this=0x94f39a0, __in_chrg=<optimized out>) at /home/appimage/persistent/krita/libs/ui/kis_paintop_box.cc:542 #34 0x00007ffff630ceec in QWidgetAction::~QWidgetAction() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Widgets.so.5 #35 0x00007ffff630cf19 in QWidgetAction::~QWidgetAction() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Widgets.so.5 #36 0x00007ffff58af4c5 in QObjectPrivate::deleteChildren() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #37 0x00007ffff58b97ee in QObject::~QObject() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #38 0x00007ffff7823390 in ~KisControlFrame (this=0x8dfa100, __in_chrg=<optimized out>) at /home/appimage/persistent/krita/libs/ui/kis_control_frame.h:53 #39 ~KisViewManagerPrivate (this=0x8df9e70, __in_chrg=<optimized out>) at /home/appimage/persistent/krita/libs/ui/KisViewManager.cpp:154 #40 KisViewManager::~KisViewManager (this=0x32354c0, __in_chrg=<optimized out>) at /home/appimage/persistent/krita/libs/ui/KisViewManager.cpp:336 #41 0x00007ffff78235a9 in KisViewManager::~KisViewManager (this=0x32354c0, __in_chrg=<optimized out>) at /home/appimage/persistent/krita/libs/ui/KisViewManager.cpp:337 #42 0x00007ffff77f0cc8 in KisMainWindow::~KisMainWindow (this=0x3187230, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /home/appimage/persistent/krita/libs/ui/KisMainWindow.cpp:529 #43 0x00007ffff77f0ef9 in KisMainWindow::~KisMainWindow (this=0x3187230, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /home/appimage/persistent/krita/libs/ui/KisMainWindow.cpp:532 #44 0x00007ffff58b2b70 in QObject::event(QEvent*) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #45 0x00007ffff6309ff3 in QWidget::event(QEvent*) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Widgets.so.5 #46 0x00007ffff64175f1 in QMainWindow::event(QEvent*) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Widgets.so.5 #47 0x00007ffff6d06917 in KMainWindow::event (this=this@entry=0x3187230, ev=ev@entry=0x94ddad0) at /home/appimage/persistent/krita/libs/widgetutils/xmlgui/kmainwindow.cpp:780 #48 0x00007ffff6d37899 in KXmlGuiWindow::event (this=0x3187230, ev=0x94ddad0) at /home/appimage/persistent/krita/libs/widgetutils/xmlgui/kxmlguiwindow.cpp:125 #49 0x00007ffff62ce27c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Widgets.so.5 #50 0x00007ffff62d4fa0 in QApplication::notify(QObject*, QEvent*) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Widgets.so.5 #51 0x00007ffff77bdd07 in KisApplication::notify (this=<optimized out>, receiver=0x3187230, event=0x94ddad0) at /home/appimage/persistent/krita/libs/ui/KisApplication.cpp:652 #52 0x00007ffff5886e05 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #53 0x00007ffff5889823 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #54 0x00007ffff58da6a3 in ?? () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #55 0x00007fffef327e04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #56 0x00007fffef328048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #57 0x00007fffef3280ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #58 0x00007ffff58d9ecc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #59 0x00007fffe97af301 in ?? () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5XcbQpa.so.5 #60 0x00007ffff588539b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #61 0x00007ffff588dc14 in QCoreApplication::exec() () from /home/appimage/appimage-workspace/deps/usr/lib/libQt5Core.so.5 #62 0x00000000004052af in main (argc=1, argv=<optimized out>) at /home/appimage/persistent/krita/krita/main.cc:379
I guess you'll be looking into this?
Hi Dmitry, I've checked several times and for some reason here, with "Krita 4.1.0-pre-alpha (git dac4dc7) appimage" on "Ubuntu 14.04 LTS Unity", the crash does *not* happen. My steps: 1) start Krita 2) CTRL+N (RGB 8-bit 300 ppi, default layers) 3) paint 4) CTRL+J 5) CTRL+Q Hope it helps.
I get the hang with master, not with a build from the 4.0 branch and also not with last night's appimage (https://bugs.kde.org/show_bug.cgi?id=393508)
er, paste error: https://binary-factory.kde.org/job/Krita_Nightly_Appimage_Build/lastSuccessfulBuild/artifact/krita-4.1.0-pre-alpha-1d6a7e2-x86_64.appimage
Git commit a32ca9d9f9cfca7f93d52ded79b868ff7bf0e2c8 by Dmitry Kazakov. Committed on 07/05/2018 at 09:24. Pushed by dkazakov into branch 'master'. Fix a hangup when closing the image Sometimes KisImage::stopIsolatedMode() is called from within the context of the stroke, therefore we cannot start another nested stroke. M +7 -3 libs/image/kis_image.cc M +9 -1 libs/image/kis_image.h https://commits.kde.org/krita/a32ca9d9f9cfca7f93d52ded79b868ff7bf0e2c8
Git commit 249c53bcba947afbb17d21efc022b079b2706c95 by Dmitry Kazakov. Committed on 07/05/2018 at 09:26. Pushed by dkazakov into branch 'krita/4.0'. Fix a hangup when closing the image Sometimes KisImage::stopIsolatedMode() is called from within the context of the stroke, therefore we cannot start another nested stroke. M +7 -3 libs/image/kis_image.cc M +9 -1 libs/image/kis_image.h https://commits.kde.org/krita/249c53bcba947afbb17d21efc022b079b2706c95