diff options
Diffstat (limited to 'src/modlist.cpp')
| -rw-r--r-- | src/modlist.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/modlist.cpp b/src/modlist.cpp index 55344865..19c0ac8c 100644 --- a/src/modlist.cpp +++ b/src/modlist.cpp @@ -633,10 +633,15 @@ void ModList::setOverwriteMarkers(const std::set<unsigned int> &overwrite, const notifyChange(0, rowCount());
}
-void ModList::modInfoAboutToChange(ModInfo::Ptr info)
+bool ModList::modInfoAboutToChange(ModInfo::Ptr info)
{
- m_ChangeInfo.name = info->name();
- m_ChangeInfo.state = state(info->name());
+ if (m_ChangeInfo.name.isEmpty()) {
+ m_ChangeInfo.name = info->name();
+ m_ChangeInfo.state = state(info->name());
+ return true;
+ } else {
+ return false;
+ }
}
void ModList::modInfoChanged(ModInfo::Ptr info)
@@ -652,6 +657,7 @@ void ModList::modInfoChanged(ModInfo::Ptr info) } else {
qCritical("modInfoChanged not called after modInfoAboutToChange");
}
+ m_ChangeInfo.name = QString();
}
void ModList::disconnectSlots() {
|
