Commit 99f2faa7 authored by Stefan Dunca's avatar Stefan Dunca

Fix crash when enabling Advanced Tuning

Disable closing app on last window close. This will close
the app on every widget spawned in QML that closes (MessageBox)
parent 7a9e7f3d
......@@ -64,8 +64,8 @@ SetupPage {
ExclusiveGroup { id: returnAltRadioGroup }
Component.onCompleted: {
// Advanced tuning is hacked out due to Qt crash with Qml Charts and a QGuiApplication
//showAdvanced = !ScreenTools.isMobile
// We use QtCharts only on Desktop platforms
showAdvanced = !ScreenTools.isMobile
// Qml Sliders have a strange behavior in which they first set Slider::value to some internal
// setting and then set Slider::value to the bound properties value. If you have an onValueChanged
......
......@@ -29,8 +29,8 @@ SetupPage {
width: availableWidth
Component.onCompleted: {
// Advanced tuning is hacked out due to Qt crash with Qml Charts and a QGuiApplication
//showAdvanced = !ScreenTools.isMobile
// We use QtCharts only on Desktop platforms
showAdvanced = !ScreenTools.isMobile
}
FactPanelController {
......
......@@ -29,8 +29,8 @@ SetupPage {
width: availableWidth
Component.onCompleted: {
// Advanced tuning is hacked out due to Qt crash with Qml Charts and a QGuiApplication
//showAdvanced = !ScreenTools.isMobile
// We use QtCharts only on Desktop platforms
showAdvanced = !ScreenTools.isMobile
}
FactPanelController {
......
......@@ -158,7 +158,11 @@ static QObject* shapeFileHelperSingletonFactory(QQmlEngine*, QJSEngine*)
}
QGCApplication::QGCApplication(int &argc, char* argv[], bool unitTesting)
#if defined(__mobile__)
: QGuiApplication (argc, argv)
#else
: QApplication (argc, argv)
#endif
, _runningUnitTests (unitTesting)
{
_app = this;
......@@ -555,9 +559,6 @@ bool QGCApplication::_initForNormalAppBoot()
QSettings settings;
// Exit main application when last window is closed
connect(this, &QGCApplication::lastWindowClosed, this, QGCApplication::quit);
_qmlAppEngine = toolbox()->corePlugin()->createRootWindow(this);
// Safe to show popup error messages now that main window is created
......
......@@ -35,7 +35,25 @@ class QGCSingleton;
class QGCToolbox;
class QGCFileDownload;
class QGCApplication : public QGuiApplication
/**
* @brief The main application and management class.
*
* This class is started by the main method and provides
* the central management unit of the groundstation application.
*
* Needs QApplication base to support QtCharts module. This way
* we avoid application crashing on 5.12 when using the module.
* We don't have QtWidgets on mobile, avoid using it.
*
* Note: `lastWindowClosed` will be sent by MessageBox popups and other
* dialogs, that are spawned in QML, when they are closed
**/
class QGCApplication :
#if defined(__mobile__)
public QGuiApplication
#else
public QApplication
#endif
{
Q_OBJECT
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment