Index: chrome/installer/util/installer_state.cc |
diff --git a/chrome/installer/util/installer_state.cc b/chrome/installer/util/installer_state.cc |
index bbf3a33682b53dc47acfd2fcf5c040cd6ba1d8f9..56cc1d99005a897f98859f787906476c5e41cfad 100644 |
--- a/chrome/installer/util/installer_state.cc |
+++ b/chrome/installer/util/installer_state.cc |
@@ -412,7 +412,7 @@ Version* InstallerState::GetCurrentVersion( |
if (version == NULL) |
version = &product_state->version(); |
- current_version.reset(version->Clone()); |
+ current_version.reset(new Version(*version)); |
} |
return current_version.release(); |
@@ -467,7 +467,7 @@ void InstallerState::RemoveOldVersionDirectories( |
const Version& new_version, |
Version* existing_version, |
const FilePath& temp_path) const { |
- scoped_ptr<Version> version; |
+ Version version; |
std::vector<FilePath> key_files; |
scoped_ptr<WorkItem> item; |
@@ -478,12 +478,12 @@ void InstallerState::RemoveOldVersionDirectories( |
for (FilePath next_version = version_enum.Next(); !next_version.empty(); |
next_version = version_enum.Next()) { |
FilePath dir_name(next_version.BaseName()); |
- version.reset(Version::GetVersionFromString(WideToASCII(dir_name.value()))); |
+ version = Version(WideToASCII(dir_name.value())); |
// Delete the version folder if it is less than the new version and not |
// equal to the old version (if we have an old version). |
- if (version.get() && |
- version->CompareTo(new_version) < 0 && |
- (existing_version == NULL || !version->Equals(*existing_version))) { |
+ if (version.IsValid() && |
+ version.CompareTo(new_version) < 0 && |
+ (existing_version == NULL || !version.Equals(*existing_version))) { |
// Collect the key files (relative to the version dir) for all products. |
key_files.clear(); |
std::for_each(products_.begin(), products_.end(), |