summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2016-02-02 13:12:12 +0100
committerOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2016-02-02 13:12:12 +0100
commitffa6ba6d81bc79769b5d7c14b3c11f5fb644e3b5 (patch)
tree4b84a83fcf769ae09a8904abce76c86543e4b6fd
parent79f24c6c788e3fa85af1f0963d2d577b3d9357be (diff)
parentcb991e69c04726fb46ec8c03d966dcbf159e2fe0 (diff)
Merge 5.6 into 5.6.0v5.6.0-rc1v5.6.0
-rw-r--r--src/activeqt/control/qaxserver.cpp4
-rw-r--r--tools/testcon/main.cpp20
2 files changed, 22 insertions, 2 deletions
diff --git a/src/activeqt/control/qaxserver.cpp b/src/activeqt/control/qaxserver.cpp
index 1703765..74b7c57 100644
--- a/src/activeqt/control/qaxserver.cpp
+++ b/src/activeqt/control/qaxserver.cpp
@@ -248,7 +248,7 @@ HRESULT UpdateRegistry(BOOL bRegister)
// we try to create the ActiveX widgets later on...
bool delete_qApp = false;
if (!qApp) {
- int argc = 0;
+ static int argc = 0; // static lifetime, since it's passed as reference to QApplication, which has a lifetime exceeding the stack frame
(void)new QApplication(argc, 0);
delete_qApp = true;
}
@@ -1147,7 +1147,7 @@ extern "C" HRESULT __stdcall DumpIDL(const QString &outfile, const QString &ver)
// dummy application to create widgets
bool delete_qApp = false;
if (!qApp) {
- int argc=0;
+ static int argc = 0; // static lifetime, since it's passed as reference to QApplication, which has a lifetime exceeding the stack frame
(void)new QApplication(argc, 0);
delete_qApp = true;
}
diff --git a/tools/testcon/main.cpp b/tools/testcon/main.cpp
index 863a9e4..ac860bd 100644
--- a/tools/testcon/main.cpp
+++ b/tools/testcon/main.cpp
@@ -49,6 +49,15 @@ QAXFACTORY_DEFAULT(MainWindow,
QT_USE_NAMESPACE
+static bool isOptionSet(int argc, char *argv[], const char *option)
+{
+ for (int i = 1; i < argc; ++i) {
+ if (!qstrcmp(argv[i], option))
+ return true;
+ }
+ return false;
+}
+
static void redirectDebugOutput(QtMsgType, const QMessageLogContext &, const QString &msg)
{
if (MainWindow *mainWindow = MainWindow::instance())
@@ -57,6 +66,11 @@ static void redirectDebugOutput(QtMsgType, const QMessageLogContext &, const QSt
int main( int argc, char **argv )
{
+ if (isOptionSet(argc, argv, "--no-scaling"))
+ QCoreApplication::setAttribute(Qt::AA_DisableHighDpiScaling);
+ if (isOptionSet(argc, argv, "--no-native-siblings"))
+ QCoreApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings);
+
QApplication app( argc, argv );
QCoreApplication::setApplicationName(QLatin1String("TestCon"));
QCoreApplication::setOrganizationName(QLatin1String("QtProject"));
@@ -72,6 +86,12 @@ int main( int argc, char **argv )
QCommandLineOption noMessageHandlerOption(QLatin1String("no-messagehandler"),
QLatin1String("Suppress installation of the message handler."));
parser.addOption(noMessageHandlerOption);
+ QCommandLineOption noScalingDummy(QLatin1String("no-scaling"),
+ QLatin1String("Set Qt::AA_DisableHighDpiScaling."));
+ parser.addOption(noScalingDummy);
+ QCommandLineOption noNativeSiblingsDummy(QLatin1String("no-native-siblings"),
+ QLatin1String("Set Qt::AA_DontCreateNativeWidgetSiblings."));
+ parser.addOption(noNativeSiblingsDummy);
parser.addPositionalArgument(QLatin1String("clsid/file"),
QLatin1String("The clsid/file to show."));
parser.process(app);