
Originally Posted by
derconny
1) I'm showing a QML BusyIndicator while loading IAPClient(). After loading it the animation of the busy indicator freezes. On the console I get:
[Qt Message] QAbstractAnimation::resume: Cannot resume an animation that is not paused
Even setting 'running' to true afterwards does not start the animation again.
After testing a bit more it turned out, that tapping the screen enables the animation again. I guess IAPClient() is stealing the focus of the active window or something. Not nice.
Some more observations: UI-blocking doesn't end as soon as the constructor returns. It blocks the UI a couple of seconds longer. If I send signals from C++ to QML in this time, nothing happens. Instead QML will receive them a couple of seconds later. However if I tap the screen first, the events go through at once. So I think this is not a focus issue but something deeper.
Here is some example code to make my point.
Code:
IAPClient *iap = new IAPClient();
emit sendHello();
qDebug() << "C++ signal was send";
Code:
Connection {
target: backend
onSendHello: console.log("QML signal received")
}
Without tapping the screen the result on the console is:
Code:
C++ signal was send
< 3 seconds pause >
QML signal received
With tapping it is:
Code:
C++ signal was send
QML signal received
AMAZING