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/corelib/io/qfilesystemengine_win.cpp | 12 ++++++------ src/corelib/io/qsettings.cpp | 6 +++--- src/corelib/io/qstandardpaths_winrt.cpp | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) (limited to 'src/corelib/io') diff --git a/src/corelib/io/qfilesystemengine_win.cpp b/src/corelib/io/qfilesystemengine_win.cpp index 8e3bacd6b7..1d79136422 100644 --- a/src/corelib/io/qfilesystemengine_win.cpp +++ b/src/corelib/io/qfilesystemengine_win.cpp @@ -1219,11 +1219,11 @@ QString QFileSystemEngine::rootPath() if (FAILED(installedLocation.As(&item))) return ret; - HSTRING finalWinPath; - if (FAILED(item->get_Path(&finalWinPath))) + HString finalWinPath; + if (FAILED(item->get_Path(finalWinPath.GetAddressOf()))) return ret; - ret = QDir::fromNativeSeparators(QString::fromWCharArray(WindowsGetStringRawBuffer(finalWinPath, nullptr))); + ret = QDir::fromNativeSeparators(QString::fromWCharArray(finalWinPath.GetRawBuffer(nullptr))); #else QString ret = QString::fromLatin1(qgetenv("SystemDrive").constData()); @@ -1319,10 +1319,10 @@ QString QFileSystemEngine::tempPath() ComPtr tempFolderItem; if (FAILED(tempFolder.As(&tempFolderItem))) return ret; - HSTRING path; - if (FAILED(tempFolderItem->get_Path(&path))) + HString path; + if (FAILED(tempFolderItem->get_Path(path.GetAddressOf()))) return ret; - ret = QDir::fromNativeSeparators(QString::fromWCharArray(WindowsGetStringRawBuffer(path, nullptr))); + ret = QDir::fromNativeSeparators(QString::fromWCharArray(path.GetRawBuffer(nullptr))); #endif // Q_OS_WINRT if (ret.isEmpty()) { #if !defined(Q_OS_WINCE) diff --git a/src/corelib/io/qsettings.cpp b/src/corelib/io/qsettings.cpp index 63a0266948..7b4240e102 100644 --- a/src/corelib/io/qsettings.cpp +++ b/src/corelib/io/qsettings.cpp @@ -1084,10 +1084,10 @@ static QString windowsConfigPath(int type) ComPtr localFolderItem; if (FAILED(localFolder.As(&localFolderItem))) return result; - HSTRING path; - if (FAILED(localFolderItem->get_Path(&path))) + HString path; + if (FAILED(localFolderItem->get_Path(path.GetAddressOf()))) return result; - result = QString::fromWCharArray(WindowsGetStringRawBuffer(path, nullptr)); + result = QString::fromWCharArray(path.GetRawBuffer(nullptr)); } switch (type) { diff --git a/src/corelib/io/qstandardpaths_winrt.cpp b/src/corelib/io/qstandardpaths_winrt.cpp index bd72de11bb..84a3930ee0 100644 --- a/src/corelib/io/qstandardpaths_winrt.cpp +++ b/src/corelib/io/qstandardpaths_winrt.cpp @@ -89,10 +89,10 @@ QString QStandardPaths::writableLocation(StandardLocation type) ComPtr settingsFolderItem; if (FAILED(settingsFolder.As(&settingsFolderItem))) break; - HSTRING path; - if (FAILED(settingsFolderItem->get_Path(&path))) + HString path; + if (FAILED(settingsFolderItem->get_Path(path.GetAddressOf()))) break; - result = convertCharArray(WindowsGetStringRawBuffer(path, nullptr)); + result = convertCharArray(path.GetRawBuffer(nullptr)); if (isTestModeEnabled()) result += QLatin1String("/qttest"); break; -- cgit v1.2.3