Bug 303311 - JJ: Menu entries in the layer menu are not disabled when the active layer is locked
Summary: JJ: Menu entries in the layer menu are not disabled when the active layer is ...
Alias: None
Product: krita
Classification: Unclassified
Component: Usability (show other bugs)
Version: git master (please specify the git hash!)
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
Depends on:
Reported: 2012-07-10 15:33 UTC by Sven Langkamp
Modified: 2013-02-17 22:04 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Note You need to log in before you can comment on or make changes to this bug.
Description Sven Langkamp 2012-07-10 15:33:37 UTC
See topic.

Reproducible: Always

Steps to Reproduce:
1. Lock active layer
2. open layer menu
Actual Results:  
Menu entries like mirror are not disabled.

Expected Results:  
Should be disabled.
Comment 1 Halla Rempt 2012-08-08 19:00:19 UTC
Moreover, there is a crash when selecting mirror, both in 2.5 and in master. Create a new image, 1000x1000, lock the layer, select mirror:

ASSERT: "w > 0" in file /home/boud/kde/src/2.5/krita/image/tiles3/kis_hline_iterator.cpp, line 29

[KCrash Handler]
#5  0x00007fa76f708d25 in raise () from /lib64/libc.so.6
#6  0x00007fa76f70a1a8 in abort () from /lib64/libc.so.6
#7  0x00007fa777f05a54 in qt_message_output (msgType=msgType@entry=QtFatalMsg, buf=<optimized out>) at global/qglobal.cpp:2260
#8  0x00007fa777f05c08 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, msg=msg@entry=0x7fa77806ccc8 "ASSERT: \"%s\" in file %s, line %d", ap=ap@entry=0x7fff40cd5308) at global/qglobal.cpp:2306
#9  0x00007fa777f05d94 in qFatal (msg=msg@entry=0x7fa77806ccc8 "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2489
#10 0x00007fa777f05dda in qt_assert (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at global/qglobal.cpp:2007
#11 0x00007fa7770d5933 in KisHLineIterator2::KisHLineIterator2 (this=0x5360dd0, dataManager=0x54647d0, x=2147483647, y=2147483647, w=<optimized out>, offsetX=<optimized out>, offsetY=0, writable=false, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /home/boud/kde/src/2.5/krita/image/tiles3/kis_hline_iterator.cpp:29
#12 0x00007fa777231b31 in KisPaintDevice::createHLineConstIteratorNG (this=0x24f9fa0, x=2147483647, y=2147483647, w=<optimized out>) at /home/boud/kde/src/2.5/krita/image/kis_paint_device.cc:786
#13 0x00007fa777283870 in KisTransformWorker::mirrorX (dev=..., selection=0x0) at /home/boud/kde/src/2.5/krita/image/kis_transform_worker.cc:696
#14 0x00007fa777877f3e in KisMirrorVisitor::visit (this=0x7fff40cd5a30, layer=0x4f5de20) at /home/boud/kde/src/2.5/krita/ui/kis_mirror_visitor.cpp:102
#15 0x00007fa7777fe373 in KisNodeManager::mirrorNode (this=this@entry=0x706a830, node=..., commandName=..., orientation=orientation@entry=Qt::Horizontal) at /home/boud/kde/src/2.5/krita/ui/kis_node_manager.cpp:550
#16 0x00007fa777800d64 in KisNodeManager::mirrorNodeX (this=this@entry=0x706a830) at /home/boud/kde/src/2.5/krita/ui/kis_node_manager.cpp:489
#17 0x00007fa777806a8d in KisNodeManager::qt_static_metacall (_o=0x706a830, _c=<optimized out>, _id=15, _a=0x7fff40cd5d30) at /home/boud/kde/build/2.5/krita/ui/kis_node_manager.moc:107
#18 0x00007fa7780209ff in QMetaObject::activate (sender=0x706f560, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff40cd5d30) at kernel/qobject.cpp:3556
#19 0x00007fa770e03442 in QAction::triggered(bool) () from /usr/lib64/libQtGui.so.4
#20 0x00007fa770e03630 in QAction::activate(QAction::ActionEvent) () from /usr/lib64/libQtGui.so.4
#21 0x00007fa77123c613 in ?? () from /usr/lib64/libQtGui.so.4
#22 0x00007fa771242929 in ?? () from /usr/lib64/libQtGui.so.4
#23 0x00007fa771bd6170 in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libkdeui.so.5
#24 0x00007fa770e58cb0 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#25 0x00007fa771243bdb in QMenu::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#26 0x00007fa770e0964c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#27 0x00007fa770e0e32b in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#28 0x00007fa771b1d076 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#29 0x00007fa77800a16e in QCoreApplication::notifyInternal (this=0x7fff40cd7390, receiver=0x709d840, event=0x7fff40cd68d0) at kernel/qcoreapplication.cpp:915
#30 0x00007fa770e0a48b in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQtGui.so.4
Comment 2 Sven Langkamp 2013-02-14 21:56:35 UTC
Git commit ec19c45ea862de9fbc675921a6cd5a64dad5fde3 by Sven Langkamp.
Committed on 14/02/2013 at 22:53.
Pushed by langkamp into branch 'master'.

don't mess with the rect if it's empty anyway, prevent some overflow

M  +1    -1    krita/image/kis_transform_worker.cc

Comment 3 Sven Langkamp 2013-02-17 22:04:21 UTC
Git commit c420a2c41eaf15d0d22796a8169419b2fccdd8e1 by Sven Langkamp.
Committed on 17/02/2013 at 23:02.
Pushed by langkamp into branch 'master'.

move more layer actions to new action system

M  +8    -3    krita/plugins/extensions/colorspaceconversion/colorspaceconversion.cc
M  +6    -25   krita/plugins/extensions/histogram/histogram.cc
M  +1    -6    krita/plugins/extensions/histogram/histogram.h
M  +6    -13   krita/plugins/extensions/imagesize/imagesize.cc
M  +1    -3    krita/plugins/extensions/imagesize/imagesize.h
M  +6    -2    krita/plugins/extensions/metadataeditor/metadataeditor.cc
M  +18   -25   krita/plugins/extensions/rotateimage/rotateimage.cc
M  +6    -7    krita/plugins/extensions/rotateimage/rotateimage.h
M  +8    -13   krita/plugins/extensions/shearimage/shearimage.cc
M  +4    -3    krita/ui/kis_layer_manager.cc
M  +1    -1    krita/ui/kis_layer_manager.h