aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-17 13:08:36 +0200
committerDanilo M. <danix@danix.xyz>2026-09-17 13:08:36 +0200
commit8f749d8b1fe5c2740d8829a78fbfbb3c739dade9 (patch)
tree46f6e10a998ae90b4d8d6992182f428f58b1dc4f
parent34cc45d7b800aaa94f7718b6b48316575b09575a (diff)
downloadsddm-theme-udt-8f749d8b1fe5c2740d8829a78fbfbb3c739dade9.tar.gz
sddm-theme-udt-8f749d8b1fe5c2740d8829a78fbfbb3c739dade9.zip
fix: track card position in backdrop sourceRect
-rw-r--r--theme/components/Backdrop.qml5
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)
}