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/editors/interface/interface_layout.c | |
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/editors/interface/interface_layout.c')
-rw-r--r-- | source/blender/editors/interface/interface_layout.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c index c69f53a53d2..1e95b4df762 100644 --- a/source/blender/editors/interface/interface_layout.c +++ b/source/blender/editors/interface/interface_layout.c @@ -2263,6 +2263,7 @@ uiLayout *uiLayoutRow(uiLayout *layout, int align) litem->enabled = 1; litem->context = layout->context; litem->space = (align) ? 0 : layout->root->style->buttonspacex; + litem->redalert = layout->redalert; litem->w = layout->w; BLI_addtail(&layout->items, litem); @@ -2283,6 +2284,7 @@ uiLayout *uiLayoutColumn(uiLayout *layout, int align) litem->enabled = 1; litem->context = layout->context; litem->space = (litem->align) ? 0 : layout->root->style->buttonspacey; + litem->redalert = layout->redalert; litem->w = layout->w; BLI_addtail(&layout->items, litem); @@ -2303,6 +2305,7 @@ uiLayout *uiLayoutColumnFlow(uiLayout *layout, int number, int align) flow->litem.enabled = 1; flow->litem.context = layout->context; flow->litem.space = (flow->litem.align) ? 0 : layout->root->style->columnspace; + flow->litem.redalert = layout->redalert; flow->litem.w = layout->w; flow->number = number; BLI_addtail(&layout->items, flow); @@ -2323,6 +2326,7 @@ static uiLayoutItemBx *ui_layout_box(uiLayout *layout, int type) box->litem.enabled = 1; box->litem.context = layout->context; box->litem.space = layout->root->style->columnspace; + box->litem.redalert = layout->redalert; box->litem.w = layout->w; BLI_addtail(&layout->items, box); |