Bug 480881 - When going back to Devices or Graphics categories already viewed - they become blank.
Summary: When going back to Devices or Graphics categories already viewed - they becom...
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: general (show other bugs)
Version: master
Platform: Neon Linux
: NOR major
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: qt6, regression
Depends on:
Blocks:
 
Reported: 2024-02-05 09:08 UTC by feature
Modified: 2024-02-07 15:57 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description feature 2024-02-05 09:08:27 UTC
SUMMARY

When viewing Block Devices, CPU, Firmware Security, Interrupts, PCI, OpenCL, OpenGL (EGL and GLX), Vulken, Wayland, Window Manager, and X-Server the data would show on first selection - but after viewing other categories and returning to any of the above mentioned ones, there's a blank page instead of the info that was displayed previously.


STEPS TO REPRODUCE
1. View any of the above mentioned categories
2. View any other category
3. Return to the first category

OBSERVED RESULT
No information is displayed on second viewing

EXPECTED RESULT
The information displayed on first viewing should remain.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 6.0.80
(available in About System)
KDE Plasma Version: 6.0.80
KDE Frameworks Version: 6.0.0
Qt Version: 6.6.1

ADDITIONAL INFORMATION
Comment 2 Nate Graham 2024-02-05 17:31:13 UTC
Can also reproduce.
Comment 3 Bug Janitor Service 2024-02-07 10:49:27 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kinfocenter/-/merge_requests/189
Comment 4 David Edmundson 2024-02-07 13:07:24 UTC
Git commit 2de76c72b888ebfd853cd8f96ee2d75730ea45e9 by David Edmundson.
Committed on 07/02/2024 at 13:07.
Pushed by davidedmundson into branch 'master'.

Avoid QML singletons to work with shared QML engines

KCM's were registering singleton instances. This has the lifespan of the
QMLEngine, and we were using objects with the lifespan of the loaded
KCM. Recent changes share the QML engine used between modules.

We have an existing mechanism to link the C++ container to the loaded UI
which is used in all other system settings. Port everything to using the
attached kcm object and adding a getter there.

M  +9    -2    Modules/block_devices/main.cpp
M  +1    -2    Modules/block_devices/ui/main.qml
M  +9    -2    Modules/cpu/main.cpp
M  +1    -2    Modules/cpu/ui/main.qml
M  +9    -2    Modules/egl/main.cpp
M  +1    -2    Modules/egl/ui/main.qml
M  +9    -2    Modules/firmware_security/main.cpp
M  +1    -2    Modules/firmware_security/ui/main.qml
M  +9    -2    Modules/glx/main.cpp
M  +1    -2    Modules/glx/ui/main.qml
M  +10   -3    Modules/interrupts/main.cpp
M  +1    -2    Modules/interrupts/ui/main.qml
M  +11   -4    Modules/kwinsupportinfo/main.cpp
M  +1    -2    Modules/kwinsupportinfo/ui/main.qml
M  +9    -2    Modules/opencl/main.cpp
M  +1    -2    Modules/opencl/ui/main.qml
M  +10   -2    Modules/pci/main.cpp
M  +1    -3    Modules/pci/ui/main.qml
M  +9    -2    Modules/vulkan/main.cpp
M  +1    -2    Modules/vulkan/ui/main.qml
M  +9    -2    Modules/wayland/main.cpp
M  +1    -2    Modules/wayland/ui/main.qml
M  +9    -2    Modules/xserver/main.cpp
M  +1    -2    Modules/xserver/ui/main.qml

https://invent.kde.org/plasma/kinfocenter/-/commit/2de76c72b888ebfd853cd8f96ee2d75730ea45e9
Comment 5 David Edmundson 2024-02-07 15:57:37 UTC
Git commit 69d3e9c9825886a8f5f07169f94d411e9a46f9b8 by David Edmundson.
Committed on 07/02/2024 at 15:57.
Pushed by davidedmundson into branch 'Plasma/6.0'.

Avoid QML singletons to work with shared QML engines

KCM's were registering singleton instances. This has the lifespan of the
QMLEngine, and we were using objects with the lifespan of the loaded
KCM. Recent changes share the QML engine used between modules.

We have an existing mechanism to link the C++ container to the loaded UI
which is used in all other system settings. Port everything to using the
attached kcm object and adding a getter there.
(cherry picked from commit 2de76c72b888ebfd853cd8f96ee2d75730ea45e9)

M  +9    -2    Modules/cpu/main.cpp
M  +1    -2    Modules/cpu/ui/main.qml
M  +9    -2    Modules/egl/main.cpp
M  +1    -2    Modules/egl/ui/main.qml
M  +9    -2    Modules/firmware_security/main.cpp
M  +1    -2    Modules/firmware_security/ui/main.qml
M  +9    -2    Modules/glx/main.cpp
M  +1    -2    Modules/glx/ui/main.qml
M  +10   -3    Modules/interrupts/main.cpp
M  +1    -2    Modules/interrupts/ui/main.qml
M  +11   -4    Modules/kwinsupportinfo/main.cpp
M  +1    -2    Modules/kwinsupportinfo/ui/main.qml
M  +9    -2    Modules/opencl/main.cpp
M  +1    -2    Modules/opencl/ui/main.qml
M  +10   -2    Modules/pci/main.cpp
M  +1    -3    Modules/pci/ui/main.qml
M  +9    -2    Modules/vulkan/main.cpp
M  +1    -2    Modules/vulkan/ui/main.qml
M  +9    -2    Modules/wayland/main.cpp
M  +1    -2    Modules/wayland/ui/main.qml
M  +9    -2    Modules/xserver/main.cpp
M  +1    -2    Modules/xserver/ui/main.qml

https://invent.kde.org/plasma/kinfocenter/-/commit/69d3e9c9825886a8f5f07169f94d411e9a46f9b8