1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-08-01 19:18:28 -04:00

bar: fix bar order-creation regression caused by async loading

port 1.5

(cherry picked from commit 95e1d6b72e)
This commit is contained in:
bbedward
2026-07-17 09:17:00 -04:00
committed by dms-ci[bot]
parent 986a6e0230
commit 7d6a7bae06
+17 -1
View File
@@ -116,12 +116,28 @@ Item {
property var hyprlandOverviewLoaderRef: hyprlandOverviewLoader
// Horizontal bars must claim their exclusive zones first, so vertical bars wait for every enabled horizontal bar to load
readonly property int horizontalWanted: SettingsData.barConfigs.filter(c => (c.enabled ?? false) && c.position !== SettingsData.Position.Left && c.position !== SettingsData.Position.Right).length
property int horizontalReady: 0
function recountHorizontalReady() {
let ready = 0;
for (let i = 0; i < count; i++) {
const loader = itemAt(i);
if (loader?.item && !loader.isVertical)
ready++;
}
horizontalReady = ready;
}
delegate: Loader {
id: barLoader
required property var modelData
property var barConfig: SettingsData.barConfigs.find(cfg => cfg.id === modelData.id) || null
active: root.barSurfacesLoaded && (barConfig?.enabled ?? false)
readonly property bool isVertical: modelData.position === SettingsData.Position.Left || modelData.position === SettingsData.Position.Right
active: root.barSurfacesLoaded && (barConfig?.enabled ?? false) && (!isVertical || dankBarRepeater.horizontalReady >= dankBarRepeater.horizontalWanted)
asynchronous: false
onItemChanged: dankBarRepeater.recountHorizontalReady()
sourceComponent: DankBar {
barConfig: barLoader.barConfig