-
Bug
-
Resolution: Done
-
Not Evaluated
-
5.2.0 Beta1
-
None
-
Tested: git-taken version dd. November 3, 2013.
Patched: reverted https://codereview.qt-project.org/#change,66221
Patched: applied: https://bugdiffs.qt-project.org/fisheye/changelog/Qt5-qtbase?cs=efc61299bd51018df272b296b2c849071f685a7f
Patched: fix forQTBUG-34582as bc302359caad43919a72c3747f821a21810d200d
Patched: fix forQTBUG-34421as d8f7a2ddf4e098786a5dec27e11786f5ff4e0433
Patched: fix forQTBUG-33588as b953e2f53ff1a9c40c46ad6e7d406d368083b235
Configured: ./configure -developer-build -xplatform android-g++ -nomake tests -nomake examples -android-ndk /home/robert/dev/android-ndk-r9b -android-sdk /home/robert/dev/android-sdk-linux -android-ndk-host linux-x86 -skip qttranslations -skip qtwebkit -skip qtserialport -skip qtwebkit-examples -no-qml-debug -no-warnings-are-errors -openssl -I/home/robert/dev/openssl-1.0.1e/include
Compiler: g++-4.8 from android-ndk
Device: Nexus-7-2, 4.3 - API-18
Development: QtCreator-3.0-beta
Tested: git-taken version dd. November 3, 2013. Patched: reverted https://codereview.qt-project.org/#change,66221 Patched: applied: https://bugdiffs.qt-project.org/fisheye/changelog/Qt5-qtbase?cs=efc61299bd51018df272b296b2c849071f685a7f Patched: fix for QTBUG-34582 as bc302359caad43919a72c3747f821a21810d200d Patched: fix for QTBUG-34421 as d8f7a2ddf4e098786a5dec27e11786f5ff4e0433 Patched: fix for QTBUG-33588 as b953e2f53ff1a9c40c46ad6e7d406d368083b235 Configured: ./configure -developer-build -xplatform android-g++ -nomake tests -nomake examples -android-ndk /home/robert/dev/android-ndk-r9b -android-sdk /home/robert/dev/android-sdk-linux -android-ndk-host linux-x86 -skip qttranslations -skip qtwebkit -skip qtserialport -skip qtwebkit-examples -no-qml-debug -no-warnings-are-errors -openssl -I/home/robert/dev/openssl-1.0.1e/include Compiler: g++-4.8 from android-ndk Device: Nexus-7-2, 4.3 - API-18 Development: QtCreator-3.0-beta
-
-
eef293b1a02efaa0206f1b9c5086a15cf659ad7d
After BodDan fixed QTBUG-34582 textedit crash in raster plugin,
my application has another crash with raster plugin with logcat output
attached.
Unfortunately, it was not reproducible with textedit example;
attempts to make a small example by cutting meat from my application
have only lead to the issue not being reproducible any more.
There is a 100% reproducibility of the crash with my application, though.
The stack seen in debugger is:
0 QWindowSystemInterface::handleApplicationStateChanged qwindowsysteminterface.cpp 138 0x7382dd58
1 updateApplicationState androidjnimain.cpp 665 0x745b9dd0
2 ?? 0x40930c50
3 ?? 0x40930c50
The crash point is in the Q_ASSERT below in QWindowSystemInterface::handleApplicationStateChanged
due to QGuiApplicationPrivate::platformIntegration() returning 0x0
in the code below:
void QWindowSystemInterface::handleApplicationStateChanged(Qt::ApplicationState newState)
{
Q_ASSERT(QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::ApplicationState));
QWindowSystemInterfacePrivate::ApplicationStateChangedEvent *e =
new QWindowSystemInterfacePrivate::ApplicationStateChangedEvent(newState);
QWindowSystemInterfacePrivate::handleWindowSystemEvent(e);
}
The Q_ASSERT above is based on the assumption that
QGuiApplicationPrivate::platformIntegration() cannot be NULL and no need to
check it.
THE WORKAROUND/ (FIX?) found is here:
void QWindowSystemInterface::handleApplicationStateChanged(Qt::ApplicationState newState)
{
//Q_ASSERT(QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::ApplicationState));
if (! QGuiApplicationPrivate::platformIntegration())
return;
if (! QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::ApplicationState))
return;
QWindowSystemInterfacePrivate::ApplicationStateChangedEvent *e =
new QWindowSystemInterfacePrivate::ApplicationStateChangedEvent(newState);
QWindowSystemInterfacePrivate::handleWindowSystemEvent(e);
}
If there's a better/proper fix, I can give it a try.