Bug 506106

Summary: plasmoidviewer crashes on Wayland when setting Plasmoid.expanded = true
Product: [Plasma] Plasma SDK Reporter: alec <auirio>
Component: plasmoidviewerAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: ad.liu.jin, giorgos.tsiapaliokas
Priority: NOR Keywords: wayland-only
Version First Reported In: 6.4.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description alec 2025-06-24 12:25:00 UTC
SUMMARY
plasmoidviewer crashes on Wayland when PopupPlasmaWindow tries to use KWindowEffects without checking for the availability of org_kde_kwin_slide_manager

STEPS TO REPRODUCE
1. Start plasmoidviewer under Wayland in a non-KWin session (or minimal Wayland session)
2. Use a plasmoid with fullRepresentation and set Plasmoid.expanded = true
3. Immediate crash due to wl_closure_init() in org_kde_kwin_slide_manager

Stacktrace points to PlasmaQuick::PopupPlasmaWindowPrivate::updateSlideEffect calling slideWindow unconditionally.

OBSERVED RESULT
Thread 1 "plasmoidviewer" received signal SIGSEGV, Segmentation fault.
0x00007ffff7e1eb4c in wl_closure_init (message=message@entry=0x7fffe0062558 <org_kde_kwin_slide_manager_requests+24>, size=size@entry=0, 
    num_arrays=num_arrays@entry=0x0, args=args@entry=0x7fffff7ff130) at ../src/connection.c:756
756             count = arg_count_for_signature(message->signature);


EXPECTED RESULT
open FullRepresentation

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20250620
KDE Plasma Version: 6.4.0
KDE Frameworks Version: 6.15.0
Qt Version: 6.9.1
Kernel Version: 6.15.2-1-default (64-bit)
Graphics Platform: Wayland
Processors: 8 × 12th Gen Intel® Core™ i3-12100
Memory: 16 GiB of RAM (15.4 GiB usable)
Graphics Processor: AMD Radeon RX 6650 XT
Manufacturer: ASUS


ADDITIONAL INFORMATION
Comment 1 alec 2025-08-22 15:29:32 UTC
*** Bug 503646 has been marked as a duplicate of this bug. ***
Comment 2 Bug Janitor Service 2025-08-25 21:46:06 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/libplasma/-/merge_requests/1360
Comment 3 David Edmundson 2025-08-26 11:02:46 UTC
Git commit 040e457a6c0706ccf0db40862456ca19791a603e by David Edmundson.
Committed on 26/08/2025 at 08:30.
Pushed by davidedmundson into branch 'master'.

popupplasmawindow: Check if resizeEvents have resized anything

QtBase ensures a resize event is always sent before the first expose
event. Either on the expose itself or when application code triggers a
move.

If the size is unchanged, there is no need to reposition anything.

This also avoids a bug where a positional updatePosition on wayland can
loop if QT_WAYLAND_DISABLE_FIXED_POSITIONS is not set.

M  +6    -1    src/plasmaquick/popupplasmawindow.cpp

https://invent.kde.org/plasma/libplasma/-/commit/040e457a6c0706ccf0db40862456ca19791a603e