Bug 184473 - Reproducable Crash in Albumview
Summary: Reproducable Crash in Albumview
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Thumbs-BarView (show other bugs)
Version: 0.10.0
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-02-16 00:22 UTC by Ian Hubbertz
Modified: 2017-08-15 12:42 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 0.10.0
Sentry Crash Report:


Attachments
Patch (591 bytes, patch)
2009-02-16 23:51 UTC, Ian Hubbertz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ian Hubbertz 2009-02-16 00:22:44 UTC
Version:           0.10.0-rc2 (using KDE 4.2.0)
Compiler:          gcc-Version 4.3.3 (Gentoo 4.3.3 p1.0, pie-10.1.5) target amd64
OS:                Linux
Installed from:    Gentoo Packages

Thread 1 (Thread 0x7f8e92993750 (LWP 20652)):
#0  0x00007f8e8b9ebdc1 in nanosleep () from /lib/libc.so.6
#1  0x00007f8e8b9ebbe7 in sleep () from /lib/libc.so.6
#2  0x00007f8e8e5f6e49 in ?? () from /usr/kde/4.2/lib64/libkdeui.so.5
#3  0x00007f8e8e5f774a in KCrash::defaultCrashHandler () from /usr/kde/4.2/lib64/libkdeui.so.5
#4  <signal handler called>

------------>
#5  0x00007f8e8fdd8720 in Digikam::ThumbBarItem::repaint () from /usr/kde
/4.2/lib64/libdigikamcore.so.1
<------------

#6  0x0000000000627bd6 in ?? ()
#7  0x00007f8e8c78ee87 in QCoreApplicationPrivate::sendThroughObjectEventFilters () from /usr/lib64/qt4/libQtCore.so.4
#8  0x00007f8e8d2bbd8c in QApplicationPrivate::notify_helper () from /usr/lib64/qt4/libQtGui.so.4
#9  0x00007f8e8d2c369a in QApplication::notify () from /usr/lib64/qt4/libQtGui.so.4
#10 0x00007f8e8e595c3b in KApplication::notify () from /usr/kde/4.2/lib64/libkdeui.so.5
#11 0x00007f8e8c78fb23 in QCoreApplication::notifyInternal () from /usr/lib64/qt4/libQtCore.so.4
#12 0x00007f8e8d2c4a70 in QApplicationPrivate::dispatchEnterLeave () from /usr/lib64/qt4/libQtGui.so.4
#13 0x00007f8e8d2c54f5 in QApplicationPrivate::sendMouseEvent () from /usr/lib64/qt4/libQtGui.so.4
#14 0x00007f8e8d31e24c in ?? () from /usr/lib64/qt4/libQtGui.so.4
#15 0x00007f8e8d31d11d in QApplication::x11ProcessEvent () from /usr/lib64/qt4/libQtGui.so.4
#16 0x00007f8e8d3415b4 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#17 0x00007f8e89065fc1 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#18 0x00007f8e8906969d in ?? () from /usr/lib/libglib-2.0.so.0
#19 0x00007f8e8906985b in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#20 0x00007f8e8c7b4a0f in QEventDispatcherGlib::processEvents () from /usr/lib64/qt4/libQtCore.so.4
#21 0x00007f8e8d340e7f in ?? () from /usr/lib64/qt4/libQtGui.so.4
#22 0x00007f8e8c78e522 in QEventLoop::processEvents () from /usr/lib64/qt4/libQtCore.so.4
#23 0x00007f8e8c78e6b5 in QEventLoop::exec () from /usr/lib64/qt4/libQtCore.so.4
#24 0x00007f8e8c7906b4 in QCoreApplication::exec () from /usr/lib64/qt4/libQtCore.so.4
#25 0x000000000065fec7 in ?? ()
#26 0x00007f8e8b96a5c6 in __libc_start_main () from /lib/libc.so.6
#27 0x0000000000457bc9 in _start ()
Comment 1 Ian Hubbertz 2009-02-16 00:28:07 UTC
Since update to 0.10.0-rc2 (from rc1) digikam crashes in Albumview very often.
(Usually after less than  1 minute runtime).
Comment 2 caulier.gilles 2009-02-16 06:17:06 UTC
There is no suitable debug symbols. please recompile digiKam with full-debug option.

Note : crash is not reproducible here.

Gilles Caulier
Comment 3 Ian Hubbertz 2009-02-16 17:52:51 UTC
It was compiled from gentoo's portage. I will try to compile with debug symbols this evening.

