| Index: sync/syncable/mutable_entry.cc
|
| diff --git a/sync/syncable/mutable_entry.cc b/sync/syncable/mutable_entry.cc
|
| index 869320f33e20aa487ebbc4ecaefc015ed9f1d90e..86f289ee9e1a5316c16e1c9741ecabb47587af6f 100644
|
| --- a/sync/syncable/mutable_entry.cc
|
| +++ b/sync/syncable/mutable_entry.cc
|
| @@ -141,14 +141,14 @@ bool MutableEntry::PutIsDel(bool is_del) {
|
| return true;
|
| }
|
|
|
| -bool MutableEntry::Put(Int64Field field, const int64& value) {
|
| +bool MutableEntry::Put(OrdinalField field, const NodeOrdinal& value) {
|
| DCHECK(kernel_);
|
| write_transaction_->SaveOriginal(kernel_);
|
| - if (kernel_->ref(field) != value) {
|
| + if(!kernel_->ref(field).Equals(value)) {
|
| ScopedKernelLock lock(dir());
|
| - if (SERVER_POSITION_IN_PARENT == field) {
|
| - ScopedIndexUpdater<ParentIdAndHandleIndexer> updater(lock, kernel_,
|
| - dir()->kernel_->parent_id_child_index);
|
| + if (SERVER_ORDINAL_IN_PARENT == field) {
|
| + ScopedIndexUpdater<ParentIdAndHandleIndexer> updater(
|
| + lock, kernel_, dir()->kernel_->parent_id_child_index);
|
| kernel_->put(field, value);
|
| } else {
|
| kernel_->put(field, value);
|
| @@ -158,6 +158,17 @@ bool MutableEntry::Put(Int64Field field, const int64& value) {
|
| return true;
|
| }
|
|
|
| +bool MutableEntry::Put(Int64Field field, const int64& value) {
|
| + DCHECK(kernel_);
|
| + write_transaction_->SaveOriginal(kernel_);
|
| + if (kernel_->ref(field) != value) {
|
| + ScopedKernelLock lock(dir());
|
| + kernel_->put(field, value);
|
| + kernel_->mark_dirty(dir()->kernel_->dirty_metahandles);
|
| + }
|
| + return true;
|
| +}
|
| +
|
| bool MutableEntry::Put(TimeField field, const base::Time& value) {
|
| DCHECK(kernel_);
|
| write_transaction_->SaveOriginal(kernel_);
|
|
|