| Index: sync/syncable/mutable_entry.cc
|
| diff --git a/sync/syncable/mutable_entry.cc b/sync/syncable/mutable_entry.cc
|
| index 0aa37e7a4df1369cb2ad2e91cdd3c36fe39eb358..0cc06f90b69ea8524d301c9b8f238f8697534693 100644
|
| --- a/sync/syncable/mutable_entry.cc
|
| +++ b/sync/syncable/mutable_entry.cc
|
| @@ -227,10 +227,14 @@ void MutableEntry::PutUniquePosition(const UniquePosition& value) {
|
| }
|
|
|
| bool MutableEntry::PutPredecessor(const Id& predecessor_id) {
|
| - MutableEntry predecessor(write_transaction(), GET_BY_ID, predecessor_id);
|
| - if (!predecessor.good())
|
| - return false;
|
| - dir()->PutPredecessor(kernel_, predecessor.kernel_);
|
| + if (predecessor_id.IsNull()) {
|
| + dir()->PutPredecessor(kernel_, NULL);
|
| + } else {
|
| + MutableEntry predecessor(write_transaction(), GET_BY_ID, predecessor_id);
|
| + if (!predecessor.good())
|
| + return false;
|
| + dir()->PutPredecessor(kernel_, predecessor.kernel_);
|
| + }
|
| return true;
|
| }
|
|
|
|
|