summaryrefslogtreecommitdiff
path: root/updater/scan.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'updater/scan.cpp')
-rw-r--r--updater/scan.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/updater/scan.cpp b/updater/scan.cpp
index 395b3a7..ac068ca 100644
--- a/updater/scan.cpp
+++ b/updater/scan.cpp
@@ -116,7 +116,12 @@ void ScanPlugins(FilenameMap *fn_map, UpdateList *update_list)
int file_id = FindFileID(alternateName, MC_PLUGINS, update_list);
if (file_id != -1)
{
- RegisterForFileListing(file_id, alternateName, pluginInfo->version, true, MC_PLUGINS);
+ found = true;
+ if (FindFileInList(pluginInfo->shortName) >= 0)
+ RegisterForFileListing(file_id, pluginInfo->shortName, pluginInfo->version, true, MC_PLUGINS);
+ else
+ RegisterForFileListing(file_id, alternateName, pluginInfo->version, true, MC_PLUGINS);
+
if (fn_map)
{
FileNameStruct* fns = fn_map->find((FileNameStruct*)&file_id);
@@ -126,7 +131,6 @@ void ScanPlugins(FilenameMap *fn_map, UpdateList *update_list)
fn_map->insert(fns);
}
fns->list.insert(mir_tstrdup(findData.cFileName));
- found = true;
}
}
mir_free(alternateName);
@@ -134,7 +138,7 @@ void ScanPlugins(FilenameMap *fn_map, UpdateList *update_list)
if (!found)
{
- int file_id = FindFileID(pluginInfo->shortName, MC_PLUGINS, update_list);
+ int file_id = FindFileID(pluginInfo->shortName, MC_PLUGINS, update_list);
if (file_id != -1)
{
RegisterForFileListing(file_id, pluginInfo, true);