However, I already had a look at the registers yesterday and %rdi was 0.
%rdi is the first argument - other said, the this-pointer, so the ThumbBarItem object is NULL.
Comment 4 Marcel Wiesweg 2009-02-16 19:48:15 UTC
As Gilles already said, it would be great to have the debug info for line #6, which must be the problem here.
What do you do when this crash occurs? Judging from your comment it seems just scrolling is enough?
Comment 5 Ian Hubbertz 2009-02-16 21:45:01 UTC
Anwendung: digiKam (digikam), Signal SIGSEGV
0x00007f9f8c24cdc1 in nanosleep () from /lib/libc.so.6
[Current thread is 0 (LWP 4832)]

Thread 13 (Thread 0x7f9f82507950 (LWP 4833)):
#0  0x00007f9f8ccb1db9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f9f8cf1f459 in QWaitCondition::wait () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00000000005d3b40 in Digikam::ScanController::run (this=0xa7c620) at /mnt/var_data/var/tmp/portage/media-gfx/digikam-0.10.0_rc2/work/digikam-0.10.0-rc2/digikam/scancontroller.cpp:412
#3  0x00007f9f8cf1e719 in ?? () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007f9f8ccae007 in start_thread () from /lib/libpthread.so.0
#5  0x00007f9f8c27d38d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7f9f7e874950 (LWP 4835)):
#0  0x00007f9f8ccb1db9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f9f8cf1f459 in QWaitCondition::wait () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007f9f905d1847 in Digikam::LoadSaveThread::run (this=0xc58c90) at /mnt/var_data/var/tmp/portage/media-gfx/digikam-0.10.0_rc2/work/digikam-0.10.0-rc2/libs/threadimageio/loadsavethread.cpp:131
#3  0x00007f9f8cf1e719 in ?? () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007f9f8ccae007 in start_thread () from /lib/libpthread.so.0
#5  0x00007f9f8c27d38d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7f9f7e073950 (LWP 4836)):
#0  0x00007f9f8ccb1db9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f9f8cf1f459 in QWaitCondition::wait () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007f9f905d1847 in Digikam::LoadSaveThread::run (this=0xce3290) at /mnt/var_data/var/tmp/portage/media-gfx/digikam-0.10.0_rc2/work/digikam-0.10.0-rc2/libs/threadimageio/loadsavethread.cpp:131
#3  0x00007f9f8cf1e719 in ?? () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007f9f8ccae007 in start_thread () from /lib/libpthread.so.0
#5  0x00007f9f8c27d38d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f9f775a8950 (LWP 4837)):
#0  0x00007f9f8ccb203d in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f9f7b9e4fe1 in ?? () from /usr/lib64/libxine.so.1
#2  0x00007f9f8ccae007 in start_thread () from /lib/libpthread.so.0
#3  0x00007f9f8c27d38d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f9f75b31950 (LWP 4838)):
#0  0x00007f9f8c276a92 in select () from /lib/libc.so.6
#1  0x00007f9f7ba0a1a4 in xine_usec_sleep () from /usr/lib64/libxine.so.1
#2  0x00007f9f7b9f1425 in ?? () from /usr/lib64/libxine.so.1
#3  0x00007f9f8ccae007 in start_thread () from /lib/libpthread.so.0
#4  0x00007f9f8c27d38d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f9f75330950 (LWP 4839)):
#0  0x00007f9f8c2749f6 in poll () from /lib/libc.so.6
#1  0x00007f9f898ca538 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f9f898ca85b in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f9f8d015a26 in QEventDispatcherGlib::processEvents () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007f9f8cfef522 in QEventLoop::processEvents () from /usr/lib64/qt4/libQtCore.so.4
#5  0x00007f9f8cfef6b5 in QEventLoop::exec () from /usr/lib64/qt4/libQtCore.so.4
#6  0x00007f9f8cf1bc0c in QThread::exec () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007f9f7bc3be52 in ?? () from /usr/lib64/kde4/plugins/phonon_backend/phonon_xine.so
#8  0x00007f9f8cf1e719 in ?? () from /usr/lib64/qt4/libQtCore.so.4
#9  0x00007f9f8ccae007 in start_thread () from /lib/libpthread.so.0
#10 0x00007f9f8c27d38d in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f9f74925950 (LWP 4842)):
#0  0x00007f9f8c2749f6 in poll () from /lib/libc.so.6
#1  0x00007f9f7492aa78 in ?? () from /usr/lib64/xine/plugins/1.25/xineplug_ao_out_alsa.so
#2  0x00007f9f8ccae007 in start_thread () from /lib/libpthread.so.0
#3  0x00007f9f8c27d38d in clone () from /lib/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f9f74124950 (LWP 4843)):
#0  0x00007f9f8ccb1db9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f9f7b9f2b70 in ?? () from /usr/lib64/libxine.so.1
#2  0x00007f9f7b9f44ac in ?? () from /usr/lib64/libxine.so.1
#3  0x00007f9f8ccae007 in start_thread () from /lib/libpthread.so.0
#4  0x00007f9f8c27d38d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f9f6f9ea950 (LWP 4858)):
#0  0x00007f9f8ccb1db9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f9f8cf1f459 in QWaitCondition::wait () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007f9f905d1847 in Digikam::LoadSaveThread::run (this=0x2494330) at /mnt/var_data/var/tmp/portage/media-gfx/digikam-0.10.0_rc2/work/digikam-0.10.0-rc2/libs/threadimageio/loadsavethread.cpp:131
#3  0x00007f9f8cf1e719 in ?? () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007f9f8ccae007 in start_thread () from /lib/libpthread.so.0
#5  0x00007f9f8c27d38d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f9f70a46950 (LWP 4865)):
#0  0x00007f9f8ccb1db9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f9f8cf1f459 in QWaitCondition::wait () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007f9f905d1847 in Digikam::LoadSaveThread::run (this=0x4ca9530) at /mnt/var_data/var/tmp/portage/media-gfx/digikam-0.10.0_rc2/work/digikam-0.10.0-rc2/libs/threadimageio/loadsavethread.cpp:131
#3  0x00007f9f8cf1e719 in ?? () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007f9f8ccae007 in start_thread () from /lib/libpthread.so.0
#5  0x00007f9f8c27d38d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f9f72298950 (LWP 5192)):
#0  0x00007f9f8ccb1db9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f9f8cf1f459 in QWaitCondition::wait () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007f9f905d1847 in Digikam::LoadSaveThread::run (this=0x5250370) at /mnt/var_data/var/tmp/portage/media-gfx/digikam-0.10.0_rc2/work/digikam-0.10.0-rc2/libs/threadimageio/loadsavethread.cpp:131
#3  0x00007f9f8cf1e719 in ?? () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007f9f8ccae007 in start_thread () from /lib/libpthread.so.0
#5  0x00007f9f8c27d38d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f9f72af0950 (LWP 5193)):
#0  0x00007f9f8ccb1db9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f9f8cf1f459 in QWaitCondition::wait () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007f9f905d1847 in Digikam::LoadSaveThread::run (this=0x4777df0) at /mnt/var_data/var/tmp/portage/media-gfx/digikam-0.10.0_rc2/work/digikam-0.10.0-rc2/libs/threadimageio/loadsavethread.cpp:131
#3  0x00007f9f8cf1e719 in ?? () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007f9f8ccae007 in start_thread () from /lib/libpthread.so.0
#5  0x00007f9f8c27d38d in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f9f931c3750 (LWP 4832)):
[KCrash Handler]
#5  Digikam::ThumbBarItem::repaint (this=0x0) at /mnt/var_data/var/tmp/portage/media-gfx/digikam-0.10.0_rc2/work/digikam-0.10.0-rc2/libs/widgets/common/thumbbar.cpp:1179
#6  0x00000000005c1062 in Digikam::ImagePreviewBar::eventFilter (this=0xdf2a70, obj=0xe20f60, ev=0x7fff9b215a90)
    at /mnt/var_data/var/tmp/portage/media-gfx/digikam-0.10.0_rc2/work/digikam-0.10.0-rc2/digikam/imagepreviewbar.cpp:695
