Blender Git Commit Log

Git Commits -> Revision 2775afa

Revision 2775afa by Lukas Toenne (depsgraph_refactor)
June 4, 2014, 18:01 (GMT)
Fix for nasty Heisenbug(tm): C++ enums can only be used as flag values
when the variable is of type int.

With short etc. any concatenation ("|" operator) of flags will generate
an int, and in this case was overwriting neighboring fields in
OperationDepsNode ("flag" and "done" fields), which was causing havoc
in the scheduler.

Alternatively a specialized flag type can be defined. See here for
further info on the issue:
http://stackoverflow.com/questions/1448396/how-to-use-enums-as-flags-in-c

Commit Details:

Full Hash: 2775afac8aed21eabef0c2cf6fed69a99a8749a5
Parent Commit: b043be3
Lines Changed: +3, -3

2 Modified Paths:

/source/blender/depsgraph/intern/depsgraph_eval.h (+1, -1) (Diff)
/source/blender/depsgraph/intern/depsnode_operation.h (+2, -2) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021