Bug 276150 - Crash when changing brush size in line tool with shortcut
Summary: Crash when changing brush size in line tool with shortcut
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Sven Langkamp
URL:
Keywords:
: 277137 277651 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-06-20 22:09 UTC by LukasT
Modified: 2011-10-11 20:41 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description LukasT 2011-06-20 22:09:13 UTC
Application: krita (2.4 Alpha 2)
KDE Platform Version: 4.6.3 (4.6.3)
Qt Version: 4.7.2
Operating System: Linux 2.6.35.13-92.fc14.i686 i686
Distribution: "Fedora release 14 (Laughlin)"

-- Information about the crash:
1. Select line tool
2. Press , or . to change brush size
3. Crash

The crash can be reproduced every time.

-- Backtrace:
Application: Krita (krita), signal: Segmentation fault
[Current thread is 1 (Thread 0xb61ea790 (LWP 6798))]

Thread 3 (Thread 0xafa13b70 (LWP 6802)):
#0  0x00630416 in __kernel_vsyscall ()
#1  0x0090a39b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x00b52b17 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#3  0x00b4f09a in QSemaphore::acquire(int) () from /usr/lib/libQtCore.so.4
#4  0x00ddf32b in KisTileDataPooler::waitForWork (this=0xb9c08b8) at /home/lukas/src/calligra/krita/image/tiles3/kis_tile_data_pooler.cc:162
#5  0x00ddfa88 in KisTileDataPooler::run (this=0xb9c08b8) at /home/lukas/src/calligra/krita/image/tiles3/kis_tile_data_pooler.cc:184
#6  0x00b52423 in ?? () from /usr/lib/libQtCore.so.4
#7  0x00905e99 in start_thread () from /lib/libpthread.so.0
#8  0x01e8dd2e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xb0214b70 (LWP 6803)):
#0  0x00630416 in __kernel_vsyscall ()
#1  0x0090a39b in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x00b52b17 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#3  0x00b4f32d in QSemaphore::tryAcquire(int, int) () from /usr/lib/libQtCore.so.4
#4  0x00e00890 in KisTileDataSwapper::waitForWork (this=0xb9c08d8) at /home/lukas/src/calligra/krita/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#5  0x00e00a04 in KisTileDataSwapper::run (this=0xb9c08d8) at /home/lukas/src/calligra/krita/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#6  0x00b52423 in ?? () from /usr/lib/libQtCore.so.4
#7  0x00905e99 in start_thread () from /lib/libpthread.so.0
#8  0x01e8dd2e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb61ea790 (LWP 6798)):
[KCrash Handler]
#7  KisSharedPtr (this=0x0) at /home/lukas/src/calligra/krita/image/kis_shared_ptr.h:102
#8  KisPaintOpPreset::settings (this=0x0) at /home/lukas/src/calligra/krita/image/brushengine/kis_paintop_preset.cpp:111
#9  0x0048f76b in KisToolFreehand::increaseBrushSize (this=0xc6ff6e0) at /home/lukas/src/calligra/krita/ui/tool/kis_tool_freehand.cc:647
#10 0x0048f983 in KisToolFreehand::qt_metacall (this=0xc6ff6e0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xbf976488) at /home/lukas/src/build/calligra/krita/ui/kis_tool_freehand.moc:83
#11 0x06bcfa1a in KisToolDyna::qt_metacall (this=0xc6ff6e0, _c=QMetaObject::InvokeMetaMethod, _id=33, _a=0xbf976488) at /home/lukas/src/build/calligra/krita/plugins/tools/tool_dyna/kis_tool_dyna.moc:80
#12 0x00c504fb in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#13 0x00c5fa27 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#14 0x0144a144 in QAction::activated(int) () from /usr/lib/libQtGui.so.4
#15 0x0144a1e4 in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQtGui.so.4
#16 0x0144a388 in QAction::event(QEvent*) () from /usr/lib/libQtGui.so.4
#17 0x031cbc14 in KAction::event(QEvent*) () from /usr/lib/libkdeui.so.5
#18 0x014511ec in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#19 0x01455ef2 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#20 0x032c5feb in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#21 0x00c49cc3 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#22 0x01488bc7 in ?? () from /usr/lib/libQtGui.so.4
#23 0x0148a0c7 in ?? () from /usr/lib/libQtGui.so.4
#24 0x01457e8d in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#25 0x032c5feb in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#26 0x00c49cc3 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#27 0x0144f24f in ?? () from /usr/lib/libQtGui.so.4
#28 0x01500c8e in ?? () from /usr/lib/libQtGui.so.4
#29 0x01501114 in ?? () from /usr/lib/libQtGui.so.4
#30 0x014d9cc2 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#31 0x01505e59 in ?? () from /usr/lib/libQtGui.so.4
#32 0x00c48e5a in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#33 0x00c4910a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#34 0x00c4dcb7 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#35 0x0144eff8 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#36 0x002647bd in kdemain (argc=1, argv=0xbf9777a4) at /home/lukas/src/calligra/krita/main.cc:49
#37 0x0804881b in main (argc=1, argv=0xbf9777a4) at /home/lukas/src/build/calligra/krita/krita_dummy.cpp:3

Reported using DrKonqi
Comment 1 LukasT 2011-07-06 14:08:59 UTC
*** Bug 277137 has been marked as a duplicate of this bug. ***
Comment 2 LukasT 2011-07-12 21:07:41 UTC
*** Bug 277651 has been marked as a duplicate of this bug. ***
Comment 3 Sven Langkamp 2011-07-12 22:34:37 UTC
I found the problem, just need to figure out how to fix it.
Comment 4 Sven Langkamp 2011-07-13 20:22:47 UTC
Git commit ea49bd25f559b075ee08217fb4f45a42fb471e85 by Sven Langkamp.
Committed on 13/07/2011 at 22:19.
Pushed by langkamp into branch 'master'.

disable actions from tools that are not the active tool
BUG:276150

M  +10   -0    libs/flake/KoToolManager.cpp     

http://commits.kde.org/calligra/ea49bd25f559b075ee08217fb4f45a42fb471e85
Comment 5 Camilla Boemann 2011-10-11 20:41:58 UTC
Git commit c8c8e9dc4506987006e95572ab7fe73b77e810dd by C. Boemann.
Committed on 11/10/2011 at 22:11.
Pushed by boemann into branch 'master'.

Revert earlier commit ea49bd25f559b075ee08217fb4f45a42fb471e85 as it was not logically correct

Instead when a tool inherits actions from a base class then the tool needs to enable and disable
the actions itself.

CCBUG:276150

M  +10   -0    krita/ui/tool/kis_tool_paint.cc
M  +1    -0    krita/ui/tool/kis_tool_paint.h
M  +14   -12   libs/flake/KoToolManager.cpp

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