Compositor should never add notifiers by himself, notifiers should be added

from main thread using job update callback.

Added new execution-time callback to bNodeTree which marks job to be updated.

The code here could be a bit not so obvious because in some cases job update
callback need to merge local tree, but it's only needed for old compositor
system which is gonna to be removed soon, so decided not to bother with
cleanup now. Removing old compositor system will also allow to drop stats_draw
callback from bNodeTree.

This should fix following bugs:
This commit is contained in:
2012-11-30 09:12:10 +00:00
parent ceedd5bd35
commit 323e86694e
5 changed files with 32 additions and 9 deletions

View File

@@ -352,7 +352,7 @@ void ExecutionGroup::execute(ExecutionSystem *graph)
startEvaluated = true;
numberEvaluated++;
WM_main_add_notifier(NC_WINDOW | ND_DRAW, NULL);
bTree->update_draw(bTree->udh);
}
else if (state == COM_ES_SCHEDULED) {
finished = false;