diff options
author | Joshua Leung <aligorith@gmail.com> | 2013-02-28 11:13:33 +0400 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2013-02-28 11:13:33 +0400 |
commit | ac6c218cf423ab2ea059ea169df54250ed81af97 (patch) | |
tree | 423c33a956a61f0e3f922a48a650a8e6587bcecd /source/blender/makesdna | |
parent | 2afca3e317d7b545757864071a53889223cf0ff6 (diff) |
Invalid Driver Targets are now indicated appropriately (using Red Backgrounds)
in the UI
This is the second part of the fixes for [#32492], making it easier to identify
which part of a driver (i.e. which of its targets) is causing problems
A number of additional/related changes needed to be made:
* Red-alert status for layouts is now propagated down to child layouts when they
are created. This is needed as otherwise some of the templates used in the Graph
Editor driver settings won't actually get the red-alert status flushed down to
them. Also, note that this status needs to be set before any widgets are added
to the layout, or else the settings aren't applied when the relevant widgets get
created.
* "Single Property" RNA-Paths resulting in out of bounds array access will now
trigger an error status and appropriate warnings
TODO:
* The error tagging doesn't get applied immediately after variables are created,
or their types changed
* There was also some other weirdness involved when a higher-value flag (1<<10)
was used for this setting, which needs further attention
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_anim_types.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/source/blender/makesdna/DNA_anim_types.h b/source/blender/makesdna/DNA_anim_types.h index 1ac6e6db94b..73e2a9f433b 100644 --- a/source/blender/makesdna/DNA_anim_types.h +++ b/source/blender/makesdna/DNA_anim_types.h @@ -284,15 +284,18 @@ typedef enum eDriverTarget_Flag { /* used for targets that use the pchan_name instead of RNA path * (i.e. rotation difference) */ - DTAR_FLAG_STRUCT_REF = (1<<0), + DTAR_FLAG_STRUCT_REF = (1 << 0), /* idtype can only be 'Object' */ - DTAR_FLAG_ID_OB_ONLY = (1<<1), + DTAR_FLAG_ID_OB_ONLY = (1 << 1), /* "localspace" flags */ /* base flag - basically "pre parent+constraints" */ - DTAR_FLAG_LOCALSPACE = (1<<2), + DTAR_FLAG_LOCALSPACE = (1 << 2), /* include constraints transformed to space including parents */ - DTAR_FLAG_LOCAL_CONSTS = (1<<3), + DTAR_FLAG_LOCAL_CONSTS = (1 << 3), + + /* error flags */ + DTAR_FLAG_INVALID = (1 << 4), } eDriverTarget_Flag; /* Transform Channels for Driver Targets */ |