| Summary: | dragging an image over a tag in "tag filters" pane crashes digikam | ||
|---|---|---|---|
| Product: | [Applications] digikam | Reporter: | armin walland <armin> |
| Component: | Usability-Drag&Drop | Assignee: | Digikam Developers <digikam-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | ||
| Priority: | NOR | ||
| Version First Reported In: | 0.9.1 | ||
| Target Milestone: | --- | ||
| Platform: | Ubuntu | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | 0.9.2 | |
| Sentry Crash Report: | |||
|
Description
armin walland
2007-05-27 06:09:52 UTC
Armind, There is no debug symbol in your digiKam. The backtrace is not suitable. Your need to recompile and install digiKam using ./configure--enable-debug=full. Thanks in advance Gilles Caulier Note: the crash is not reproductible here... alright, here we go, sorry i didn't realize the useless bt in my initial posting :
export DEB_BUILD_OPTIONS=nostrip,debug
sudo dpkg-buildpackage
sudo dpkg -i digikam_0.9.1-1ubuntu4_i386.deb
here is the bt:
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1247643952 (LWP 15447)]
[KCrash handler]
#6 Digikam::Album::parent (this=0x82ed508)
at /home/armin/digikam-0.9.1/./digikam/digikam/album.cpp:64
#7 0xb7c9f9d3 in Digikam::FolderView::contentsDragMoveEvent (
this=0xbfa58870, e=0xbfa58870)
at /home/armin/digikam-0.9.1/./digikam/digikam/folderview.cpp:254
#8 0xb649ef9f in QScrollView::viewportDragMoveEvent ()
from /usr/lib/libqt-mt.so.3
#9 0xb64a1652 in QScrollView::eventFilter () from /usr/lib/libqt-mt.so.3
#10 0xb646975e in QListView::eventFilter () from /usr/lib/libqt-mt.so.3
#11 0xb6369e38 in QObject::activate_filters () from /usr/lib/libqt-mt.so.3
#12 0xb6369eb6 in QObject::event () from /usr/lib/libqt-mt.so.3
#13 0xb63a158f in QWidget::event () from /usr/lib/libqt-mt.so.3
#14 0xb6301a60 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#15 0xb630442a in QApplication::notify () from /usr/lib/libqt-mt.so.3
#16 0xb6ac5ce2 in KApplication::notify () from /usr/lib/libkdecore.so.4
#17 0xb62941e9 in QApplication::sendEvent () from /usr/lib/libqt-mt.so.3
#18 0xb62a29a2 in qt_handle_xdnd_position () from /usr/lib/libqt-mt.so.3
#19 0xb62a4867 in QDragManager::move () from /usr/lib/libqt-mt.so.3
#20 0xb62a4f32 in QDragManager::eventFilter () from /usr/lib/libqt-mt.so.3
#21 0xb630184e in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#22 0xb6303c1e in QApplication::notify () from /usr/lib/libqt-mt.so.3
#23 0xb6ac5ce2 in KApplication::notify () from /usr/lib/libkdecore.so.4
#24 0xb629425d in QApplication::sendSpontaneousEvent ()
from /usr/lib/libqt-mt.so.3
#25 0xb6292ec2 in QETWidget::translateMouseEvent ()
from /usr/lib/libqt-mt.so.3
#26 0xb6290fac in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
#27 0xb62a8180 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#28 0xb631c136 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#29 0xb6303587 in QApplication::enter_loop () from /usr/lib/libqt-mt.so.3
#30 0xb62a4d0d in QDragManager::drag () from /usr/lib/libqt-mt.so.3
#31 0xb6315892 in QDragObject::drag () from /usr/lib/libqt-mt.so.3
#32 0xb6312ae2 in QDragObject::drag () from /usr/lib/libqt-mt.so.3
#33 0xb7c4d3ea in Digikam::AlbumIconView::startDrag (this=0x8154fb0)
at /home/armin/digikam-0.9.1/./digikam/digikam/albumiconview.cpp:1095
#34 0xb7ca3565 in Digikam::IconView::contentsMouseMoveEvent (this=0x8154fb0,
e=0xbfa59a6c)
at /home/armin/digikam-0.9.1/./digikam/digikam/iconview.cpp:1105
#35 0xb649fd43 in QScrollView::viewportMouseMoveEvent ()
from /usr/lib/libqt-mt.so.3
#36 0xb64a1522 in QScrollView::eventFilter () from /usr/lib/libqt-mt.so.3
#37 0xb6369e38 in QObject::activate_filters () from /usr/lib/libqt-mt.so.3
#38 0xb6369eb6 in QObject::event () from /usr/lib/libqt-mt.so.3
#39 0xb63a158f in QWidget::event () from /usr/lib/libqt-mt.so.3
#40 0xb6301a60 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#41 0xb6303c1e in QApplication::notify () from /usr/lib/libqt-mt.so.3
#42 0xb6ac5ce2 in KApplication::notify () from /usr/lib/libkdecore.so.4
#43 0xb629425d in QApplication::sendSpontaneousEvent ()
from /usr/lib/libqt-mt.so.3
#44 0xb6292ec2 in QETWidget::translateMouseEvent ()
from /usr/lib/libqt-mt.so.3
#45 0xb6290fac in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
#46 0xb62a8180 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#47 0xb631c136 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#48 0xb631bf46 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#49 0xb6303609 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#50 0x0804b045 in main (argc=7, argv=0xbfa5a724)
at /home/armin/digikam-0.9.1/./digikam/digikam/main.cpp:306
sorry, i just noticed: actually the crash is not triggered by dragging an image over a tag but over the "Not Tagged" symbol. i just never realized because i always dragged the image from bottom to top :) hope that helps! Ok, i can reproduce it now. I will fix it. If you want to test my patch, please use digiKam from svn... Gilles SVN commit 668672 by cgilles:
digiKam from trunk : Fix crash on Tags Filter view when item is moved under "Not Tagged" item.
BUG: 146012
M +13 -6 tagfilterview.cpp
--- trunk/extragear/graphics/digikam/digikam/tagfilterview.cpp #668671:668672
@@ -404,13 +404,20 @@
return true;
}
- if (ItemDrag::canDecode(e) && itemDrop &&
- itemDrop->m_tag->parent() && !itemDrop->m_untagged)
+ if (ItemDrag::canDecode(e) && itemDrop && !itemDrop->m_untagged)
{
- // Only other possibility is image items being dropped
- // And allow this only if there is a Tag to be dropped
- // on and also the Tag is not root or "Not Tagged" item.
- return true;
+ TAlbum *tag = itemDrop->m_tag;
+
+ if (tag)
+ {
+ if (tag->parent())
+ {
+ // Only other possibility is image items being dropped
+ // And allow this only if there is a Tag to be dropped
+ // on and also the Tag is not root or "Not Tagged" item.
+ return true;
+ }
+ }
}
return false;
Fixed it for me. |