https://bugs.kde.org/show_bug.cgi?id=521139
Bug ID: 521139
Summary: Segmentation fault in layer-shell-qt when pcmanfm-qt
--desktop returns focus to the desktop canvas under
labwc
Classification: Frameworks and Libraries
Product: layer-shell-qt
Version First unspecified
Reported In:
Platform: FreeBSD Ports
OS: FreeBSD
Status: REPORTED
Severity: normal
Priority: NOR
Component: general
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
DESCRIPTION
A segmentation fault occurs in layer-shell-qt when a Qt6-based application
switches window focus from an active window surface back to an underlying layer
shell desktop canvas.
When a secondary file manager window is mapped, it automatically steals focus.
When the user subsequently clicks the underlying desktop background layout to
return focus to the canvas, the layer surface activation tracking logic
triggers a null pointer dereference inside
LayerShellQt::QWaylandLayerSurface::requestActivate().
STEPS TO REPRODUCE
1. Launch the primary desktop manager instance under labwc (`pcmanfm-qt
--desktop`).
2. Open a separate, secondary interactive file manager window (`pcmanfm-qt ~`).
3. Click on the empty desktop wallpaper canvas.
OBSERVED RESULT
The desktop manager instance instantly crashes with a SIGSEGV. GDB backtrace
shows the failure point inside the platform interface library during focus
assignment:
#0 0x00000008003c0a7b in LayerShellQt::QWaylandLayerSurface::requestActivate()
() at /usr/local/lib/libLayerShellQtInterface.so.6
#1 0x0000000800b03436 in QApplicationPrivate::setFocusWidget(QWidget*,
Qt::FocusReason) () at /usr/local/lib/qt6/libQt6Widgets.so.6
#2 0x0000000800b5aeed in QWidget::setFocus(Qt::FocusReason) () at
/usr/local/lib/qt6/libQt6Widgets.so.6
#3 0x0000000800b087d1 in
QApplicationPrivate::giveFocusAccordingToFocusPolicy(QWidget*, QEvent*, QPoint)
() at /usr/local/lib/qt6/libQt6Widgets.so.6
EXPECTED RESULT
Focus should gracefully return to the desktop layout or drop the request safely
without attempting to dereference an unmapped or null layer surface pointer on
wlroots-based compositors.
SOFTWARE/OS VERSIONS
Operating System: FreeBSD 15.0-RELEASE-p9
KDE Plasma Version: N/A (Using labwc compositor 0.20.0)
KDE Frameworks Version: plasma6-layer-shell-qt-6.6.5
Qt Version: 6.11.1
ADDITIONAL INFORMATION
The crash occurs specifically inside pcmanfm-qt-2.4.0 running on top of
plasma6-layer-shell-qt-6.6.5 when attempting to register a mouse event focus
change on the root desktop layer window interface.
--
You are receiving this mail because:
You are watching all bug changes.