Binding loop on InformationPage ScrollView contentHeight when appMode is "MOBILE"
jarolrod opened this issue · 2 comments
jarolrod commented
Current behaviour
The InformationPage's continueButton is special cased to behave differently between mobile and desktop, as defined in the design file. #171 introduced this functionality. And #194 made it work with the new InformationPage control and it's scrollView. The logic on the scrollViews contentHeight implemented in 194 was faulty, and leads to a binding loop. This was hidden by the fact that we can't see terminal output when running the android app.
Expected behaviour
No binding loop.
Steps to reproduce
Apply this patch, then run the gui so this logic is ran when on desktop:
diff --git a/src/qml/controls/InformationPage.qml b/src/qml/controls/InformationPage.qml
index e652de666..c616bcf2a 100644
--- a/src/qml/controls/InformationPage.qml
+++ b/src/qml/controls/InformationPage.qml
@@ -111,7 +111,7 @@ Page {
states: [
State {
- name: "MOBILE"
+ name: "DESKTOP"
AnchorChanges {
target: continueButton
anchors.top: undefined
@@ -131,7 +131,7 @@ Page {
}
},
State {
- name: "DESKTOP"
+ name: "MOBILE"
AnchorChanges {
target: continueButton
anchors.top: information.bottom
Relevant log output
$ ./src/qt/bitcoin-qt -signet -resetguisettings
qrc:/qml/controls/InformationPage.qml:46:5: QML ScrollView: Binding loop detected for property "contentHeight"
How did you obtain Bitcoin Core
Compiled from source
What version of Bitcoin Core are you using?
master
Operating system and version
Ubuntu 22.04.2 LTS x86_64
Machine specifications
No response