summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2015-07-29 18:32:03 +0200
committerlouis <louis.braun@gmx.de>2015-07-29 18:32:03 +0200
commit2efe2314e244e04f8d5fc61976e30a99240d54b2 (patch)
tree59fe057643735b1cae6c1521a1ee85666f649229
parent6e0f56e56c8eae6052d59f840f7108befa389693 (diff)
downloadvdr-plugin-skindesigner-2efe2314e244e04f8d5fc61976e30a99240d54b2.tar.gz
vdr-plugin-skindesigner-2efe2314e244e04f8d5fc61976e30a99240d54b2.tar.bz2
fixed bug in checking skin version
-rw-r--r--HISTORY2
-rw-r--r--config.c15
-rw-r--r--setup.c50
3 files changed, 41 insertions, 26 deletions
diff --git a/HISTORY b/HISTORY
index 154076a..f2c21ff 100644
--- a/HISTORY
+++ b/HISTORY
@@ -399,4 +399,6 @@ Version 0.6.1
Version 0.6.2
- added progressmodeonly viewelement in displayreplay
+- fixed bug in checking skin version
+
diff --git a/config.c b/config.c
index fb8abee..9b288c4 100644
--- a/config.c
+++ b/config.c
@@ -359,14 +359,17 @@ bool cDesignerConfig::CheckVersion(string name, string &neededVersion) {
int verMinor = atoi(tokensVer[1].c_str());
int verMikro = atoi(tokensVer[2].c_str());
- if (minVerMajor > verMajor) {
- return false;
- } else if (minVerMinor > verMinor) {
+ if (minVerMajor < verMajor)
+ return true;
+ if (minVerMajor > verMajor)
return false;
- } else if (minVerMikro > verMikro) {
+ if (minVerMinor < verMinor)
+ return true;
+ if (minVerMinor > verMinor)
return false;
- }
- return true;
+ if (minVerMikro <= verMikro)
+ return true;
+ return false;
}
bool cDesignerConfig::SkinInstalled(string name) {
diff --git a/setup.c b/setup.c
index 71ef0b9..e2abab4 100644
--- a/setup.c
+++ b/setup.c
@@ -201,22 +201,32 @@ eOSState cSkinDesignerSetup::ProcessKey(eKeys Key) {
if (Key == kRed) {
string versionNeeded = "";
bool versionOk = config.CheckVersion(currentSkin, versionNeeded);
- if (!versionOk) {
- cString error = cString::sprintf("%s %s %s %s %s",
- tr("Skin Designer"),
- tr("version"),
- versionNeeded.c_str(),
- tr("or higher"),
- tr("needed"));
- Skins.Message(mtError, *error);
- return state;
- }
if (type == itSkinRepo) {
+ if (!versionOk) {
+ cString error = cString::sprintf("%s %s %s %s %s",
+ tr("Skin Designer"),
+ tr("version"),
+ versionNeeded.c_str(),
+ tr("or higher"),
+ tr("needed"));
+ Skins.Message(mtError, *error);
+ return state;
+ }
Skins.Message(mtStatus, *cString::sprintf("%s ...", tr("Installing Skin")));
StartInstallation(currentSkin);
} else if (type == itSkinSetup || type == itNoSkinSetup) {
bool gitAvailable = StartUpdate(currentSkin);
if (gitAvailable) {
+ if (!versionOk) {
+ cString error = cString::sprintf("%s %s %s %s %s",
+ tr("Skin Designer"),
+ tr("version"),
+ versionNeeded.c_str(),
+ tr("or higher"),
+ tr("needed"));
+ Skins.Message(mtError, *error);
+ return state;
+ }
Skins.Message(mtStatus, *cString::sprintf("%s ...", tr("Updating Skin from Git")));
} else {
Skins.Message(mtStatus, tr("No Git Repsoitory available"));
@@ -402,18 +412,18 @@ eOSState cSkindesignerSkinSetup::ProcessKey(eKeys Key) {
case kRed: {
string versionNeeded = "";
bool versionOk = config.CheckVersion(skin, versionNeeded);
- if (!versionOk) {
- cString error = cString::sprintf("%s %s %s %s %s",
- tr("Skin Designer"),
- tr("version"),
- versionNeeded.c_str(),
- tr("or higher"),
- tr("needed"));
- Skins.Message(mtError, *error);
- break;
- }
bool gitAvailable = StartUpdate(skin);
if (gitAvailable) {
+ if (!versionOk) {
+ cString error = cString::sprintf("%s %s %s %s %s",
+ tr("Skin Designer"),
+ tr("version"),
+ versionNeeded.c_str(),
+ tr("or higher"),
+ tr("needed"));
+ Skins.Message(mtError, *error);
+ break;
+ }
Skins.Message(mtStatus, *cString::sprintf("%s ...", tr("Updating Skin from Git")));
} else {
Skins.Message(mtStatus, tr("No Git Repsoitory available"));