Default shortcut Shift + Z doesn’t work for “Undo Polygon Selection Tool”. This bug exists probably only at Windows platform. On IRC raghukamath reported it’s working on Linux version. I have tested on Krita v2.8.91.0 (64bit), git 1039534
*** Bug 342485 has been marked as a duplicate of this bug. ***
Yes, I can confirm that it doesn't work -- shift-z seems broken for all polygon tools.
That's to say, it works for polyline, but causes a crash if you go back too far: hread 1 (Thread 0x7f1a9ac2e7c0 (LWP 2949)): [KCrash Handler] #5 0x00007f1a91eaf187 in raise () at /lib64/libc.so.6 #6 0x00007f1a91eb0538 in abort () at /lib64/libc.so.6 #7 0x00007f1a931ab2b4 in qt_message_output(QtMsgType, char const*) (msgType=msgType@entry=QtFatalMsg, buf=<optimized out>) at global/qglobal.cpp:2359 #8 0x00007f1a931ab439 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, msg=msg@entry=0x7f1a93318880 "ASSERT failure in %s: \"%s\", file %s, line %d", ap=ap@entry=0x7fffd73d95f8) at global/qglobal.cpp:2405 #9 0x00007f1a931abc44 in qFatal(char const*, ...) (msg=msg@entry=0x7f1a93318880 "ASSERT failure in %s: \"%s\", file %s, line %d") at global/qglobal.cpp:2588 #10 0x00007f1a931abcae in qt_assert_x(char const*, char const*, char const*, int) (where=where@entry=0x7f1a9a703a6b "QVector<T>::at", what=what@entry=0x7f1a9a5f6d66 "index out of range", file=file@entry=0x7f1a9a5f6314 "/usr/include/QtCore/qvector.h", line=line@entry=351) at global/qglobal.cpp:2062 #11 0x00007f1a9a4b08ff in KisToolPolylineBase::undoSelection() (i=-1, this=0x6062008) at /usr/include/QtCore/qvector.h:351 #12 0x00007f1a9a4b08ff in KisToolPolylineBase::undoSelection() (this=0x6061f00) at /home/boud/kde/src/2.9/krita/ui/tool/kis_tool_polyline_base.cpp:159 #13 0x00007f1a9a4b19bd in KisToolPolylineBase::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x6061f00, _c=2949, _id=0, _a=0xffffffffffffffff) at /home/boud/kde/build/2.9/krita/ui/kis_tool_polyline_base.moc:48 #14 0x00007f1a932cb1fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=0x60618a0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffd73d9920) at kernel/qobject.cpp:3576 #15 0x00007f1a93cbf622 in QAction::triggered(bool) () at /usr/lib64/libQtGui.so.4 #16 0x00007f1a93cc0fd3 in QAction::activate(QAction::ActionEvent) () at /usr/lib64/libQtGui.so.4 #17 0x00007f1a93cc112c in QAction::event(QEvent*) () at /usr/lib64/libQtGui.so.4 #18 0x00007f1a9490821f in KAction::event(QEvent*) () at /usr/lib64/libkdeui.so.5 #19 0x00007f1a93cc576c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #20 0x00007f1a93ccbcad in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #21 0x00007f1a9a55ef97 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x60618a0, event=0x7fffd73d9cd0) at /home/boud/kde/src/2.9/krita/ui/KisApplication.cpp:488 #22 0x00007f1a932b72ad in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7fffd73daa60, receiver=0x60618a0, event=0x7fffd73d9cd0) at kernel/qcoreapplication.cpp:953 #23 0x00007f1a93cf69d6 in () at /usr/lib64/libQtGui.so.4 #24 0x00007f1a93cf6b0c in () at /usr/lib64/libQtGui.so.4 #25 0x00007f1a93cccfe3 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4 #26 0x00007f1a9a55ef97 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x12d68a0, event=0x7fffd73da020) at /home/boud/kde/src/2.9/krita/ui/KisApplication.cpp:488 #27 0x00007f1a932b72ad in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7fffd73daa60, receiver=0x12d68a0, event=0x7fffd73da020) at kernel/qcoreapplication.cpp:953 #28 0x00007f1a93d5fab7 in () at /usr/lib64/libQtGui.so.4 #29 0x00007f1a93d5fe59 in () at /usr/lib64/libQtGui.so.4 #30 0x00007f1a93d3ba5f in QApplication::x11ProcessEvent(_XEvent*) () at /usr/lib64/libQtGui.so.4 #31 0x00007f1a93d62f30 in () at /usr/lib64/libQtGui.so.4 #32 0x00007f1a932b5e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffd73da810, flags=...) at kernel/qeventloop.cpp:149 #33 0x00007f1a932b6165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffd73da810, flags=...) at kernel/qeventloop.cpp:204 #34 0x00007f1a932bb5b9 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1225 #35 0x0000000000402a71 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /home/boud/kde/src/2.9/krita/main.cc:170
Git commit 3aa90c0cd29eb5677bb125ca363144e71372f2f6 by Boudewijn Rempt. Committed on 30/01/2015 at 11:15. Pushed by rempt into branch 'calligra/2.9'. Don't crash when undoing points M +13 -6 krita/ui/tool/kis_tool_polyline_base.cpp http://commits.kde.org/calligra/3aa90c0cd29eb5677bb125ca363144e71372f2f6
Git commit a930122190f2854ce5bc4028fb3698c1adbf8f85 by Boudewijn Rempt. Committed on 30/01/2015 at 11:28. Pushed by rempt into branch 'calligra/2.9'. M +11 -3 krita/ui/tool/kis_tool_polyline_base.cpp M +1 -0 krita/ui/tool/kis_tool_polyline_base.h http://commits.kde.org/calligra/a930122190f2854ce5bc4028fb3698c1adbf8f85