diff --git a/Core/Config.cpp b/Core/Config.cpp index 7d420d779..04ea53e84 100644 --- a/Core/Config.cpp +++ b/Core/Config.cpp @@ -780,7 +780,15 @@ void Config::Load(const char *iniFileName, const char *controllerIniFilename) { fAnalogStickY /= screen_height; } - if (dismissedVersion == upgradeVersion) { + const char *gitVer = PPSSPP_GIT_VERSION; + Version installed(gitVer); + Version upgrade(upgradeVersion); + const bool versionsValid = installed.IsValid() && upgrade.IsValid(); + + // Do this regardless of iRunCount to prevent a silly bug where one might use an older + // build of PPSSPP, receive an upgrade notice, then start a newer version, and still receive the upgrade notice, + // even if said newer version is >= the upgrade found online. + if ((dismissedVersion == upgradeVersion) || (versionsValid && (installed >= upgrade))) { upgradeMessage = ""; }