diff --git a/languages/qmljs/libs/utils/autoreleasepool.h b/languages/qmljs/libs/utils/autoreleasepool.h deleted file mode 100644 --- a/languages/qmljs/libs/utils/autoreleasepool.h +++ /dev/null @@ -1,51 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms and -** conditions see http://www.qt.io/terms-conditions. For further information -** use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 or version 3 as published by the Free -** Software Foundation and appearing in the file LICENSE.LGPLv21 and -** LICENSE.LGPLv3 included in the packaging of this file. Please review the -** following information to ensure the GNU Lesser General Public License -** requirements will be met: https://www.gnu.org/licenses/lgpl.html and -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, The Qt Company gives you certain additional -** rights. These rights are described in The Qt Company LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -****************************************************************************/ - - -#ifndef AUTORELEASEPOOL_H -#define AUTORELEASEPOOL_H - -#import - -namespace Utils { - -class AutoreleasePool -{ -public: - AutoreleasePool() { pool = [[NSAutoreleasePool alloc] init]; } - ~AutoreleasePool() { [pool release]; } -private: - NSAutoreleasePool *pool; -}; - -} // Utils - -#endif // AUTORELEASEPOOL_H - diff --git a/languages/qmljs/libs/utils/fileutils_mac.mm b/languages/qmljs/libs/utils/fileutils_mac.mm --- a/languages/qmljs/libs/utils/fileutils_mac.mm +++ b/languages/qmljs/libs/utils/fileutils_mac.mm @@ -1,36 +1,30 @@ /**************************************************************************** ** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qt Creator. ** ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms and -** conditions see http://www.qt.io/terms-conditions. For further information -** use the contact form at http://www.qt.io/contact-us. +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. ** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 or version 3 as published by the Free -** Software Foundation and appearing in the file LICENSE.LGPLv21 and -** LICENSE.LGPLv3 included in the packaging of this file. Please review the -** following information to ensure the GNU Lesser General Public License -** requirements will be met: https://www.gnu.org/licenses/lgpl.html and -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, The Qt Company gives you certain additional -** rights. These rights are described in The Qt Company LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. ** ****************************************************************************/ #include "fileutils_mac.h" -#include "autoreleasepool.h" #include "qtcassert.h" #include @@ -44,45 +38,46 @@ QUrl filePathUrl(const QUrl &url) { - Utils::AutoreleasePool pool; Q_UNUSED(pool) QUrl ret = url; - NSURL *nsurl = url.toNSURL(); - if ([nsurl isFileReferenceURL]) - ret = QUrl::fromNSURL([nsurl filePathURL]); + @autoreleasepool { + NSURL *nsurl = url.toNSURL(); + if ([nsurl isFileReferenceURL]) + ret = QUrl::fromNSURL([nsurl filePathURL]); + } return ret; } QString normalizePathName(const QString &filePath) { - AutoreleasePool pool; Q_UNUSED(pool) - - // NSURL getResourceValue returns values based on the cleaned path so we need to work on that. - // It also returns the disk name for "/" and "/.." and errors on "" and relative paths, - // so avoid that + QString result; + @autoreleasepool { + // NSURL getResourceValue returns values based on the cleaned path so we need to work on that. + // It also returns the disk name for "/" and "/.." and errors on "" and relative paths, + // so avoid that - // we cannot know the normalized name for relative paths - if (QFileInfo(filePath).isRelative()) - return filePath; + // we cannot know the normalized name for relative paths + if (QFileInfo(filePath).isRelative()) + return filePath; - QString result; - QString path = QDir::cleanPath(filePath); - // avoid empty paths and paths like "/../foo" or "/.." - if (path.isEmpty() || path.contains(QLatin1String("/../")) || path.endsWith(QLatin1String("/.."))) - return filePath; + QString path = QDir::cleanPath(filePath); + // avoid empty paths and paths like "/../foo" or "/.." + if (path.isEmpty() || path.contains(QLatin1String("/../")) || path.endsWith(QLatin1String("/.."))) + return filePath; - while (path != QLatin1String("/") /*be defensive->*/&& path != QLatin1String(".") && !path.isEmpty()) { - QFileInfo info(path); - NSURL *nsurl = [NSURL fileURLWithPath:path.toNSString()]; - NSString *out; - QString component; - if ([nsurl getResourceValue:(NSString **)&out forKey:NSURLNameKey error:nil]) - component = QString::fromNSString(out); - else // e.g. if the full path does not exist - component = info.fileName(); - result.prepend(QLatin1Char('/') + component); - path = info.path(); + while (path != QLatin1String("/") /*be defensive->*/&& path != QLatin1String(".") && !path.isEmpty()) { + QFileInfo info(path); + NSURL *nsurl = [NSURL fileURLWithPath:path.toNSString()]; + NSString *out; + QString component; + if ([nsurl getResourceValue:(NSString **)&out forKey:NSURLNameKey error:nil]) + component = QString::fromNSString(out); + else // e.g. if the full path does not exist + component = info.fileName(); + result.prepend(QLatin1Char('/') + component); + path = info.path(); + } + QTC_ASSERT(path == QLatin1String("/"), return filePath); } - QTC_ASSERT(path == QLatin1String("/"), return filePath); return result; }