#7  0x00007f9f8cfefe87 in QCoreApplicationPrivate::sendThroughObjectEventFilters () from /usr/lib64/qt4/libQtCore.so.4
#8  0x00007f9f8db1cd8c in QApplicationPrivate::notify_helper () from /usr/lib64/qt4/libQtGui.so.4
#9  0x00007f9f8db2469a in QApplication::notify () from /usr/lib64/qt4/libQtGui.so.4
#10 0x00007f9f8edf6c3b in KApplication::notify () from /usr/kde/4.2/lib64/libkdeui.so.5
#11 0x00007f9f8cff0b23 in QCoreApplication::notifyInternal () from /usr/lib64/qt4/libQtCore.so.4
#12 0x00007f9f8db25a70 in QApplicationPrivate::dispatchEnterLeave () from /usr/lib64/qt4/libQtGui.so.4
#13 0x00007f9f8db264f5 in QApplicationPrivate::sendMouseEvent () from /usr/lib64/qt4/libQtGui.so.4
#14 0x00007f9f8db7f24c in ?? () from /usr/lib64/qt4/libQtGui.so.4
#15 0x00007f9f8db7e11d in QApplication::x11ProcessEvent () from /usr/lib64/qt4/libQtGui.so.4
#16 0x00007f9f8dba25b4 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#17 0x00007f9f898c6fc1 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#18 0x00007f9f898ca69d in ?? () from /usr/lib/libglib-2.0.so.0
#19 0x00007f9f898ca85b in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#20 0x00007f9f8d015a0f in QEventDispatcherGlib::processEvents () from /usr/lib64/qt4/libQtCore.so.4
#21 0x00007f9f8dba1e7f in ?? () from /usr/lib64/qt4/libQtGui.so.4
#22 0x00007f9f8cfef522 in QEventLoop::processEvents () from /usr/lib64/qt4/libQtCore.so.4
#23 0x00007f9f8cfef6b5 in QEventLoop::exec () from /usr/lib64/qt4/libQtCore.so.4
#24 0x00007f9f8cff16b4 in QCoreApplication::exec () from /usr/lib64/qt4/libQtCore.so.4
#25 0x00000000005ee4ac in main (argc=5, argv=0x7fff9b217298) at /mnt/var_data/var/tmp/portage/media-gfx/digikam-0.10.0_rc2/work/digikam-0.10.0-rc2/digikam/main.cpp:190
Comment 6 Ian Hubbertz 2009-02-16 23:31:33 UTC
I found the problem:

