summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@nokia.com>2011-09-19 10:56:12 +0200
committerQt by Nokia <qt-info@nokia.com>2011-09-19 16:37:51 +0200
commit9a096d9eb078f83b1e6f934ebaf863145f067fbc (patch)
tree45e811e81566f6274b2b8341d3549347538ffb80 /src/corelib/kernel
parent86ad092dff995f10d30022bb4e4a8955063dc3d1 (diff)
Move handling of -qmljsdebugger argument to QCoreApplication
Move handling of -qmljsdebugger= argument from QApplication to QCoreApplication. It makes sense to allow debugging also for applications based on QCoreApplication (which we intend to support in QtDeclarative). Change-Id: I5a03a4510fc166cea5aad146da673ee0e7cd5d36 Reviewed-on: http://codereview.qt-project.org/5121 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Diffstat (limited to 'src/corelib/kernel')
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp24
-rw-r--r--src/corelib/kernel/qcoreapplication_p.h4
2 files changed, 28 insertions, 0 deletions
diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
index d716c7b0f6..d7fb9d3270 100644
--- a/src/corelib/kernel/qcoreapplication.cpp
+++ b/src/corelib/kernel/qcoreapplication.cpp
@@ -210,6 +210,28 @@ bool QCoreApplicationPrivate::checkInstance(const char *function)
return b;
}
+void QCoreApplicationPrivate::processCommandLineArguments()
+{
+ int j = argc ? 1 : 0;
+ for (int i = 1; i < argc; ++i) {
+ if (argv[i] && *argv[i] != '-') {
+ argv[j++] = argv[i];
+ continue;
+ }
+ QByteArray arg = argv[i];
+ if (arg.startsWith("-qmljsdebugger=")) {
+ qmljs_debug_arguments = QString::fromLocal8Bit(arg.right(arg.length() - 15));
+ } else {
+ argv[j++] = argv[i];
+ }
+ }
+
+ if (j < argc) {
+ argv[j] = 0;
+ argc = j;
+ }
+}
+
// Support for introspection
QSignalSpyCallbackSet Q_CORE_EXPORT qt_signal_spy_callback_set = { 0, 0, 0, 0 };
@@ -674,6 +696,8 @@ void QCoreApplication::init()
}
#endif
+ d->processCommandLineArguments();
+
qt_startup_hook();
}
diff --git a/src/corelib/kernel/qcoreapplication_p.h b/src/corelib/kernel/qcoreapplication_p.h
index 0914b24a16..d61a5a1bf5 100644
--- a/src/corelib/kernel/qcoreapplication_p.h
+++ b/src/corelib/kernel/qcoreapplication_p.h
@@ -141,6 +141,10 @@ public:
static uint attribs;
static inline bool testAttribute(uint flag) { return attribs & (1 << flag); }
static int app_compile_version;
+
+ void processCommandLineArguments();
+ QString qmljs_debug_arguments; // a string containing arguments for js/qml debugging.
+ inline QString qmljsDebugArgumentsString() { return qmljs_debug_arguments; }
};
QT_END_NAMESPACE