diff --git a/checkin_notes b/checkin_notes index 5ecda29531..32b881e1b4 100755 --- a/checkin_notes +++ b/checkin_notes @@ -6056,3 +6056,13 @@ Janus 11 June 2007 html/bt/inc checks.php (new) +David 11 June 2007 + - client: if statefile has an app version an unknown platform, + change it to the primary platform. + The probably cause of this is that the user switched to + a 64-bit client, then back to the 32-bit client. + If we reject the app version, it would e.g. cause CPDN + WUs to get aborted in the middle. + + client/ + cs_statefile.C diff --git a/client/cs_statefile.C b/client/cs_statefile.C index 6ee3638f45..e02dd75150 100644 --- a/client/cs_statefile.C +++ b/client/cs_statefile.C @@ -239,11 +239,16 @@ int CLIENT_STATE::parse_state_file() { strcpy(avp->platform, get_primary_platform()); } else { if (!is_supported_platform(avp->platform)) { + // if it's a platform we haven't heard of, + // must be that the user tried out a 64 bit client + // and then reverted to a 32-bit client. + // Let's not throw away the app version and its WUs + // msg_printf(project, MSG_INTERNAL_ERROR, - "App version has unsupported platform %s", avp->platform + "App version has unsupported platform %s; changing to %s", + avp->platform, get_primary_platform() ); - delete avp; - continue; + strcpy(avp->platform, get_primary_platform()); } } retval = link_app_version(project, avp);