diff -r a73d553ef521 -r 6ae78749babc PluginManager/PluginManager.py --- a/PluginManager/PluginManager.py Sat Dec 01 19:07:01 2018 +0100 +++ b/PluginManager/PluginManager.py Fri Dec 07 19:33:33 2018 +0100 @@ -36,6 +36,7 @@ import UI.PixmapCache +import Globals import Utilities import Preferences @@ -1303,13 +1304,11 @@ self.__updateAvailable = True return - if version.count(".") >= 3: - # cope for extended version numbers by ignoring - # the extension - checkVersion = ".".join(version.split(".", 3)[:3]) - else: - checkVersion = version - if pluginDetails["version"] < checkVersion: + versionTuple = Globals.versionToTuple(version)[:3] + pluginVersionTuple = Globals.versionToTuple( + pluginDetails["version"])[:3] + + if pluginVersionTuple < versionTuple: self.__updateAvailable = True return @@ -1317,7 +1316,6 @@ # Check against downloaded plugin archives # 1. Check, if the archive file exists if not os.path.exists(archive): - self.__updateAvailable = True return # 2. Check, if the archive is a valid zip file @@ -1330,10 +1328,11 @@ try: aversion = zipFile.read("VERSION").decode("utf-8") except KeyError: - aversion = "" + aversion = "0.0.0" zipFile.close() - if aversion != version: + aversionTuple = Globals.versionToTuple(aversion)[:3] + if aversionTuple != versionTuple: self.__updateAvailable = True def __sslErrors(self, reply, errors):