From 6b9a9a01e289381ea915ac43595c6c5da0db73b4 Mon Sep 17 00:00:00 2001 From: Maurice Kalinowski Date: Fri, 23 May 2014 17:16:54 +0200 Subject: remove HSTRING instances HSTRING needs to be released or handles will be leaked. Instead use HString which takes care of resource management on its own. Task-Number: QTBUG-38115 Change-Id: I2c767776c1f22f45acd8dd77b693f30d63d894b9 Reviewed-by: Andrew Knight Reviewed-by: Oliver Wolff --- src/winmain/qtmain_winrt.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/winmain/qtmain_winrt.cpp') diff --git a/src/winmain/qtmain_winrt.cpp b/src/winmain/qtmain_winrt.cpp index eef23130f9..bcb3445bcd 100644 --- a/src/winmain/qtmain_winrt.cpp +++ b/src/winmain/qtmain_winrt.cpp @@ -74,6 +74,7 @@ extern "C" { using namespace ABI::Windows::ApplicationModel; using namespace ABI::Windows::Foundation; using namespace Microsoft::WRL; +using namespace Microsoft::WRL::Wrappers; #define qHString(x) Wrappers::HString::MakeReference(x).Get() #define CoreApplicationClass RuntimeClass_Windows_ApplicationModel_Core_CoreApplication @@ -186,11 +187,11 @@ private: for (int i = m_argc; i < m_argv.size(); ++i) delete[] m_argv[i]; m_argv.resize(m_argc); - HSTRING arguments; - launchArgs->get_Arguments(&arguments); - if (arguments) { + HString arguments; + launchArgs->get_Arguments(arguments.GetAddressOf()); + if (arguments.IsValid()) { foreach (const QByteArray &arg, QString::fromWCharArray( - WindowsGetStringRawBuffer(arguments, nullptr)).toLocal8Bit().split(' ')) { + arguments.GetRawBuffer(nullptr)).toLocal8Bit().split(' ')) { m_argv.append(qstrdup(arg.constData())); } } -- cgit v1.2.3