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

            Bug ID: 476561
           Summary: KPhotoAlbum crashes when changes in Annotation window
                    are not saved and then user right clicks "Show" in
                    Viewer window
    Classification: Applications
           Product: kphotoalbum
           Version: 5.11.0
          Platform: openSUSE
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: Annotation Dialog
          Assignee: kpab...@willden.org
          Reporter: victor.ip.l...@gmail.com
  Target Milestone: ---

SUMMARY
KPhotoAlbum crashes when changes in Annotation window are not saved and then
user right clicks "Show" in Viewer window


STEPS TO REPRODUCE
1. Open KPhotoAlbum
2. Go to Thumbnail View
3. Open an Image/Video in Viewer window
4. Open Annotations window (Ctrl + 1)
5. Make some changes in Annotations window (but do cancel or save; keep the
Annotations window open)
6. Go to open Viewer window and go to "Show" in right click context menu
7. Click Cancel or Discard in the "Discard Changes?"dialog box that comes up
8. 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 Version 5.11.0 (as installed from Opensuse Tumbleweed repository)
Also occurs in latest git version v5.11.0-166-g7c4b2886


ADDITIONAL INFORMATION
1. Crash is reproducible every time the steps are followed.
2. Crash occurs even in the demo database.
3. Crash occurs for Images and Videos.


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

