diff --git a/Modules/Bar/Extras/BarWidgetLoader.qml b/Modules/Bar/Extras/BarWidgetLoader.qml index a889474ef..5e4193f66 100644 --- a/Modules/Bar/Extras/BarWidgetLoader.qml +++ b/Modules/Bar/Extras/BarWidgetLoader.qml @@ -72,33 +72,8 @@ Item { Loader { id: loader anchors.fill: parent - asynchronous: false - - // Deferred activation to prevent re-entrant incubation crash: - // When ListModel.append() creates this delegate, the Repeater is mid-incubation. - // If this Loader activates synchronously (asynchronous: false) during delegate - // finalization, it triggers nested QQmlIncubatorPrivate::incubate which corrupts - // the V4 heap (SIGSEGV in QV4::Object::insertMember). - // Deferring to the next event loop iteration breaks the nesting. - property bool _ready: false - active: _ready && root.checkWidgetExists() && (root.reloadCounter >= 0) - - Timer { - id: activateTimer - interval: 0 - onTriggered: loader._ready = true - } - - Component.onCompleted: activateTimer.start() - - // Reset _ready when reloadCounter changes to force a deferred re-activation - Connections { - target: root - function onReloadCounterChanged() { - loader._ready = false; - activateTimer.restart(); - } - } + asynchronous: true + active: root.checkWidgetExists() && (root.reloadCounter >= 0) sourceComponent: { // Depend on reloadCounter to force re-fetch of component diff --git a/Modules/Bar/Widgets/ControlCenter.qml b/Modules/Bar/Widgets/ControlCenter.qml index f50511d02..31e660a61 100644 --- a/Modules/Bar/Widgets/ControlCenter.qml +++ b/Modules/Bar/Widgets/ControlCenter.qml @@ -50,7 +50,7 @@ NIconButton { // If using distro logo, don't use theme icon. icon: (customIconPath === "" && !useDistroLogo) ? customIcon : "" tooltipText: { - if (PanelService.getPanel("controlCenterPanel", screen)?.isPanelOpen) { + if (!screen || PanelService.getPanel("controlCenterPanel", screen)?.isPanelOpen) { return ""; } else { return I18n.tr("tooltips.open-control-center"); diff --git a/Modules/Bar/Widgets/MediaMini.qml b/Modules/Bar/Widgets/MediaMini.qml index f800a3a8d..2b8dc887b 100644 --- a/Modules/Bar/Widgets/MediaMini.qml +++ b/Modules/Bar/Widgets/MediaMini.qml @@ -408,7 +408,7 @@ Item { } onEntered: { - if ((isVertical || scrollingMode === "never") && !PanelService.getPanel("mediaPlayerPanel", screen)?.isPanelOpen) { + if (screen && (isVertical || scrollingMode === "never") && !PanelService.getPanel("mediaPlayerPanel", screen)?.isPanelOpen) { TooltipService.show(root, title, BarService.getTooltipDirection(root.screen?.name)); } }