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")); } } }