diff options
| author | Tannin <devnull@localhost> | 2014-07-17 20:04:22 +0200 |
|---|---|---|
| committer | Tannin <devnull@localhost> | 2014-07-17 20:04:22 +0200 |
| commit | 4e5a67fc063243c4c10e04b5f601108dd01357f3 (patch) | |
| tree | e327a00a93b6d72c286830a7769cd7be9b15e3f0 /src/mainwindow.cpp | |
| parent | 67b0268e700072b9ee273a40251b422a8f55c3ba (diff) | |
- bugfix: broke qt4 compatibility in trying to support qt5
- bugfix: overwrite dialog displayed system drives if the overwrite directory didn't exist
- bugfix: ini tweak activation wasn't saved
Diffstat (limited to 'src/mainwindow.cpp')
| -rw-r--r-- | src/mainwindow.cpp | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 8287b93d..1936bdb1 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -3174,14 +3174,20 @@ void MainWindow::displayModInformation(ModInfo::Ptr modInfo, unsigned int index, std::vector<ModInfo::EFlag> flags = modInfo->getFlags(); if (std::find(flags.begin(), flags.end(), ModInfo::FLAG_OVERWRITE) != flags.end()) { QDialog *dialog = this->findChild<QDialog*>("__overwriteDialog"); - if (dialog == NULL) { - dialog = new OverwriteInfoDialog(modInfo, this); - dialog->setObjectName("__overwriteDialog"); + try { + if (dialog == NULL) { + dialog = new OverwriteInfoDialog(modInfo, this); + dialog->setObjectName("__overwriteDialog"); + } else { + qobject_cast<OverwriteInfoDialog*>(dialog)->setModInfo(modInfo); + } + dialog->show(); + dialog->raise(); + dialog->activateWindow(); + connect(dialog, SIGNAL(finished(int)), this, SLOT(overwriteClosed(int))); + } catch (const std::exception &e) { + reportError(tr("Failed to display overwrite dialog: %1").arg(e.what())); } - dialog->show(); - dialog->raise(); - dialog->activateWindow(); - connect(dialog, SIGNAL(finished(int)), this, SLOT(overwriteClosed(int))); } else { modInfo->saveMeta(); ModInfoDialog dialog(modInfo, m_DirectoryStructure, modInfo->hasFlag(ModInfo::FLAG_FOREIGN), this); |
