Bug 442002

Summary: Right-Clicking a viewer produces a crash (probably reated to the VLC backend)
Product: [Applications] kphotoalbum Reporter: Tobias Leupold <tl>
Component: ViewerAssignee: KPhotoAlbum Bugs <kphotoalbum-bugs-null>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version First Reported In: GIT master   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Tobias Leupold 2021-09-04 15:17:41 UTC
Steps to reproduce:

- Open an image to launch the viewer
- Right-click it
--> Crash

Here's the backtrace:

Thread 1 "kphotoalbum" received signal SIGSEGV, Segmentation fault.
0x00007ffff75ce640 in libvlc_media_get_state () from /usr/lib64/libvlc.so.5
(gdb) backtrace
#0  0x00007ffff75ce640 in libvlc_media_get_state () at /usr/lib64/libvlc.so.5
#1  0x00005555557a7208 in Viewer::VLCDisplay::isPaused() const (this=0x5555564dc9c0)
    at ../Viewer/VLCDisplay.cpp:99
#2  0x000055555566f91c in Viewer::ViewerWidget::contextMenuEvent(QContextMenuEvent*)
    (this=0x55555724e620, e=0x7fffffffcb30) at ../Viewer/ViewerWidget.cpp:496
#3  0x00007fffedab3ede in QWidget::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#4  0x00007fffedb6506e in QFrame::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#5  0x00007fffeda70193 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
    at /usr/lib64/libQt5Widgets.so.5
#6  0x00007fffeda7a066 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#7  0x00007fffed075ba8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
    at /usr/lib64/libQt5Core.so.5
#8  0x00007fffedacfa92 in  () at /usr/lib64/libQt5Widgets.so.5
#9  0x00007fffedad271c in  () at /usr/lib64/libQt5Widgets.so.5
#10 0x00007fffeda70193 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
    at /usr/lib64/libQt5Widgets.so.5
#11 0x00007fffeda79210 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#12 0x00007fffed075ba8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
    at /usr/lib64/libQt5Core.so.5
#13 0x00007fffed461170 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib64/libQt5Gui.so.5
#14 0x00007fffed462a75 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib64/libQt5Gui.so.5
#15 0x00007fffed43c9db in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Gui.so.5
#16 0x00007fffe5088c1a in  () at /usr/lib64/libQt5XcbQpa.so.5
#17 0x00007fffe9546e9b in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#18 0x00007fffe9547158 in  () at /usr/lib64/libglib-2.0.so.0
Comment 1 Tobias Leupold 2021-09-04 15:52:20 UTC
Git commit 1b260ad99c4e726ea9d27c5ea4cf6fadcb135dce by Tobias Leupold.
Committed on 04/09/2021 at 15:49.
Pushed by tleupold into branch 'master'.

ViewerWidget: Check for a video currently being displayed

... when invoking the context menu to prevent a segfault if currently an
image is displayed.

M  +1    -1    Viewer/ViewerWidget.cpp

https://invent.kde.org/graphics/kphotoalbum/commit/1b260ad99c4e726ea9d27c5ea4cf6fadcb135dce