Summary: | KPhotoAlbum crashes when closing the Annotations window if previous Viewer window is already closed | ||
---|---|---|---|
Product: | [Applications] kphotoalbum | Reporter: | Victor Lobo <victor.ip.lobo> |
Component: | general | Assignee: | KPhotoAlbum Bugs <kphotoalbum-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | tl, victor.ip.lobo |
Priority: | NOR | ||
Version First Reported In: | GIT master | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/graphics/kphotoalbum/-/commit/eae40928b1949c36838bda0b265fb5fec1bb95fc | Version Fixed In: | |
Sentry Crash Report: | |||
Attachments: |
Screen video recording showing steps to reproduce crash
GDB Backtrace for all threads |
Description
Victor Lobo
2023-06-11 05:55:48 UTC
Created attachment 159590 [details]
GDB Backtrace for all threads
Thanks for your comprehensive bug report! I can reproduce this. This should indeed not happen ;-) Git commit eae40928b1949c36838bda0b265fb5fec1bb95fc by Johannes Zarl-Zierl. Committed on 11/06/2023 at 21:26. Pushed by johanneszarl into branch 'master'. Fix crash when AnnotationDialog is called from ViewerWidget If the AnnotationDialog is called from the ViewerWidget (via the "Annotate..." action in the context menu, ViewerWidget::editImage() is called which calls MainWindow::configureImages(). Since MainWindow::configureImages() is a potentially long-running function call, it is possible that the ViewerWidget was closed (and deleted) before the function returns. In this case, the execution returns to ViewerWidget::editImage of the already deleted ViewerWidget object, leading to a crash. By calling MainWindow::configureImages asynchronoulsy, the whole issue is avoided. M +6 -3 Viewer/ViewerWidget.cpp https://invent.kde.org/graphics/kphotoalbum/-/commit/eae40928b1949c36838bda0b265fb5fec1bb95fc Wow, such a quick response. I tested, and the fix works correctly. Thank you. |