Bug 341241

Summary: digiKam crash during marking photos in Persons/Tags view [patch]
Product: [Applications] digikam Reporter: kai <mail>
Component: Faces-EngineAssignee: 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: 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
Application: digikam (4.5.0)
KDE Platform Version: 4.14.2
Qt Version: 4.8.6
Operating System: Linux 3.16.0-24-generic x86_64
Distribution: Ubuntu 14.10

-- Information about the crash:
- What I was doing when the application crashed:
Marking photos in the Left Persongs /Tag view to assign them with a Name. After marking about 10 photos Digikam crashes. On the right menubar one filter is active

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f550af70ac0 (LWP 5584))]

Thread 7 (Thread 0x7f54dc0a8700 (LWP 5587)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f5504580894 in wait (time=18446744073709551615, this=0x25f7a80) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x25f7990, mutex=mutex@entry=0x25f7988, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00000000005e8521 in Digikam::ScanController::run (this=0x25d2120) at /build/buildd/digikam-4.5.0/core/app/database/scancontroller.cpp:725
#4  0x00007f550458039f in QThreadPrivate::start (arg=0x25d2120) at thread/qthread_unix.cpp:349
#5  0x00007f54ffc708f4 in ?? () from /usr/lib/nvidia-304/libGL.so.1
#6  0x00007f5500c120a5 in start_thread (arg=0x7f54dc0a8700) at pthread_create.c:309
#7  0x00007f5503a9884d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 6 (Thread 0x7f54db89f700 (LWP 5588)):
#0  0x00007f5503a8e39d in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f54fbaecee4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f54fbaecffc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f55046ae04e in QEventDispatcherGlib::processEvents (this=0x7f54d00008f0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
#4  0x00007f550467f4f1 in QEventLoop::processEvents (this=this@entry=0x7f54db89ea20, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f550467f805 in QEventLoop::exec (this=this@entry=0x7f54db89ea20, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f550457dc39 in QThread::exec (this=this@entry=0x2615f20) at thread/qthread.cpp:538
#7  0x00007f5504661033 in QInotifyFileSystemWatcherEngine::run (this=0x2615f20) at io/qfilesystemwatcher_inotify.cpp:265
#8  0x00007f550458039f in QThreadPrivate::start (arg=0x2615f20) at thread/qthread_unix.cpp:349
#9  0x00007f54ffc708f4 in ?? () from /usr/lib/nvidia-304/libGL.so.1
#10 0x00007f5500c120a5 in start_thread (arg=0x7f54db89f700) at pthread_create.c:309
#11 0x00007f5503a9884d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 5 (Thread 0x7f54db09e700 (LWP 5590)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f5504580894 in wait (time=18446744073709551615, this=0x28af490) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x28c6040, mutex=mutex@entry=0x28c6038, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f5508cc3e59 in Digikam::ParkingThread::run (this=0x28c6020) at /build/buildd/digikam-4.5.0/core/libs/threads/threadmanager.cpp:119
#4  0x00007f550458039f in QThreadPrivate::start (arg=0x28c6020) at thread/qthread_unix.cpp:349
#5  0x00007f54ffc708f4 in ?? () from /usr/lib/nvidia-304/libGL.so.1
#6  0x00007f5500c120a5 in start_thread (arg=0x7f54db09e700) at pthread_create.c:309
#7  0x00007f5503a9884d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7f54c95f5700 (LWP 5609)):
#0  __strcmp_sse2 () at ../sysdeps/x86_64/multiarch/../strcmp.S:210
#1  0x00007f55039d22c1 in _nl_make_l10nflist (l10nfile_list=l10nfile_list@entry=0x7f5503d5dda0 <_nl_loaded_domains>, dirlist=dirlist@entry=0x2625d20 "/usr/share/locale-kdelibs4/", dirlist_len=28, mask=mask@entry=0, language=language@entry=0x7f54c95f3c70 "de", territory=territory@entry=0x0, codeset=codeset@entry=0x0, normalized_codeset=normalized_codeset@entry=0x0, modifier=modifier@entry=0x0, filename=filename@entry=0x7f54c95f3c90 "LC_MESSAGES/libkpimutils.mo", do_allocate=do_allocate@entry=0) at ../intl/l10nflist.c:240
#2  0x00007f55039cffba in _nl_find_domain (dirname=dirname@entry=0x2625d20 "/usr/share/locale-kdelibs4/", locale=locale@entry=0x7f54c95f3c70 "de", domainname=domainname@entry=0x7f54c95f3c90 "LC_MESSAGES/libkpimutils.mo", domainbinding=domainbinding@entry=0x25c4330) at finddomain.c:86
#3  0x00007f55039cf7fe in __dcigettext (domainname=0x87332c8 "libkpimutils", msgid1=0x7f54c95f3de0 "QSQLiteResult\004Unable to fetch row", msgid2=0x0, plural=0, n=0, category=5) at dcigettext.c:626
#4  0x00007f5504b93135 in dcpgettext_expr (category=5, msgid=0x7f54da457ade "Unable to fetch row", msgctxt=0x7f54da4579d9 "QSQLiteResult", domain=<optimized out>) at ../../kdecore/localization/gettext.h:208
#5  KCatalog::translateStrict (this=0x8732d40, msgctxt=msgctxt@entry=0x7f54da4579d9 "QSQLiteResult", msgid=msgid@entry=0x7f54da457ade "Unable to fetch row") at ../../kdecore/localization/kcatalog.cpp:263
#6  0x00007f5504baac63 in KLocalePrivate::translateRawFrom (this=<optimized out>, catname=<optimized out>, msgctxt=0x7f54da4579d9 "QSQLiteResult", msgid=0x7f54da457ade "Unable to fetch row", msgid_plural=0x0, n=0, language=0x7f54c95f3f80, translation=0x7f54c95f3f70) at ../../kdecore/localization/klocale_kde.cpp:959
#7  0x00007f5504bab166 in KLocalePrivate::translateQt (this=0x26599b0, context=0x7f54da4579d9 "QSQLiteResult", sourceText=0x7f54da457ade "Unable to fetch row", comment=0x0) at ../../kdecore/localization/klocale_kde.cpp:1024
#8  0x00007f5504b9e5b1 in KLocale::translateQt (this=<optimized out>, context=context@entry=0x7f54da4579d9 "QSQLiteResult", sourceText=sourceText@entry=0x7f54da457ade "Unable to fetch row", comment=comment@entry=0x0) at ../../kdecore/localization/klocale.cpp:199
#9  0x00007f5504b26171 in KDETranslator::translate (this=<optimized out>, context=0x7f54da4579d9 "QSQLiteResult", sourceText=0x7f54da457ade "Unable to fetch row", message=0x0) at ../../kdecore/kernel/kglobal_p.h:52
#10 0x00007f550469ed9c in QTranslator::translate (this=<optimized out>, context=context@entry=0x7f54da4579d9 "QSQLiteResult", sourceText=sourceText@entry=0x7f54da457ade "Unable to fetch row", disambiguation=disambiguation@entry=0x0, n=n@entry=-1) at kernel/qtranslator.cpp:1029
#11 0x00007f5504680e09 in QCoreApplication::translate (context=context@entry=0x7f54da4579d9 "QSQLiteResult", sourceText=sourceText@entry=0x7f54da457ade "Unable to fetch row", disambiguation=disambiguation@entry=0x0, encoding=encoding@entry=QCoreApplication::CodecForTr, n=n@entry=-1) at kernel/qcoreapplication.cpp:1972
#12 0x00007f55046811cf in QCoreApplication::translate (context=context@entry=0x7f54da4579d9 "QSQLiteResult", sourceText=sourceText@entry=0x7f54da457ade "Unable to fetch row", disambiguation=disambiguation@entry=0x0, encoding=encoding@entry=QCoreApplication::CodecForTr) at kernel/qcoreapplication.cpp:1887
#13 0x00007f54da4565b2 in QSQLiteResultPrivate::fetchNext (this=this@entry=0x7f54a8065ee0, values=..., idx=idx@entry=0, initialFetch=initialFetch@entry=true) at ../../../sql/drivers/sqlite/qsql_sqlite.cpp:302
#14 0x00007f54da456d98 in QSQLiteResult::exec (this=0x7f54a8062460) at ../../../sql/drivers/sqlite/qsql_sqlite.cpp:447
#15 0x00007f550abaf9b2 in QSqlQuery::exec (this=this@entry=0x7f54c95f4458) at kernel/qsqlquery.cpp:949
#16 0x00007f5508c76076 in Digikam::DatabaseCoreBackend::exec (this=0x266b890, query=...) at /build/buildd/digikam-4.5.0/core/libs/database/core/databasecorebackend.cpp:1428
#17 0x00007f5508c763ce in Digikam::DatabaseCoreBackend::execQuery (this=this@entry=0x266b890, query=..., boundValue1=..., boundValue2=..., boundValue3=..., boundValue4=...) at /build/buildd/digikam-4.5.0/core/libs/database/core/databasecorebackend.cpp:1097
#18 0x00007f5508c76b25 in Digikam::DatabaseCoreBackend::execQuery (this=this@entry=0x266b890, sql=..., boundValue1=..., boundValue2=..., boundValue3=..., boundValue4=...) at /build/buildd/digikam-4.5.0/core/libs/database/core/databasecorebackend.cpp:1042
#19 0x00007f5508c76b97 in Digikam::DatabaseCoreBackend::execSql (this=0x266b890, sql=..., boundValue1=..., boundValue2=..., boundValue3=..., boundValue4=..., values=0x0, lastInsertId=0x7f54c95f44e0) at /build/buildd/digikam-4.5.0/core/libs/database/core/databasecorebackend.cpp:940
#20 0x00007f5508c82c3e in Digikam::ThumbnailDB::insertThumbnail (this=0x25da990, info=..., lastInsertId=lastInsertId@entry=0x7f54c95f4670) at /build/buildd/digikam-4.5.0/core/libs/database/core/thumbnaildb.cpp:260
#21 0x00007f5508caab00 in Digikam::ThumbnailCreator::storeInDatabase (this=this@entry=0x7039910, info=..., image=...) at /build/buildd/digikam-4.5.0/core/libs/threadimageio/thumbnailcreator.cpp:775
#22 0x00007f5508cad62c in Digikam::ThumbnailCreator::load (this=0x7039910, path=..., rect=..., pregenerate=pregenerate@entry=true) at /build/buildd/digikam-4.5.0/core/libs/threadimageio/thumbnailcreator.cpp:269
#23 0x00007f5508cadf70 in Digikam::ThumbnailCreator::pregenerate (this=<optimized out>, path=...) at /build/buildd/digikam-4.5.0/core/libs/threadimageio/thumbnailcreator.cpp:185
#24 0x00007f5508cbce80 in Digikam::ThumbnailLoadingTask::execute (this=0xee3a000) at /build/buildd/digikam-4.5.0/core/libs/threadimageio/thumbnailtask.cpp:82
#25 0x00007f5508c923ae in Digikam::LoadSaveThread::run (this=0x70526c0) at /build/buildd/digikam-4.5.0/core/libs/threadimageio/loadsavethread.cpp:136
#26 0x00007f5508cc6dde in Digikam::DynamicThread::DynamicThreadPriv::run (this=0x7039d20) at /build/buildd/digikam-4.5.0/core/libs/threads/dynamicthread.cpp:186
#27 0x00007f5504573e04 in QThreadPoolThread::run (this=0x83f69f0) at concurrent/qthreadpool.cpp:108
#28 0x00007f550458039f in QThreadPrivate::start (arg=0x83f69f0) at thread/qthread_unix.cpp:349
#29 0x00007f54ffc708f4 in ?? () from /usr/lib/nvidia-304/libGL.so.1
#30 0x00007f5500c120a5 in start_thread (arg=0x7f54c95f5700) at pthread_create.c:309
#31 0x00007f5503a9884d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7f54c27fc700 (LWP 5614)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007f5504580872 in wait (time=30000, this=0x83f8cf0) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=this@entry=0x83f8aa0, mutex=mutex@entry=0x28ccc18, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f5504573f05 in QThreadPoolThread::run (this=0x83f8a90) at concurrent/qthreadpool.cpp:142
#4  0x00007f550458039f in QThreadPrivate::start (arg=0x83f8a90) at thread/qthread_unix.cpp:349
#5  0x00007f54ffc708f4 in ?? () from /usr/lib/nvidia-304/libGL.so.1
#6  0x00007f5500c120a5 in start_thread (arg=0x7f54c27fc700) at pthread_create.c:309
#7  0x00007f5503a9884d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f547d595700 (LWP 5656)):
#0  0x00007f5503a901c3 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f550465d92f in QProcessManager::run (this=0x7f55049e75e0 <processManager()::processManager>) at io/qprocess_unix.cpp:270
#2  0x00007f550458039f in QThreadPrivate::start (arg=0x7f55049e75e0 <processManager()::processManager>) at thread/qthread_unix.cpp:349
#3  0x00007f54ffc708f4 in ?? () from /usr/lib/nvidia-304/libGL.so.1
#4  0x00007f5500c120a5 in start_thread (arg=0x7f547d595700) at pthread_create.c:309
#5  0x00007f5503a9884d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f550af70ac0 (LWP 5584)):
[KCrash Handler]
#6  0x00007f5508cfff0b in QString (other=..., this=0x7fffbb320f00) at /usr/include/qt4/QtCore/qstring.h:725
#7  Digikam::DigikamKCategorizedView::Private::visualRectInViewport (this=this@entry=0x6f98360, index=...) at /build/buildd/digikam-4.5.0/core/libs/widgets/itemview/digikamkcategorizedview.cpp:144
#8  0x00007f5508d00829 in Digikam::DigikamKCategorizedView::Private::cacheIndex (this=this@entry=0x6f98360, index=...) at /build/buildd/digikam-4.5.0/core/libs/widgets/itemview/digikamkcategorizedview.cpp:375
#9  0x00007f5508d00961 in Digikam::DigikamKCategorizedView::Private::cachedRectIndex (this=this@entry=0x6f98360, index=...) at /build/buildd/digikam-4.5.0/core/libs/widgets/itemview/digikamkcategorizedview.cpp:402
#10 0x00007f5508d00986 in Digikam::DigikamKCategorizedView::Private::visualRect (this=0x6f98360, index=...) at /build/buildd/digikam-4.5.0/core/libs/widgets/itemview/digikamkcategorizedview.cpp:424
#11 0x00007f5508d04389 in Digikam::DigikamKCategorizedView::visualRect (this=0x6f943f0, index=...) at /build/buildd/digikam-4.5.0/core/libs/widgets/itemview/digikamkcategorizedview.cpp:624
#12 0x00000000006d404d in Digikam::AssignNameOverlay::updatePosition (this=this@entry=0x70119f0) at /build/buildd/digikam-4.5.0/core/app/items/overlays/assignnameoverlay.cpp:212
#13 0x00000000006d4ac1 in Digikam::AssignNameOverlay::showOnIndex (this=0x70119f0, index=...) at /build/buildd/digikam-4.5.0/core/app/items/overlays/assignnameoverlay.cpp:262
#14 0x00000000006d4c15 in Digikam::AssignNameOverlay::eventFilter (this=0x70119f0, o=0x6f888a0, e=0x7fffbb321650) at /build/buildd/digikam-4.5.0/core/app/items/overlays/assignnameoverlay.cpp:347
#15 0x00007f55046809d6 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=this@entry=0x247e650, receiver=receiver@entry=0x6f888a0, event=event@entry=0x7fffbb321650) at kernel/qcoreapplication.cpp:1063
#16 0x00007f55050710fc in QApplicationPrivate::notify_helper (this=this@entry=0x247e650, receiver=receiver@entry=0x6f888a0, e=e@entry=0x7fffbb321650) at kernel/qapplication.cpp:4566
#17 0x00007f55050779be in QApplication::notify (this=this@entry=0x7fffbb322280, receiver=receiver@entry=0x6f888a0, e=e@entry=0x7fffbb321650) at kernel/qapplication.cpp:4113
#18 0x00007f5505d8acca in KApplication::notify (this=0x7fffbb322280, receiver=0x6f888a0, event=0x7fffbb321650) at ../../kdeui/kernel/kapplication.cpp:311
#19 0x00007f550468086d in QCoreApplication::notifyInternal (this=0x7fffbb322280, receiver=receiver@entry=0x6f888a0, event=event@entry=0x7fffbb321650) at kernel/qcoreapplication.cpp:953
#20 0x00007f550507707f in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#21 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x6f888a0, event=event@entry=0x7fffbb321650, alienWidget=alienWidget@entry=0x6f888a0, nativeWidget=nativeWidget@entry=0x6f943f0, buttonDown=buttonDown@entry=0x7f5505b65578 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3178
#22 0x00007f55050ecbde in QETWidget::translateMouseEvent (this=this@entry=0x6f943f0, event=event@entry=0x7fffbb3219b0) at kernel/qapplication_x11.cpp:4634
#23 0x00007f55050ec477 in QApplication::x11ProcessEvent (this=0x7fffbb322280, event=event@entry=0x7fffbb3219b0) at kernel/qapplication_x11.cpp:3627
#24 0x00007f5505114432 in x11EventSourceDispatch (s=0x247cc40, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#25 0x00007f54fbaecc5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007f54fbaecf48 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007f54fbaecffc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007f55046ae031 in QEventDispatcherGlib::processEvents (this=0x238a580, flags=...) at kernel/qeventdispatcher_glib.cpp:434
#29 0x00007f55051144e6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#30 0x00007f550467f4f1 in QEventLoop::processEvents (this=this@entry=0x7fffbb321d90, flags=...) at kernel/qeventloop.cpp:149
#31 0x00007f550467f805 in QEventLoop::exec (this=this@entry=0x7fffbb321d90, flags=...) at kernel/qeventloop.cpp:204
#32 0x00007f5504684f67 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#33 0x00007f550506f4dc in QApplication::exec () at kernel/qapplication.cpp:3828
#34 0x0000000000495c26 in main (argc=<optimized out>, argv=<optimized out>) at /build/buildd/digikam-4.5.0/core/app/main/main.cpp:236

Reported using DrKonqi
Comment 1 Sebastian Schmitt 2014-12-01 20:01:15 UTC
Created attachment 89799 [details]
digikam stack trace

Crash while displaying People tags People/Unknown selecting multiple images holding ctrl and left-clicking.
Comment 2 Emmanuel 2014-12-04 20:10:19 UTC
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
Comment 3 rob.dean1976 2014-12-27 11:24:47 UTC
I get this crash as well - Digikam 4.6
Comment 4 caulier.gilles 2015-01-25 22:27:49 UTC
*** Bug 343298 has been marked as a duplicate of this bug. ***
Comment 5 Kristian Karl 2015-02-14 20:36:32 UTC
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.
Comment 6 Kristian Karl 2015-02-14 20:45:56 UTC
(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();
 }
Comment 7 caulier.gilles 2015-02-14 22:01:52 UTC
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
Comment 8 caulier.gilles 2015-02-14 22:50:14 UTC
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
Comment 9 Johannes 2015-03-13 08:57:10 UTC
here it is not fixed in 4.8.0. It still crashed every time a face is named.
Comment 10 rob.dean1976 2015-03-13 09:12:31 UTC
Yes, I'm still having the same problem in 4.8.0 as well.
Comment 11 caulier.gilles 2015-04-06 08:10:46 UTC
*** Bug 345909 has been marked as a duplicate of this bug. ***