689                 if (d->ratingItem)
690                 {
691                     unsetCursor();
692                     d->ratingBox->hide();
693                     ThumbBarItem *item = d->ratingItem;
694                     d->ratingItem      = 0;
695                     item->repaint();
696                 }


Problem is that line 692 results in the same event, so the function is reentered with the *SAME* ImagePreviewBar object, so in the first called method, d->ratingItem has been set to NULL, when d->ratingBox->hide() returns.

-------> Look at #0 and #12 <-------

#0  Digikam::ImagePreviewBar::eventFilter (this=0xe224a0, obj=0xbc5d40, ev=0x7fff0cc90730)                                       
    at /mnt/var_data/var/tmp/portage/media-gfx/digikam-0.10.0_rc2/work/digikam-0.10.0-rc2/digikam/imagepreviewbar.cpp:694        
#1  0x00007facfea6ce87 in QCoreApplicationPrivate::sendThroughObjectEventFilters () from /usr/lib64/qt4/libQtCore.so.4           
#2  0x00007facff599d8c in QApplicationPrivate::notify_helper () from /usr/lib64/qt4/libQtGui.so.4                                
#3  0x00007facff5a169a in QApplication::notify () from /usr/lib64/qt4/libQtGui.so.4                                              
#4  0x00007fad00873c3b in KApplication::notify () from /usr/kde/4.2/lib64/libkdeui.so.5                                          
#5  0x00007facfea6db23 in QCoreApplication::notifyInternal () from /usr/lib64/qt4/libQtCore.so.4                                 
#6  0x00007facff5a2a70 in QApplicationPrivate::dispatchEnterLeave () from /usr/lib64/qt4/libQtGui.so.4                           
#7  0x00007facff5a34f5 in QApplicationPrivate::sendMouseEvent () from /usr/lib64/qt4/libQtGui.so.4                               
#8  0x00007facff5a37d7 in QApplicationPrivate::sendSyntheticEnterLeave () from /usr/lib64/qt4/libQtGui.so.4                      
#9  0x00007facff5e162c in QWidgetPrivate::hideChildren () from /usr/lib64/qt4/libQtGui.so.4                                      
#10 0x00007facff5e1715 in QWidgetPrivate::hide_helper () from /usr/lib64/qt4/libQtGui.so.4
#11 0x00007facff5e8038 in QWidget::setVisible () from /usr/lib64/qt4/libQtGui.so.4
#12 0x00000000005c104d in Digikam::ImagePreviewBar::eventFilter (this=0xe224a0, obj=0xbc5d40, ev=0x7fff0cc91000)
    at /mnt/var_data/var/tmp/portage/media-gfx/digikam-0.10.0_rc2/work/digikam-0.10.0-rc2/digikam/imagepreviewbar.cpp:692
