Index: chrome/browser/importer/firefox_importer_utils.cc |
=================================================================== |
--- chrome/browser/importer/firefox_importer_utils.cc (revision 5528) |
+++ chrome/browser/importer/firefox_importer_utils.cc (working copy) |
@@ -195,11 +195,13 @@ |
std::map<std::wstring, TemplateURL*> search_engine_for_url; |
std::string content; |
+ bool need_to_increment_iter; |
// The first XML file represents the default search engine in Firefox 3, so we |
// need to keep it on top of the list. |
TemplateURL* default_turl = NULL; |
for (std::vector<std::wstring>::const_iterator iter = xml_files.begin(); |
- iter != xml_files.end(); ++iter) { |
+ iter != xml_files.end();) { |
+ need_to_increment_iter = true; |
file_util::ReadFileToString(*iter, &content); |
TemplateURL* template_url = new TemplateURL(); |
FirefoxURLParameterFilter param_filter; |
@@ -216,7 +218,8 @@ |
// returns a vector with first Firefox default search engines and then |
// the user's ones. We want to give priority to the user ones. |
delete iter->second; |
- search_engine_for_url.erase(iter); |
+ iter = search_engine_for_url.erase(iter); |
+ need_to_increment_iter = false; |
MAD
2009/02/26 18:13:24
This is not the same iter as the one used for the
|
} |
// Give this a keyword to facilitate tab-to-search, if possible. |
template_url->set_keyword(TemplateURLModel::GenerateKeyword(GURL(url), |
@@ -229,6 +232,8 @@ |
delete template_url; |
} |
content.clear(); |
+ if (need_to_increment_iter) |
+ ++iter; |
} |
// Put the results in the |search_engines| vector. |