"[]" 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
-

Erich Ocean (onitunes) August 24th, 2008 @ 04:55 PM
- → Milestone changed from to Unscheduled
- → State changed from new to open
- → Assigned user changed from to Erich Ocean (onitunes)
-

Erich Ocean (onitunes) September 30th, 2008 @ 12:34 AM
- → Milestone changed from Unscheduled to REL 0.9.21
-

Erich Ocean (onitunes) November 8th, 2008 @ 09:27 AM
- → Assigned user cleared.
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.
