| Summary: | plasmoidviewer crashes on Wayland when setting Plasmoid.expanded = true | ||
|---|---|---|---|
| Product: | [Plasma] Plasma SDK | Reporter: | alec <auirio> |
| Component: | plasmoidviewer | Assignee: | Plasma Bugs List <plasma-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | ad.liu.jin, FishBoneEK, giorgos.tsiapaliokas, nate |
| Priority: | NOR | Keywords: | wayland-only |
| Version First Reported In: | 6.4.0 | ||
| Target Milestone: | --- | ||
| Platform: | openSUSE | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/plasma/libplasma/-/commit/09597029660f8a35b1b7caa0fd82c3facc47dc5f | Version Fixed/Implemented In: | 6.4.6 |
| Sentry Crash Report: | |||
*** Bug 503646 has been marked as a duplicate of this bug. *** A possibly relevant merge request was started @ https://invent.kde.org/plasma/libplasma/-/merge_requests/1360 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 *** Bug 510783 has been marked as a duplicate of this bug. *** Git commit 09597029660f8a35b1b7caa0fd82c3facc47dc5f by David Redondo. Committed on 20/10/2025 at 08:03. Pushed by davidedmundson into branch 'Plasma/6.4'. 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. (cherry picked from commit 040e457a6c0706ccf0db40862456ca19791a603e) Co-authored-by: David Edmundson <kde@davidedmundson.co.uk> M +6 -1 src/plasmaquick/popupplasmawindow.cpp https://invent.kde.org/plasma/libplasma/-/commit/09597029660f8a35b1b7caa0fd82c3facc47dc5f |
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