Bug 365179

Summary: Crash when nudging a hidden layer
Product: [Applications] krita Reporter: Chris Jones <chrjs>
Component: GeneralAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: halla
Priority: NOR    
Version First Reported In: 3.0   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Chris Jones 2016-07-07 05:46:16 UTC
A crash occurs when a hidden layer is nudged using the arrow keys.  This happens frequently when trying to accurately position a layer while hiding/unhiding it to check if it's in the right position.

Reproducible: Always

Steps to Reproduce:
1.  Create a new image with 2 layers
2.  Select the move tool and select layer 2
3.  Hide layer 2 and press an arrow key

Actual Results:  
Crash.
Comment 1 Halla Rempt 2016-07-07 08:29:08 UTC
Hi Chris,

Thanks for your report. I can confirm the crash.

#0  KisStroke::lodBuddy (this=this@entry=0x0) at /home/boud/dev/krita/libs/image/kis_stroke.cpp:292
#1  0x00007ffff68cc8ac in KisStrokesQueue::addJob (this=<optimized out>, id=..., data=0x8a6de20)
    at /home/boud/dev/krita/libs/image/kis_strokes_queue.cpp:255
#2  0x00007ffff68d5975 in KisUpdateScheduler::addJob (this=0x6f37090, id=..., data=data@entry=0x8a6de20)
    at /home/boud/dev/krita/libs/image/kis_update_scheduler.cpp:187
#3  0x00007ffff68eaf15 in KisImage::addJob (this=this@entry=0x6f32e20, id=..., data=data@entry=0x8a6de20)
    at /home/boud/dev/krita/libs/image/kis_image.cc:1270
#4  0x00007fffd15fbceb in KisToolMove::moveDiscrete (this=0x6cee900, direction=<optimized out>, big=<optimized out>)
    at /home/boud/dev/krita/plugins/tools/basictools/kis_tool_move.cc:188
#5  0x00007ffff08d0a63 in QMetaObject::activate(QObject*, int, int, void**) () from /home/boud/dev/deps/lib/libQt5Core.so.5
#6  0x00007ffff16fd392 in QAction::triggered(bool) () from /home/boud/dev/deps/lib/libQt5Widgets.so.5
#7  0x00007ffff16fff2d in QAction::activate(QAction::ActionEvent) () from /home/boud/dev/deps/lib/libQt5Widgets.so.5
#8  0x00007ffff17000f4 in QAction::event(QEvent*) () from /home/boud/dev/deps/lib/libQt5Widgets.so.5
#9  0x00007ffff17067dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /home/boud/dev/deps/lib/libQt5Widgets.so.5
#10 0x00007ffff170ac12 in QApplication::notify(QObject*, QEvent*) () from /home/boud/dev/deps/lib/libQt5Widgets.so.5
#11 0x00007ffff78eb0b7 in KisApplication::notify (this=<optimized out>, receiver=0x6e48b70, event=0x7fffffffcda0)
    at /home/boud/dev/krita/libs/ui/KisApplication.cpp:505
#12 0x00007ffff08a6955 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
   from /home/boud/dev/deps/lib/libQt5Core.so.5
#13 0x00007ffff0efbc0f in QShortcutMap::dispatchEvent(QKeyEvent*) () from /home/boud/dev/deps/lib/libQt5Gui.so.5
#14 0x00007ffff0efbcd4 in QShortcutMap::tryShortcut(QKeyEvent*) () from /home/boud/dev/deps/lib/libQt5Gui.so.5
#15 0x00007ffff0eb8dab in QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short) ()
   from /home/boud/dev/deps/lib/libQt5Gui.so.5
#16 0x00007ffff0ecd357 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) ()
   from /home/boud/dev/deps/lib/libQt5Gui.so.5
#17 0x00007ffff0ed1c65 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /home/boud/dev/deps/lib/libQt5Gui.so.5
#18 0x00007ffff0eb387b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /home/boud/dev/deps/lib/libQt5Gui.so.5
#19 0x00007fffe7716cd0 in ?? () from /home/boud/dev/deps/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#20 0x00007fffebd40c84 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#21 0x00007fffebd40ed8 in ?? () from /usr/lib64/libglib-2.0.so.0
#22 0x00007fffebd40f7c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#23 0x00007ffff08f69dc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /home/boud/dev/deps/lib/libQt5Core.so.5
#24 0x00007ffff08a4b2b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /home/boud/dev/deps/lib/libQt5Core.so.5
#25 0x00007ffff08ac886 in QCoreApplication::exec() () from /home/boud/dev/deps/lib/libQt5Core.so.5
#26 0x0000000000404fae in main (argc=1, argv=<optimized out>) at /home/boud/dev/krita/krita/main.cc:230
Comment 2 Halla Rempt 2016-07-07 08:44:59 UTC
Git commit f8336a8ff5b08b9b4342b6aa6115f1d9f344423e by Boudewijn Rempt.
Committed on 07/07/2016 at 08:44.
Pushed by rempt into branch 'krita/3.0'.

M  +3    -0    plugins/tools/basictools/kis_tool_move.cc

http://commits.kde.org/krita/f8336a8ff5b08b9b4342b6aa6115f1d9f344423e