Bug 327319

Summary: [Crop Tool] Activating "Aspect Ratio" checkbox and changing the frame size crashes Krita
Product: [Applications] krita Reporter: Dmitry Kazakov <dimula73>
Component: ToolsAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Dmitry Kazakov 2013-11-08 17:48:51 UTC
1) Activate crop tool
2) Check the "Aspect Ratio" checkbox
3) Change the crop rect

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff0b5df44 in QTextEngine::itemize (this=0x26c6830) at text/qtextengine.cpp:1432
1432    {
(gdb) bt
#0  0x00007ffff0b5df44 in QTextEngine::itemize (this=0x26c6830) at text/qtextengine.cpp:1432
#1  0x00007ffff0b601e5 in QTextEngine::attributes (this=0x26c6830) at text/qtextengine.cpp:1344
#2  0x00007ffff0b6684e in QTextLine::layout_helper (this=0x7fffff804770, maxGlyphs=2147483647) at text/qtextlayout.cpp:1859
#3  0x00007ffff0b68365 in QTextLayout::endLayout (this=0x256ccb8) at text/qtextlayout.cpp:615
#4  0x00007ffff0d1b80f in QLineControl::updateDisplayText (this=0x256cc00, forceUpdate=false) at widgets/qlinecontrol.cpp:134
#5  0x00007ffff0d1de7a in QLineControl::finishChange (this=0x256cc00, validateFromState=-1, update=<optimized out>, edited=false) at widgets/qlinecontrol.cpp:651
#6  0x00007ffff0d1e1ec in QLineControl::internalSetText (this=0x256cc00, txt=<optimized out>, pos=<optimized out>, edited=false) at widgets/qlinecontrol.cpp:690
#7  0x00007ffff0ccc9a1 in QAbstractSpinBoxPrivate::updateEdit (this=0x261c0a0) at widgets/qabstractspinbox.cpp:1742
#8  0x00007ffff0cce4a2 in QAbstractSpinBoxPrivate::setValue (this=<optimized out>, val=..., ep=EmitIfChanged, doUpdate=true) at widgets/qabstractspinbox.cpp:1714
#9  0x00007ffff0d5c8b3 in QSpinBox::setValue (this=<optimized out>, value=<optimized out>) at widgets/qspinbox.cpp:259
#10 0x00007fffd4b3c54f in KisToolCropConfigWidget::cropWidthChanged (this=0x28769c0) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kistoolcropconfigwidget.cpp:80
#11 0x00007fffd4b31a51 in KisToolCropConfigWidget::qt_metacall (this=0x28769c0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fffff804b00)
    at /home/devel/kde-build/calligra/krita/plugins/tools/tool_crop/moc_kistoolcropconfigwidget.cpp:123
#12 0x00007fffefcd159a in QMetaObject::activate (sender=0x4556210, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3287
#13 0x00007fffd4b36f5a in cropWidthChanged (this=0x4556210) at /home/devel/kde-build/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.moc:312
#14 KisToolCrop::setCropWidth (this=0x4556210, w=490) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:630
#15 0x00007fffd4b35cf5 in KisToolCrop::updateValues (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:338
#16 0x00007fffd4b35df0 in KisToolCrop::validateSelection (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:386
#17 0x00007fffd4b3611f in KisToolCrop::setCropHeight (this=0x4556210, h=343) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:679
#18 0x00007fffd4b35d00 in KisToolCrop::updateValues (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:339
#19 0x00007fffd4b35df0 in KisToolCrop::validateSelection (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:386
#20 0x00007fffd4b36f67 in KisToolCrop::setCropWidth (this=0x4556210, w=491) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:632
#21 0x00007fffd4b35cf5 in KisToolCrop::updateValues (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:338
#22 0x00007fffd4b35df0 in KisToolCrop::validateSelection (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:386
#23 0x00007fffd4b3611f in KisToolCrop::setCropHeight (this=0x4556210, h=344) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:679
#24 0x00007fffd4b35d00 in KisToolCrop::updateValues (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:339
#25 0x00007fffd4b35df0 in KisToolCrop::validateSelection (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:386
#26 0x00007fffd4b3611f in KisToolCrop::setCropHeight (this=0x4556210, h=344) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:679
#27 0x00007fffd4b35d00 in KisToolCrop::updateValues (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:339
#28 0x00007fffd4b35df0 in KisToolCrop::validateSelection (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:386
#29 0x00007fffd4b3611f in KisToolCrop::setCropHeight (this=0x4556210, h=344) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:679
#30 0x00007fffd4b35d00 in KisToolCrop::updateValues (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:339
#31 0x00007fffd4b35df0 in KisToolCrop::validateSelection (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:386
#32 0x00007fffd4b3611f in KisToolCrop::setCropHeight (this=0x4556210, h=344) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:679
#33 0x00007fffd4b35d00 in KisToolCrop::updateValues (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:339
#34 0x00007fffd4b35df0 in KisToolCrop::validateSelection (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:386
#35 0x00007fffd4b3611f in KisToolCrop::setCropHeight (this=0x4556210, h=344) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:679
#36 0x00007fffd4b35d00 in KisToolCrop::updateValues (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:339
#37 0x00007fffd4b35df0 in KisToolCrop::validateSelection (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:386
#38 0x00007fffd4b3611f in KisToolCrop::setCropHeight (this=0x4556210, h=344) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:679
#39 0x00007fffd4b35d00 in KisToolCrop::updateValues (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:339
#40 0x00007fffd4b35df0 in KisToolCrop::validateSelection (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:386
#41 0x00007fffd4b3611f in KisToolCrop::setCropHeight (this=0x4556210, h=344) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:679
#42 0x00007fffd4b35d00 in KisToolCrop::updateValues (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:339
#43 0x00007fffd4b35df0 in KisToolCrop::validateSelection (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:386
#44 0x00007fffd4b3611f in KisToolCrop::setCropHeight (this=0x4556210, h=344) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:679
#45 0x00007fffd4b35d00 in KisToolCrop::updateValues (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:339
#46 0x00007fffd4b35df0 in KisToolCrop::validateSelection (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:386
#47 0x00007fffd4b3611f in KisToolCrop::setCropHeight (this=0x4556210, h=344) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:679
#48 0x00007fffd4b35d00 in KisToolCrop::updateValues (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:339
#49 0x00007fffd4b35df0 in KisToolCrop::validateSelection (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:386
#50 0x00007fffd4b3611f in KisToolCrop::setCropHeight (this=0x4556210, h=344) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:679
#51 0x00007fffd4b35d00 in KisToolCrop::updateValues (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:339
#52 0x00007fffd4b35df0 in KisToolCrop::validateSelection (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:386
#53 0x00007fffd4b3611f in KisToolCrop::setCropHeight (this=0x4556210, h=344) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:679
#54 0x00007fffd4b35d00 in KisToolCrop::updateValues (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:339
#55 0x00007fffd4b35df0 in KisToolCrop::validateSelection (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:386
#56 0x00007fffd4b3611f in KisToolCrop::setCropHeight (this=0x4556210, h=344) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:679
#57 0x00007fffd4b35d00 in KisToolCrop::updateValues (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:339
#58 0x00007fffd4b35df0 in KisToolCrop::validateSelection (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:386
#59 0x00007fffd4b3611f in KisToolCrop::setCropHeight (this=0x4556210, h=344) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:679
#60 0x00007fffd4b35d00 in KisToolCrop::updateValues (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:339
#61 0x00007fffd4b35df0 in KisToolCrop::validateSelection (this=0x4556210, updateratio=true) at /home/devel/kde-src/calligra/krita/plugins/tools/tool_crop/kis_tool_crop.cc:386
---Type <return> to continue, or q <return> to quit---
Comment 1 Halla Rempt 2013-11-13 10:02:57 UTC
Git commit a67d11082a3196704b9322df86dbcc62fa0e394d by Boudewijn Rempt.
Committed on 13/11/2013 at 09:59.
Pushed by rempt into branch 'master'.

Various improvements to the crop tool
Related: bug 327318, bug 318885, bug 327536, bug 326952, bug 326933
CCMAIL: wlingflute@gmail.com
Patch by  Michael Martini. Thanks!

In addition a new decoration type has been added called crosshair. In
summary two new checkboxes have been added. One that allows the user to
either limit the crop to the current image size or grow the crop selection
beyond the image boundaries. The second checkbox enables center growing /
symmetric resizing of the crop bounds.

M  +287  -124  krita/plugins/tools/tool_crop/kis_tool_crop.cc
M  +14   -19   krita/plugins/tools/tool_crop/kis_tool_crop.h
M  +46   -3    krita/plugins/tools/tool_crop/kistoolcropconfigwidget.cpp
M  +7    -2    krita/plugins/tools/tool_crop/kistoolcropconfigwidget.h
M  +25   -0    krita/plugins/tools/tool_crop/wdg_tool_crop.ui

http://commits.kde.org/calligra/a67d11082a3196704b9322df86dbcc62fa0e394d