#13 0x00007facfea6ce87 in QCoreApplicationPrivate::sendThroughObjectEventFilters () from /usr/lib64/qt4/libQtCore.so.4
#14 0x00007facff599d8c in QApplicationPrivate::notify_helper () from /usr/lib64/qt4/libQtGui.so.4
#15 0x00007facff5a169a in QApplication::notify () from /usr/lib64/qt4/libQtGui.so.4
#16 0x00007fad00873c3b in KApplication::notify () from /usr/kde/4.2/lib64/libkdeui.so.5
#17 0x00007facfea6db23 in QCoreApplication::notifyInternal () from /usr/lib64/qt4/libQtCore.so.4
#18 0x00007facff5a2a70 in QApplicationPrivate::dispatchEnterLeave () from /usr/lib64/qt4/libQtGui.so.4
#19 0x00007facff5a34f5 in QApplicationPrivate::sendMouseEvent () from /usr/lib64/qt4/libQtGui.so.4
#20 0x00007facff5fc24c in ?? () from /usr/lib64/qt4/libQtGui.so.4
#21 0x00007facff5fb11d in QApplication::x11ProcessEvent () from /usr/lib64/qt4/libQtGui.so.4
#22 0x00007facff61f5b4 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#23 0x00007facfb343fc1 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#24 0x00007facfb34769d in ?? () from /usr/lib/libglib-2.0.so.0
#25 0x00007facfb34785b in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#26 0x00007facfea92a0f in QEventDispatcherGlib::processEvents () from /usr/lib64/qt4/libQtCore.so.4
#27 0x00007facff61ee7f in ?? () from /usr/lib64/qt4/libQtGui.so.4
#28 0x00007facfea6c522 in QEventLoop::processEvents () from /usr/lib64/qt4/libQtCore.so.4
#29 0x00007facfea6c6b5 in QEventLoop::exec () from /usr/lib64/qt4/libQtCore.so.4
#30 0x00007facfea6e6b4 in QCoreApplication::exec () from /usr/lib64/qt4/libQtCore.so.4
#31 0x00000000005ee4ac in main (argc=1, argv=0x7fff0cc92808)
Comment 7 Ian Hubbertz 2009-02-16 23:51:05 UTC
Created attachment 31381 [details]
Patch

This patch seems to work fine for me.

It just copies first to the stack (local var item) and then checks "item" to be valid.

This only fixes the NULL-pointer access, but not the fact that the method is called twice. I haven't had a deep look into the code, so I'm unsure if this is wished behavior or a problem.
Comment 8 Marcel Wiesweg 2009-02-17 09:47:14 UTC
SVN commit 927266 by mwiesweg:

Backport to 0.10:
Apply patch from Ian Hubbertz.
Calling ratingBox->hide can recurse into event filter again, setting ratingItem to 0,
causing a crash when returned to the outer method. Store ratingItem on the stack.

CCBUG: 184473

 M  +5 -4      imagepreviewbar.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=927266
Comment 9 Marcel Wiesweg 2009-02-17 09:53:49 UTC
Ian, thank you very much for your work on this problem.
I have applied your patch (with some minor additions) to trunk. It's no problem to reenter this method. I have moved d->ratingItem = 0 in front of d->ratingBox->hide() so that the second method call will do nothing.

Don't know if you want to re-test this, or just close the bug.

I will commit the change to 0.11 branch to SVN later (already committed to local git) because I have a few local changes to sort out before.
Comment 10 Marcel Wiesweg 2009-02-18 20:56:32 UTC
SVN commit 928027 by mwiesweg:

Apply patch from Ian Hubbertz.
Calling ratingBox->hide can recurse into event filter again, setting ratingItem to 0,
causing a crash when returned to the outer method. Store ratingItem on the stack.

CCBUG: 184473

 M  +5 -4      imagepreviewbar.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=928027
Comment 11 caulier.gilles 2009-02-19 09:41:56 UTC
Ian,

Marcel has fixed several issue in current implementation. please can you checkout svn and try again ?

Thanks in advance

Gilles Caulier
Comment 12 Marcel Wiesweg 2009-02-22 12:23:23 UTC
*** Bug 185207 has been marked as a duplicate of this bug. ***
Comment 13 Marcel Wiesweg 2009-02-23 21:25:44 UTC
*** Bug 185369 has been marked as a duplicate of this bug. ***
Comment 14 Frédéric COIFFIER 2009-02-23 21:36:35 UTC
I've tested the last SVN version (930561) and I can't reproduce the problem. So, it seems to be solved.

Thank you for your work.
Comment 15 caulier.gilles 2009-02-23 21:49:45 UTC
Thanks for the report Fred. I close this file now.

Gilles Caulier