| Index: chrome/browser/sync/engine/resolve_conflicts_command.cc
|
| diff --git a/chrome/browser/sync/engine/resolve_conflicts_command.cc b/chrome/browser/sync/engine/resolve_conflicts_command.cc
|
| index a8fcefbc98fa22fe0ba0c7181fc1d9be3ac67b05..7329da90dc481fbeb093111513c461f3df86e957 100644
|
| --- a/chrome/browser/sync/engine/resolve_conflicts_command.cc
|
| +++ b/chrome/browser/sync/engine/resolve_conflicts_command.cc
|
| @@ -5,6 +5,7 @@
|
| #include "chrome/browser/sync/engine/resolve_conflicts_command.h"
|
|
|
| #include "chrome/browser/sync/engine/conflict_resolver.h"
|
| +#include "chrome/browser/sync/sessions/session_state.h"
|
| #include "chrome/browser/sync/sessions/sync_session.h"
|
| #include "chrome/browser/sync/syncable/directory_manager.h"
|
|
|
| @@ -24,8 +25,12 @@ void ResolveConflictsCommand::ModelChangingExecuteImpl(
|
| session->context()->account_name());
|
| if (!dir.good())
|
| return;
|
| - sessions::StatusController* status = session->status_controller();
|
| - status->update_conflicts_resolved(resolver->ResolveConflicts(dir, status));
|
| + sessions::StatusController* status = session->mutable_status_controller();
|
| + const sessions::ConflictProgress* progress = status->conflict_progress();
|
| + if (!progress)
|
| + return; // Nothing to do.
|
| + status->update_conflicts_resolved(
|
| + resolver->ResolveConflicts(dir, *progress, status));
|
| }
|
|
|
| } // namespace browser_sync
|
|
|