From 4a700221d7b13fddd692a7c784ce9fd19ac6b6e2 Mon Sep 17 00:00:00 2001 From: Pieter Hulshoff Date: Fri, 20 Jan 2017 15:54:46 +0100 Subject: [PATCH] Recreate meta.db whenever the RetroFE executable has been updated. --- RetroFE/Source/Database/MetadataDatabase.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/RetroFE/Source/Database/MetadataDatabase.cpp b/RetroFE/Source/Database/MetadataDatabase.cpp index 2eb4256..223f843 100644 --- a/RetroFE/Source/Database/MetadataDatabase.cpp +++ b/RetroFE/Source/Database/MetadataDatabase.cpp @@ -344,10 +344,20 @@ bool MetadataDatabase::needsRefresh() { int count = sqlite3_column_int(stmt, 0); struct stat metadb; + struct stat exe; int metadbErr = stat( Utils::combinePath(Configuration::absolutePath, "meta.db").c_str(), &metadb); +#ifdef WIN32 + int exeErr = stat( Utils::combinePath(Configuration::absolutePath, "core", "RetroFE.exe").c_str(), &exe); +#else + int exeErr = stat( Utils::combinePath(Configuration::absolutePath, "RetroFE").c_str(), &exe); + if (exeErr) + { + exeErr = stat( Utils::combinePath(Configuration::absolutePath, "retrofe").c_str(), &exe); + } +#endif time_t metadirTime = timeDir(Utils::combinePath(Configuration::absolutePath, "meta")); - return (count == 0 || metadbErr || metadb.st_mtime < metadirTime) ? true : false; + return (count == 0 || metadbErr || metadb.st_mtime < metadirTime || exeErr || metadb.st_mtime < exe.st_mtime) ? true : false; } else {