diff options
author | J-P Nurmi <jpnurmi@theqtcompany.com> | 2015-01-14 11:28:06 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@theqtcompany.com> | 2015-01-17 10:50:04 +0100 |
commit | f09f3655e4d6076b5b35563fc485fd102a6fc903 (patch) | |
tree | 6ee9b104afce498cd09dfc65e7aeb3fd7cd1b8a9 /src | |
parent | b974fac576b620436af64ad8b617f2276b756a05 (diff) |
Fix Qt.inputMethod ownership
Change-Id: Ic51f9daf17742a421a810d95b2a510caf657e08f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/qml/qml/qqmlglobal.cpp | 2 | ||||
-rw-r--r-- | src/qml/qml/v8/qqmlbuiltinfunctions.cpp | 1 | ||||
-rw-r--r-- | src/quick/util/qquickglobal.cpp | 4 |
3 files changed, 5 insertions, 2 deletions
diff --git a/src/qml/qml/qqmlglobal.cpp b/src/qml/qml/qqmlglobal.cpp index 82c1b68715..e100b53386 100644 --- a/src/qml/qml/qqmlglobal.cpp +++ b/src/qml/qml/qqmlglobal.cpp @@ -33,6 +33,7 @@ #include <private/qqmlglobal_p.h> +#include <QtQml/qqmlengine.h> #include <QtCore/qvariant.h> #include <QtCore/qstringlist.h> #include <QtCore/qdebug.h> @@ -358,6 +359,7 @@ QObject *QQmlGuiProvider::inputMethod() // We don't have any input method code by default QObject *o = new QObject(); o->setObjectName(QString::fromLatin1("No inputMethod available")); + QQmlEngine::setObjectOwnership(o, QQmlEngine::JavaScriptOwnership); return o; } #endif diff --git a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp index 9cf9ba9c12..19cb1edb60 100644 --- a/src/qml/qml/v8/qqmlbuiltinfunctions.cpp +++ b/src/qml/qml/v8/qqmlbuiltinfunctions.cpp @@ -1268,7 +1268,6 @@ ReturnedValue QtObject::method_get_application(CallContext *ctx) ReturnedValue QtObject::method_get_inputMethod(CallContext *ctx) { QObject *o = QQml_guiProvider()->inputMethod(); - QQmlEngine::setObjectOwnership(o, QQmlEngine::CppOwnership); return QV4::QObjectWrapper::wrap(ctx->d()->engine, o); } #endif diff --git a/src/quick/util/qquickglobal.cpp b/src/quick/util/qquickglobal.cpp index c75c87f8ef..146b6d73e2 100644 --- a/src/quick/util/qquickglobal.cpp +++ b/src/quick/util/qquickglobal.cpp @@ -926,7 +926,9 @@ public: #ifndef QT_NO_IM QInputMethod *inputMethod() { - return qGuiApp->inputMethod(); + QInputMethod *im = qGuiApp->inputMethod(); + QQmlEngine::setObjectOwnership(im, QQmlEngine::CppOwnership); + return im; } #endif |