#141 open
woid

"[]" property observer depends on timing if commitChangesImmediately:YES

Reported by woid | August 19th, 2008 @ 04:26 PM | in REL 0.9.21

See test case: http://gist.github.com/6249

Situation: observing "[]" property on array controller. When content is changed, observer is called, but this.get('content') has old version.

Expected behavior: when observer is called controller should be already in modified state.

Digged through sources and found this in controller.js:

  } else if (this.get('commitChangesImmediately')) {
    if (!this._commitTimeout) {
      this._commitTimeout = this.commitChanges.bind(this).defer();
    }
  }

I think deferred execution is responsible for this timing bug. Observers may be executed before commitChanges is executed.

Comments and changes to this ticket

Please Login or create a free account to add a new comment.

You can update this ticket by sending an email to from your email client. (help)

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

SproutCore: JavaScript Application Framework

Source available from github
The Git repository resides at http://github.com/sproutit

Check out the current development trunk with:
git clone git://github.com/sproutit/sproutcore.git

Creating a bug report

When creating a bug report, be sure to include as much relevant information as possible. Post the code sample that causes the problem. Preferably, alter the unit tests and show through either changed or added tests how the expected behavior is not occuring.

Submitting Patches

Resist adding new tags, use the ones in the tag cloud already. If you are submitting a patch or a pull request from a fork, tag the ticket as a "patch". If you are submitting a new feature enhancement, tag it as "enhancement". If you are submitting a fix for a bug, tag it as "fix".

Thanks!

We're glad you're contributing. Feel free to drop by the Google Group as well to let us know you are involved.

People watching this ticket