From 419b2bfb6de27042ed93908392e384412c3323ce Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Mon, 18 May 2020 23:52:22 +0300 Subject: [PATCH] fix binding loop for Applet::layoutThickness --- containment/package/contents/ui/applet/ItemWrapper.qml | 4 ++-- .../package/contents/ui/applet/communicator/Engine.qml | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/containment/package/contents/ui/applet/ItemWrapper.qml b/containment/package/contents/ui/applet/ItemWrapper.qml index 1feb5d16c..cce7c330b 100644 --- a/containment/package/contents/ui/applet/ItemWrapper.qml +++ b/containment/package/contents/ui/applet/ItemWrapper.qml @@ -213,13 +213,13 @@ Item{ Binding { target: wrapper property: "layoutThickness" - when: latteView && (wrapper.zoomScale === 1) + when: latteView && (wrapper.zoomScale === 1 || communicator.parabolicEffectIsSupported) value: { if (appletItem.isInternalViewSplitter){ return !root.inConfigureAppletsMode ? 0 : appletItem.metrics.iconSize; } - if (communicator.parabolicEffectIsSupported) { + if (communicator.parabolicEffectIsSupported && !communicator.inStartup/*avoid binding loops on startup*/) { return appletPreferredThickness; } diff --git a/containment/package/contents/ui/applet/communicator/Engine.qml b/containment/package/contents/ui/applet/communicator/Engine.qml index 91c5a5efc..3c42609f7 100644 --- a/containment/package/contents/ui/applet/communicator/Engine.qml +++ b/containment/package/contents/ui/applet/communicator/Engine.qml @@ -43,6 +43,8 @@ Item{ readonly property bool canShowOverlaiedLatteIcon: appletIconItem && appletIconItem.visible readonly property bool overlayLatteIconIsActive: canShowOverlaiedLatteIcon && requires.latteIconOverlayEnabled + property bool inStartup: true + property Item appletRootItem: appletDiscoveredRootItem ? appletDiscoveredRootItem : appletDefaultRootItem property Item appletDiscoveredRootItem: null property Item appletDefaultRootItem: applet && applet.children && applet.children.length>0 ? applet.children[0] : null @@ -108,10 +110,11 @@ Item{ //a timer that is used in order to init some Communicator values Timer { id: overlayInitTimer - interval: 4000 + interval: 1000 onTriggered: { AppletIdentifier.checkAndUpdateAppletRootItem(); AppletIdentifier.reconsiderAppletIconItem(); + mainCommunicator.inStartup = false; if (root.debugModeTimers) { console.log("containment timer: appletItem fakeInitTimer called...");