https://bugs.kde.org/show_bug.cgi?id=477530

            Bug ID: 477530
           Summary: KPhotoAlbum crashes when new Category is added and
                    immediately set as Category for Untagged Images in
                    Settings
    Classification: Applications
           Product: kphotoalbum
           Version: GIT master
          Platform: openSUSE
                OS: Linux
            Status: REPORTED
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: kpab...@willden.org
          Reporter: victor.ip.l...@gmail.com
  Target Milestone: ---

SUMMARY
KPhotoAlbum crashes when new Category is added and immediately set as Category
for Untagged Images in Settings


Steps to Reproduce crash
1. Open KPhotoAlbum (kphotoalbum --demo)
2. From the main menu go to Settings > Configure KPhotoAlbum... > Categories
3. (Save the DB now if needed) and click the New button to create a new
category
4. Give the new category a different name then the default "New Category" (for
example "test")
5. (Do NOT click OK yet in Setting) Pick the same newly created "test" category
as Category for Untagged Images
6. Crash

OBSERVED RESULT
Crash

EXPECTED RESULT
No crash


SOFTWARE/OS VERSIONS
Linux: openSUSE Tumbleweed 20230906; Kernel Version: 6.4.12-1-default (64-bit)
KDE Plasma Version: 5.27.7
KDE Frameworks Version: 5.109.0
Qt Version: 5.15.10
KPhotoAlbum v5.11 and
KPhotoAlbum development version latest git master v5.12.0


ADDITIONAL INFORMATION
1. Crash is reproducible every time the steps are followed.
2. Crash occurs even in the demo database.
3. Crash with same backtrace is not seen when using default "New Category" name
in Step 4

Backtrace:
Application: KPhotoAlbum (kphotoalbum), signal: Segmentation fault

