From 2cbe64a79a0cfec8a8f34bfbfe2342c7b3e46a42 Mon Sep 17 00:00:00 2001 From: Matt Gajownik Date: Sun, 23 Feb 2020 10:57:11 +1100 Subject: [PATCH] UI: Fix Import Profile in Portable Mode QDir.mkpath seems broken with relative paths Also adds a check for existing profiles --- UI/window-basic-main-profiles.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/UI/window-basic-main-profiles.cpp b/UI/window-basic-main-profiles.cpp index c0d3fd8b3..fa85a33f0 100644 --- a/UI/window-basic-main-profiles.cpp +++ b/UI/window-basic-main-profiles.cpp @@ -505,10 +505,16 @@ void OBSBasic::on_actionImportProfile_triggered() QFileInfo finfo(dir); QString directory = finfo.fileName(); QString profileDir = inputPath + directory; - QDir folder(profileDir); - if (!folder.exists()) { - folder.mkpath(profileDir); + if (ProfileExists(directory.toStdString().c_str())) { + OBSMessageBox::warning( + this, QTStr("Basic.MainMenu.Profile.Import"), + QTStr("Basic.MainMenu.Profile.Exists")); + } else if (os_mkdir(profileDir.toStdString().c_str()) < 0) { + blog(LOG_WARNING, + "Failed to create profile directory '%s'", + directory.toStdString().c_str()); + } else { QFile::copy(dir + "/basic.ini", profileDir + "/basic.ini"); QFile::copy(dir + "/service.json", @@ -518,10 +524,6 @@ void OBSBasic::on_actionImportProfile_triggered() QFile::copy(dir + "/recordEncoder.json", profileDir + "/recordEncoder.json"); RefreshProfiles(); - } else { - OBSMessageBox::warning( - this, QTStr("Basic.MainMenu.Profile.Import"), - QTStr("Basic.MainMenu.Profile.Exists")); } } }