From fcf67a6ea40ea2636f229b6600cc5018ac92555e Mon Sep 17 00:00:00 2001 From: luca Date: Mon, 22 Feb 2010 12:19:38 +0000 Subject: [PATCH] =?UTF-8?q?Patch=20level=20=20=20=20=20=20=20=20=20:10.0?= =?UTF-8?q?=20652=20Files=20correlati=20=20=20=20=20:=20Ricompilazione=20D?= =?UTF-8?q?emo=20:=20[=20]=20Commento=20=20=20=20=20=20=20=20=20=20=20=20:?= =?UTF-8?q?=20Aggiunta=20la=20possibilit=C3=A0=20di=20uncheckare=20e=20dis?= =?UTF-8?q?abilitare=20tutti=20i=20moduli=20in=20caso=20di=20patch=20di=20?= =?UTF-8?q?SOLO=20modulo=20SR.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://10.65.10.50/trunk@20152 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ba/ba1700.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/ba/ba1700.cpp b/ba/ba1700.cpp index ae94446a9..160baf98d 100755 --- a/ba/ba1700.cpp +++ b/ba/ba1700.cpp @@ -324,9 +324,9 @@ int TInstaller_mask::test_station_type() const int TInstaller_mask::precheck_modules(bool only_newer) { - TString16 release,currrelease; + TString16 release, currrelease; TString4 cod_module; - int patchlevel,modnumber,currpatch; + int patchlevel, modnumber, currpatch; bool check_enabled = true; _setup_run = false; //inizializzazione del flag di controllo di lancio di setup.exe @@ -341,8 +341,7 @@ int TInstaller_mask::precheck_modules(bool only_newer) currrelease = rigar.get(C_CURRRELEASE); currpatch = rigar.get_int(C_CURRPATCH); modnumber = get_module_number(cod_module); - if (modnumber >= 0 && should_precheck_module(modnumber) && - release.full() && + if (modnumber >= 0 && should_precheck_module(modnumber) && release.full() && ((release > currrelease) || (release == currrelease && (only_newer ? patchlevel > currpatch : patchlevel >= currpatch) )) ) @@ -351,18 +350,23 @@ int TInstaller_mask::precheck_modules(bool only_newer) bool chk = rigar.get_char(C_ISPATCH) != 'X' || release == currrelease; // non spunta automaticamente il modulo server su installazioni che non siano server - if (chk && cod_module == "sr" && test_station_type() != 2) + if (cod_module == "sr" && test_station_type() != 2) + { chk = false; + disable_row(r); + } if (check_enabled) check(r, chk); - if (chk && only_newer && cod_module == "sy") //se viene checkato il modulo sy (sistema) deve togliere.. - { //..la possibilita' di installare altri moduli.. + if (chk && only_newer && (cod_module == "sy" || cod_module == "sr")) //se viene checkato il modulo sy (sistema) e/o sr (servers)deve togliere.. + { //..la possibilita' di installare altri moduli.. for (int i = 0; i < a.items(); i++) { - disable_row(i); // disabilita tutte le righe dello sheet - if (i != r) uncheck(i); // puo' succedere che il modulo sy non sia il primo + if (i != r) + uncheck(i); // puo' succedere che il modulo sy o sr non sia il primo + + disable_row(i); // disabilita tutte le righe dello sheet (va fatto DOPO l'uncheck!!!) } disable(DLG_USER); check_enabled = false; //..ed uscire