[KCrash Handler]
#4  0x0000000000493c31 in QList<QString>::QList (this=0x7ffcbc8a7610, l=...) at
/usr/include/qt5/QtCore/qlist.h:854
#5  0x00000000004936d5 in QStringList::QStringList (this=0x7ffcbc8a7610) at
/usr/include/qt5/QtCore/qstringlist.h:111
#6  0x0000000000574d8f in DB::Category::items (this=0x0) at
/home/victor/kphotoalbum/DB/Category.cpp:149
#7  0x00000000004a2926 in Settings::UntaggedGroupBox::populateTagsCombo
(this=0x1d051e0) at /home/victor/kphotoalbum/Settings/UntaggedGroupBox.cpp:70
#8  0x00000000004a3971 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>,
QtPrivate::List<>, void, void (Settings::UntaggedGroupBox::*)()>::call(void
(Settings::UntaggedGroupBox::*)(), Settings::UntaggedGroupBox*, void**)
(f=(void (Settings::UntaggedGroupBox::*)(Settings::UntaggedGroupBox * const))
0x4a283c <Settings::UntaggedGroupBox::populateTagsCombo()>, o=0x1d051e0,
arg=0x7ffcbc8a7800) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:152
#9  0x00000000004a383d in QtPrivate::FunctionPointer<void
(Settings::UntaggedGroupBox::*)()>::call<QtPrivate::List<>, void>(void
(Settings::UntaggedGroupBox::*)(), Settings::UntaggedGroupBox*, void**)
(f=(void (Settings::UntaggedGroupBox::*)(Settings::UntaggedGroupBox * const))
0x4a283c <Settings::UntaggedGroupBox::populateTagsCombo()>, o=0x1d051e0,
arg=0x7ffcbc8a7800) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:185
#10 0x00000000004a377f in QtPrivate::QSlotObject<void
(Settings::UntaggedGroupBox::*)(), QtPrivate::List<>, void>::impl(int,
QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1,
this_=0x1d139e0, r=0x1d051e0, a=0x7ffcbc8a7800, ret=0x0) at
/usr/include/qt5/QtCore/qobjectdefs_impl.h:418
#11 0x00007f53ed725442 in QtPrivate::QSlotObjectBase::call (a=0x7ffcbc8a7800,
r=0x1d051e0, this=0x1d139e0) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#12 doActivate<false> (sender=0x1d0b250, signal_index=12, argv=0x7ffcbc8a7800)
at kernel/qobject.cpp:3925
#13 0x00007f53ed71e0af in QMetaObject::activate (sender=sender@entry=0x1d0b250,
m=m@entry=0x7f53ee8c26e0 <QComboBox::staticMetaObject>,
local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7ffcbc8a7800)
at kernel/qobject.cpp:3985
#14 0x00007f53ee4a8d11 in QComboBox::currentIndexChanged
(this=this@entry=0x1d0b250, _t1=<optimized out>) at .moc/moc_qcombobox.cpp:538
#15 0x00007f53ee4aa4d2 in QComboBoxPrivate::_q_emitCurrentIndexChanged
(this=this@entry=0x1d0b290, index=...) at
../../include/QtCore/../../src/corelib/itemmodels/qabstractitemmodel.h:62
#16 0x00007f53ee4add5b in QComboBoxPrivate::setCurrentIndex
(this=this@entry=0x1d0b290, mi=...) at widgets/qcombobox.cpp:2331
#17 0x00007f53ee4adfc7 in QComboBoxPrivate::_q_itemSelected (this=0x1d0b290,
item=...) at widgets/qcombobox.cpp:1432
#18 0x00007f53ed7253e3 in doActivate<false> (sender=0x1d0ca20, signal_index=7,
argv=0x7ffcbc8a7a50) at kernel/qobject.cpp:3937
#19 0x00007f53ed71e0af in QMetaObject::activate (sender=sender@entry=0x1d0ca20,
m=m@entry=0x7f53ee8c2620 <QComboBoxPrivateContainer::staticMetaObject>,
local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffcbc8a7a50)
at kernel/qobject.cpp:3985
#20 0x00007f53ee4a8f02 in QComboBoxPrivateContainer::itemSelected
(this=this@entry=0x1d0ca20, _t1=...) at .moc/moc_qcombobox_p.cpp:348
#21 0x00007f53ee4a97c6 in QComboBoxPrivateContainer::eventFilter
(this=0x1d0ca20, o=0x1d0d5c0, e=0x7ffcbc8a7fa0) at widgets/qcombobox.cpp:824
#22 0x00007f53ed6ecf1b in
QCoreApplicationPrivate::sendThroughObjectEventFilters
(receiver=receiver@entry=0x1d0d5c0, event=event@entry=0x7ffcbc8a7fa0) at
kernel/qcoreapplication.cpp:1190
#23 0x00007f53ee3a518e in QApplicationPrivate::notify_helper
(this=this@entry=0x124a130, receiver=receiver@entry=0x1d0d5c0,
e=e@entry=0x7ffcbc8a7fa0) at kernel/qapplication.cpp:3634
#24 0x00007f53ee3ad5cf in QApplication::notify (this=<optimized out>,
receiver=<optimized out>, e=0x7ffcbc8a7fa0) at kernel/qapplication.cpp:3084
#25 0x00007f53ed6ed198 in QCoreApplication::notifyInternal2
(receiver=0x1d0d5c0, event=0x7ffcbc8a7fa0) at kernel/qcoreapplication.cpp:1064
#26 0x00007f53ed6ed36e in QCoreApplication::sendSpontaneousEvent
(receiver=<optimized out>, event=<optimized out>) at
kernel/qcoreapplication.cpp:1474
#27 0x00007f53ee3ab92e in QApplicationPrivate::sendMouseEvent
(receiver=0x1d0d5c0, event=event@entry=0x7ffcbc8a7fa0, alienWidget=<optimized
out>, nativeWidget=0x1d0ca20, buttonDown=buttonDown@entry=0x7f53ee8f2330
<qt_button_down>, lastMouseReceiver=..., spontaneous=true,
onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2622
#28 0x00007f53ee4002ba in QWidgetWindow::handleMouseEvent
(this=this@entry=0x1d375c0, event=event@entry=0x7ffcbc8a8250) at
kernel/qwidgetwindow.cpp:580
#29 0x00007f53ee402d0f in QWidgetWindow::event (this=0x1d375c0,
event=0x7ffcbc8a8250) at kernel/qwidgetwindow.cpp:300
#30 0x00007f53ee3a519e in QApplicationPrivate::notify_helper (this=<optimized
out>, receiver=0x1d375c0, e=0x7ffcbc8a8250) at kernel/qapplication.cpp:3640
#31 0x00007f53ed6ed198 in QCoreApplication::notifyInternal2
(receiver=0x1d375c0, event=0x7ffcbc8a8250) at kernel/qcoreapplication.cpp:1064
#32 0x00007f53ed6ed36e in QCoreApplication::sendSpontaneousEvent
(receiver=<optimized out>, event=<optimized out>) at
kernel/qcoreapplication.cpp:1474
#33 0x00007f53edb7d0db in QGuiApplicationPrivate::processMouseEvent
(e=0x19b3530) at kernel/qguiapplication.cpp:2285
#34 0x00007f53edb5038c in QWindowSystemInterface::sendWindowSystemEvents
(flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#35 0x00007f53de8f854a in xcbSourceDispatch (source=<optimized out>) at
qxcbeventdispatcher.cpp:105
#36 0x00007f53ea2b1f30 in ?? () from /lib64/libglib-2.0.so.0
#37 0x00007f53ea2b3b58 in ?? () from /lib64/libglib-2.0.so.0
#38 0x00007f53ea2b420c in g_main_context_iteration () from
/lib64/libglib-2.0.so.0
#39 0x00007f53ed7460d6 in QEventDispatcherGlib::processEvents (this=0x1324f40,
flags=...) at kernel/qeventdispatcher_glib.cpp:423
#40 0x00007f53ed6ebc2b in QEventLoop::exec (this=this@entry=0x7ffcbc8a8580,
flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#41 0x00007f53ed6f40c0 in QCoreApplication::exec () at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#42 0x0000000000472a68 in main (argc=2, argv=0x7ffcbc8a8c88) at
/home/victor/kphotoalbum/main.cpp:161
[Inferior 1 (process 7467) detached]

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to