diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-17 13:08:36 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-17 13:08:36 +0200 |
| commit | 8f749d8b1fe5c2740d8829a78fbfbb3c739dade9 (patch) | |
| tree | 46f6e10a998ae90b4d8d6992182f428f58b1dc4f | |
| parent | 34cc45d7b800aaa94f7718b6b48316575b09575a (diff) | |
| download | sddm-theme-udt-8f749d8b1fe5c2740d8829a78fbfbb3c739dade9.tar.gz sddm-theme-udt-8f749d8b1fe5c2740d8829a78fbfbb3c739dade9.zip | |
fix: track card position in backdrop sourceRect
| -rw-r--r-- | theme/components/Backdrop.qml | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/theme/components/Backdrop.qml b/theme/components/Backdrop.qml index 02c01ac..c13b766 100644 --- a/theme/components/Backdrop.qml +++ b/theme/components/Backdrop.qml @@ -24,6 +24,11 @@ Item { sourceRect: { if (backdrop.sourceItem === null) return Qt.rect(0, 0, 0, 0) + // Guard reads: mapToItem() hides its reads in C++, so the binding + // would not otherwise re-run when the card or image moves (e.g. + // the failed-login shake). Reading the coordinates registers them. + var _guard = backdrop.x + backdrop.y + backdrop.parent.x + backdrop.parent.y + + backdrop.sourceItem.x + backdrop.sourceItem.y var p = backdrop.mapToItem(backdrop.sourceItem, 0, 0) return Qt.rect(p.x, p.y, backdrop.width, backdrop.height) } |
