Summary: | digiKam crash during marking photos in Persons/Tags view [patch] | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | kai <mail> |
Component: | Faces-Engine | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | caulier.gilles, fillip1, kdebug, kristian.hermann.karl, listen, rob.dean1976, sbstnschmtt, stefanocrobu |
Priority: | NOR | Keywords: | drkonqi |
Version: | 4.6.0 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/digikam/9b3957aaf1554ac01034045fb9e4b9abbfcb1767 | Version Fixed In: | 4.8.0 |
Sentry Crash Report: | |||
Attachments: |
digikam stack trace
Patch for bug |
Description
kai
2014-11-24 21:21:41 UTC
Created attachment 89799 [details]
digikam stack trace
Crash while displaying People tags People/Unknown selecting multiple images holding ctrl and left-clicking.
I have the same bug when selecting images of people in the "People" view. Program received signal SIGSEGV, Segmentation fault. 0x00007ffff5c78c1b in Digikam::DigikamKCategorizedView::Private::visualRectInViewport(QModelIndex const&) const () from /usr/lib/libdigikamcore.so.4.5.0 I get this crash as well - Digikam 4.6 *** Bug 343298 has been marked as a duplicate of this bug. *** Created attachment 91078 [details]
Patch for bug
I also get this crash. After some debugging, I think I narrowed it down the problem to:
void PersistentWidgetDelegateOverlay::showOnIndex(const QModelIndex& index)
{
d->index = QPersistentModelIndex(index);
restoreFocus();
}
I added following:
void PersistentWidgetDelegateOverlay::showOnIndex(const QModelIndex& index)
{
kDebug() << "index 2: " << index.row();
d->index = QPersistentModelIndex(index);
kDebug() << "index 3: " << index.row();
restoreFocus();
}
When crashing, the debug output was:
digikam(7911)/digikam (core) Digikam::AssignNameOverlay::showOnIndex: index 1: 7
digikam(7911)/digikam (core) Digikam::PersistentWidgetDelegateOverlay::showOnIndex: index 2: 7
digikam(7911)/digikam (core) Digikam::PersistentWidgetDelegateOverlay::showOnIndex: index 3: 7
digikam(7911)/digikam (core) Digikam::AssignNameOverlay::showOnIndex: index 4: 7
digikam(7911)/digikam (core) Digikam::AssignNameOverlay::showOnIndex: index 1: 7
digikam(7911)/digikam (core) Digikam::PersistentWidgetDelegateOverlay::showOnIndex: index 2: 7
digikam(7911)/digikam (core) Digikam::PersistentWidgetDelegateOverlay::showOnIndex: index 3: 31321040
digikam(7911)/digikam (core) Digikam::AssignNameOverlay::showOnIndex: index 4: 31321040
ASSERT failure in QVector<T>::operator[]: "index out of range", file /usr/include/qt4/QtCore/qvector.h, line 355
*** Program received signal SIGABRT (Aborted) ***
The index made a jump from 7 to 31321040? That does not seem right. I changed the assignment of the d->index with the QPersistentModelIndex constructor, and the crash is gone for me.
(In reply to Kristian Karl from comment #5) I used my patched code in my comment. This is the original code: void PersistentWidgetDelegateOverlay::showOnIndex(const QModelIndex& index) { d->index = index; restoreFocus(); } I added following: void PersistentWidgetDelegateOverlay::showOnIndex(const QModelIndex& index) { kDebug() << "index 2: " << index.row(); d->index = index; kDebug() << "index 3: " << index.row(); restoreFocus(); } Git commit 9b3957aaf1554ac01034045fb9e4b9abbfcb1767 by Gilles Caulier. Committed on 14/02/2015 at 21:58. Pushed by cgilles into branch 'master'. Apply patch #91078 to fix registration of index in AssignNameOverlay using QPersistentModelIndex FIXED-IN: 4.8.0 M +2 -1 NEWS M +6 -4 libs/widgets/itemview/imagedelegateoverlay.cpp http://commits.kde.org/digikam/9b3957aaf1554ac01034045fb9e4b9abbfcb1767 Git commit c7f8fdd226dd4ba358645fba3cd37e32b0f74133 by Gilles Caulier. Committed on 14/02/2015 at 22:48. Pushed by cgilles into branch 'frameworks'. backport commit #9b3957aaf1554ac01034045fb9e4b9abbfcb1767 from git/master to frameworks branch M +3 -2 CMakeLists.txt M +2 -0 app/CMakeLists.txt M +26 -18 libs/widgets/itemview/imagedelegateoverlay.cpp M +6 -6 libs/widgets/itemview/imagedelegateoverlay.h http://commits.kde.org/digikam/c7f8fdd226dd4ba358645fba3cd37e32b0f74133 here it is not fixed in 4.8.0. It still crashed every time a face is named. Yes, I'm still having the same problem in 4.8.0 as well. *** Bug 345909 has been marked as a duplicate of this bug. *** |