Bug 146012 - dragging an image over a tag in "tag filters" pane crashes digikam
Summary: dragging an image over a tag in "tag filters" pane crashes digikam
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Usability-Drag&Drop (show other bugs)
Version: 0.9.1
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-05-27 06:09 UTC by armin walland
Modified: 2017-08-02 17:44 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 0.9.2


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description armin walland 2007-05-27 06:09:52 UTC
Version:           0.9.1 (using KDE KDE 3.5.6)
Installed from:    Ubuntu Packages
OS:                Linux

reproduce:
select an album so that you see the image thumbnails of the contained images.
switch the right pane to "Tag Filters"
drag an image over one of the tags
-> crash

greetings and thanks for your excellent work everybody :)


below is the backtrace of a crash:

(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1246890288 (LWP 22487)]
[New Thread -1249674352 (LWP 22541)]
[New Thread -1258067056 (LWP 22540)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[KCrash handler]
#6  0xb7cb4247 in Digikam::Album::parent () from /usr/lib/libdigikam.so.0
#7  0xb7cc48de in Digikam::FolderView::contentsDragMoveEvent ()
   from /usr/lib/libdigikam.so.0
#8  0xb6556f9f in QScrollView::viewportDragMoveEvent ()
   from /usr/lib/libqt-mt.so.3
#9  0xb6559652 in QScrollView::eventFilter () from /usr/lib/libqt-mt.so.3
#10 0xb652175e in QListView::eventFilter () from /usr/lib/libqt-mt.so.3
#11 0xb6421e38 in QObject::activate_filters () from /usr/lib/libqt-mt.so.3
#12 0xb6421eb6 in QObject::event () from /usr/lib/libqt-mt.so.3
#13 0xb645958f in QWidget::event () from /usr/lib/libqt-mt.so.3
#14 0xb63b9a60 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#15 0xb63bc42a in QApplication::notify () from /usr/lib/libqt-mt.so.3
#16 0xb6b7dce2 in KApplication::notify () from /usr/lib/libkdecore.so.4
#17 0xb634c1e9 in QApplication::sendEvent () from /usr/lib/libqt-mt.so.3
#18 0xb635a9a2 in qt_handle_xdnd_position () from /usr/lib/libqt-mt.so.3
#19 0xb635c867 in QDragManager::move () from /usr/lib/libqt-mt.so.3
#20 0xb635cf32 in QDragManager::eventFilter () from /usr/lib/libqt-mt.so.3
#21 0xb63b984e in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#22 0xb63bbc1e in QApplication::notify () from /usr/lib/libqt-mt.so.3
#23 0xb6b7dce2 in KApplication::notify () from /usr/lib/libkdecore.so.4
#24 0xb634c25d in QApplication::sendSpontaneousEvent ()
   from /usr/lib/libqt-mt.so.3
#25 0xb634aec2 in QETWidget::translateMouseEvent ()
   from /usr/lib/libqt-mt.so.3
#26 0xb6348fac in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
#27 0xb6360180 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#28 0xb63d4136 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#29 0xb63bb587 in QApplication::enter_loop () from /usr/lib/libqt-mt.so.3
#30 0xb635cd0d in QDragManager::drag () from /usr/lib/libqt-mt.so.3
#31 0xb63cd892 in QDragObject::drag () from /usr/lib/libqt-mt.so.3
#32 0xb63caae2 in QDragObject::drag () from /usr/lib/libqt-mt.so.3
#33 0xb7d36c8f in Digikam::AlbumIconView::startDrag ()
   from /usr/lib/libdigikam.so.0
#34 0xb7cceda1 in Digikam::IconView::contentsMouseMoveEvent ()
   from /usr/lib/libdigikam.so.0
#35 0xb6557d43 in QScrollView::viewportMouseMoveEvent ()
   from /usr/lib/libqt-mt.so.3
#36 0xb6559522 in QScrollView::eventFilter () from /usr/lib/libqt-mt.so.3
#37 0xb6421e38 in QObject::activate_filters () from /usr/lib/libqt-mt.so.3
#38 0xb6421eb6 in QObject::event () from /usr/lib/libqt-mt.so.3
#39 0xb645958f in QWidget::event () from /usr/lib/libqt-mt.so.3
#40 0xb63b9a60 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#41 0xb63bbc1e in QApplication::notify () from /usr/lib/libqt-mt.so.3
#42 0xb6b7dce2 in KApplication::notify () from /usr/lib/libkdecore.so.4
#43 0xb634c25d in QApplication::sendSpontaneousEvent ()
   from /usr/lib/libqt-mt.so.3
#44 0xb634aec2 in QETWidget::translateMouseEvent ()
   from /usr/lib/libqt-mt.so.3
#45 0xb6348fac in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
#46 0xb6360180 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
#47 0xb63d4136 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
#48 0xb63d3f46 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
#49 0xb63bb609 in QApplication::exec () from /usr/lib/libqt-mt.so.3
#50 0x0804ae3c in main ()
Comment 1 caulier.gilles 2007-05-27 08:26:55 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...
Comment 2 armin walland 2007-05-27 09:06:03 UTC
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
Comment 3 armin walland 2007-05-27 09:23:56 UTC
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!
Comment 4 caulier.gilles 2007-05-27 10:02:43 UTC
Ok, i can reproduce it now. I will fix it.

If you want to test my patch, please use digiKam from svn...

Gilles
Comment 5 caulier.gilles 2007-05-27 10:09:26 UTC
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;
Comment 6 Geoff King 2007-05-27 17:09:28 UTC
Fixed it for me.