[KCrash Handler]
#4  QMenuSloppyState::setSubMenuPopup (this=0x21ecb80, actionRect=...,
resetAction=<optimized out>, subMenu=0x0) at widgets/qmenu.h:65
#5  0x00007fc1b2d2bdb0 in QMenu::internalDelayedPopup (this=0x24edfa0) at
widgets/qmenu.cpp:3676
#6  0x00007fc1b1f1922b in QObject::event (this=0x24edfa0, e=0x7ffd33130830) at
kernel/qobject.cpp:1369
#7  0x00007fc1b2ba519e in QApplicationPrivate::notify_helper (this=<optimized
out>, receiver=0x24edfa0, e=0x7ffd33130830) at kernel/qapplication.cpp:3640
#8  0x00007fc1b1eed568 in QCoreApplication::notifyInternal2
(receiver=0x24edfa0, event=0x7ffd33130830) at kernel/qcoreapplication.cpp:1064
#9  0x00007fc1b1eed72e in QCoreApplication::sendEvent (receiver=<optimized
out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#10 0x00007fc1b1f45899 in QTimerInfoList::activateTimers (this=0x1b32030) at
kernel/qtimerinfo_unix.cpp:643
#11 0x00007fc1b1f46144 in timerSourceDispatch (source=<optimized out>) at
kernel/qeventdispatcher_glib.cpp:183
#12 0x00007fc1ae524ef0 in ?? () from /lib64/libglib-2.0.so.0
#13 0x00007fc1ae526b18 in ?? () from /lib64/libglib-2.0.so.0
#14 0x00007fc1ae5271cc in g_main_context_iteration () from
/lib64/libglib-2.0.so.0
#15 0x00007fc1b1f464a6 in QEventDispatcherGlib::processEvents (this=0x1b33940,
flags=...) at kernel/qeventdispatcher_glib.cpp:423
#16 0x00007fc1b1eebffb in QEventLoop::exec (this=this@entry=0x7ffd33130a80,
flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#17 0x00007fc1b2d2b70f in QMenuPrivate::exec(QPoint const&, QAction*,
std::function<QPoint (QSize const&)>) (this=0x21ec920, p=..., action=0x0,
positionFunction=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#18 0x00007fc1b2d2b82f in QMenu::exec (this=<optimized out>, p=...,
action=<optimized out>) at widgets/qmenu.cpp:2686
#19 0x00000000004d7c81 in Viewer::ViewerWidget::contextMenuEvent
(this=0x20ccee0, e=0x7ffd33130d20) at
/home/victor/kphotoalbum/Viewer/ViewerWidget.cpp:561
#20 0x00007fc1b2be6d68 in QWidget::event (this=this@entry=0x20ccee0,
event=event@entry=0x7ffd33130d20) at kernel/qwidget.cpp:9045
#21 0x00007fc1b2c91f7e in QFrame::event (this=0x20ccee0, e=0x7ffd33130d20) at
widgets/qframe.cpp:550
#22 0x00007fc1b2ba519e in QApplicationPrivate::notify_helper
(this=this@entry=0x1a591e0, receiver=receiver@entry=0x20ccee0,
e=e@entry=0x7ffd33130d20) at kernel/qapplication.cpp:3640
#23 0x00007fc1b2badaaa in QApplication::notify (this=<optimized out>,
receiver=<optimized out>, e=0x7ffd33130f50) at kernel/qapplication.cpp:3246
#24 0x00007fc1b1eed568 in QCoreApplication::notifyInternal2
(receiver=0x21ed160, event=0x7ffd33130f50) at kernel/qcoreapplication.cpp:1064
#25 0x00007fc1b1eed5b2 in QCoreApplication::forwardEvent (receiver=<optimized
out>, event=<optimized out>, originatingEvent=<optimized out>) at
kernel/qcoreapplication.cpp:1079
#26 0x00007fc1b2bfff59 in QWidgetWindow::handleMouseEvent
(this=this@entry=0x2528a70, event=event@entry=0x7ffd33131240) at
kernel/qwidgetwindow.cpp:692
#27 0x00007fc1b2c02d1f in QWidgetWindow::event (this=0x2528a70,
event=0x7ffd33131240) at kernel/qwidgetwindow.cpp:300
#28 0x00007fc1b2ba519e in QApplicationPrivate::notify_helper (this=<optimized
out>, receiver=0x2528a70, e=0x7ffd33131240) at kernel/qapplication.cpp:3640
#29 0x00007fc1b1eed568 in QCoreApplication::notifyInternal2
(receiver=0x2528a70, event=0x7ffd33131240) at kernel/qcoreapplication.cpp:1064
#30 0x00007fc1b1eed73e in QCoreApplication::sendSpontaneousEvent
(receiver=<optimized out>, event=<optimized out>) at
kernel/qcoreapplication.cpp:1474
#31 0x00007fc1b237d0eb in QGuiApplicationPrivate::processMouseEvent
(e=0x3d4c250) at kernel/qguiapplication.cpp:2285
#32 0x00007fc1b235036c in QWindowSystemInterface::sendWindowSystemEvents
(flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#33 0x00007fc1a630f1aa in xcbSourceDispatch (source=<optimized out>) at
qxcbeventdispatcher.cpp:105
#34 0x00007fc1ae524ef0 in ?? () from /lib64/libglib-2.0.so.0
#35 0x00007fc1ae526b18 in ?? () from /lib64/libglib-2.0.so.0
#36 0x00007fc1ae5271cc in g_main_context_iteration () from
/lib64/libglib-2.0.so.0
#37 0x00007fc1b1f464a6 in QEventDispatcherGlib::processEvents (this=0x1b33940,
flags=...) at kernel/qeventdispatcher_glib.cpp:423
#38 0x00007fc1b1eebffb in QEventLoop::exec (this=this@entry=0x7ffd33131570,
flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#39 0x00007fc1b2dada07 in QDialog::exec (this=0x21206f0) at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#40 0x00000000005ea950 in AnnotationDialog::Dialog::exec (this=0x21206f0) at
/home/victor/kphotoalbum/AnnotationDialog/Dialog.cpp:959
#41 0x00000000005e8be8 in AnnotationDialog::Dialog::configure (this=0x21206f0,
list=..., oneAtATime=true) at
/home/victor/kphotoalbum/AnnotationDialog/Dialog.cpp:771
#42 0x00000000005376b7 in MainWindow::Window::configImages (this=0x1cbeca0,
list=..., oneAtATime=true) at
/home/victor/kphotoalbum/MainWindow/Window.cpp:509
#43 0x0000000000537655 in MainWindow::Window::configureImages (list=...,
oneAtATime=true) at /home/victor/kphotoalbum/MainWindow/Window.cpp:503
#44 0x00000000004d9a15 in operator() (__closure=0x7fc19400a990) at
/home/victor/kphotoalbum/Viewer/ViewerWidget.cpp:978
#45 0x00000000004e0c7f in QtPrivate::FunctorCall<QtPrivate::IndexesList<>,
QtPrivate::List<>, void, Viewer::ViewerWidget::editImage()::<lambda()>
>::call(struct {...} &, void **) (f=..., arg=0x254a268) at
/usr/include/qt5/QtCore/qobjectdefs_impl.h:146
#46 0x00000000004e0b6b in
QtPrivate::Functor<Viewer::ViewerWidget::editImage()::<lambda()>,
0>::call<QtPrivate::List<>, void>(struct {...} &, void *, void **) (f=...,
arg=0x254a268) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:256
#47 0x00000000004e0a80 in
QtPrivate::QFunctorSlotObject<Viewer::ViewerWidget::editImage()::<lambda()>, 0,
QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *,
void **, bool *) (which=1, this_=0x7fc19400a980, r=0x1a56e00, a=0x254a268,
ret=0x0) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:443
#48 0x00007fc1b1f19320 in QObject::event (this=0x1a56e00, e=0x254a220) at
kernel/qobject.cpp:1347
#49 0x00007fc1b2ba519e in QApplicationPrivate::notify_helper (this=<optimized
out>, receiver=0x1a56e00, e=0x254a220) at kernel/qapplication.cpp:3640
#50 0x00007fc1b1eed568 in QCoreApplication::notifyInternal2
(receiver=0x1a56e00, event=0x254a220) at kernel/qcoreapplication.cpp:1064
#51 0x00007fc1b1eed72e in QCoreApplication::sendEvent (receiver=<optimized
out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#52 0x00007fc1b1ef0b61 in QCoreApplicationPrivate::sendPostedEvents
(receiver=0x0, event_type=0, data=0x1a56d80) at
kernel/qcoreapplication.cpp:1821
#53 0x00007fc1b1ef10a8 in QCoreApplication::sendPostedEvents
(receiver=<optimized out>, event_type=<optimized out>) at
kernel/qcoreapplication.cpp:1680
#54 0x00007fc1b1f46c93 in postEventSourceDispatch (s=0x1b2e220) at
kernel/qeventdispatcher_glib.cpp:277
#55 0x00007fc1ae524ef0 in ?? () from /lib64/libglib-2.0.so.0
#56 0x00007fc1ae526b18 in ?? () from /lib64/libglib-2.0.so.0
#57 0x00007fc1ae5271cc in g_main_context_iteration () from
/lib64/libglib-2.0.so.0
#58 0x00007fc1b1f464a6 in QEventDispatcherGlib::processEvents (this=0x1b33940,
flags=...) at kernel/qeventdispatcher_glib.cpp:423
#59 0x00007fc1b1eebffb in QEventLoop::exec (this=this@entry=0x7ffd33131be0,
flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#60 0x00007fc1b1ef4490 in QCoreApplication::exec () at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#61 0x0000000000472a60 in main (argc=2, argv=0x7ffd331322e8) at
/home/victor/kphotoalbum/main.cpp:161
[Inferior 1 (process 4697) detached]

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

Reply via email to