Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2014-05-05 06:15:28 +0400
committerJoshua Leung <aligorith@gmail.com>2014-05-05 06:16:41 +0400
commit6d2c23bf70c550ead52a5e518d9e4846c5d3f23f (patch)
tree4febc7ff4d51d79c83c02e946e98d7ac936fbe7f /source/blender/editors/space_nla/nla_buttons.c
parent4e0aa0e7f23fae72c469262d4aab751fc6d642de (diff)
NLA Pushdown Operator: Active animdata option + More error handling
* If channel_index = -1, the pushdown operator will try to use the active AnimData block. To see which one this will be, check the properties (NKEY) region in NLA Editor. * Added more detailed error handling for the various cases where things are not in a valid state for pushing down an action. This is notably to stop scripters from putting the NLA into an inconsistent state.
Diffstat (limited to 'source/blender/editors/space_nla/nla_buttons.c')
-rw-r--r--source/blender/editors/space_nla/nla_buttons.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/editors/space_nla/nla_buttons.c b/source/blender/editors/space_nla/nla_buttons.c
index a39783cf94b..808bd622c0d 100644
--- a/source/blender/editors/space_nla/nla_buttons.c
+++ b/source/blender/editors/space_nla/nla_buttons.c
@@ -80,19 +80,19 @@ static void do_nla_region_buttons(bContext *C, void *UNUSED(arg), int UNUSED(eve
WM_event_add_notifier(C, NC_SCENE | ND_TRANSFORM, NULL);
}
-static int nla_panel_context(const bContext *C, PointerRNA *adt_ptr, PointerRNA *nlt_ptr, PointerRNA *strip_ptr)
+bool nla_panel_context(const bContext *C, PointerRNA *adt_ptr, PointerRNA *nlt_ptr, PointerRNA *strip_ptr)
{
bAnimContext ac;
bAnimListElem *ale = NULL;
ListBase anim_data = {NULL, NULL};
- short found = 0;
+ short found = 0; /* not bool, since we need to indicate "found but not ideal" status */
int filter;
/* for now, only draw if we could init the anim-context info (necessary for all animation-related tools)
* to work correctly is able to be correctly retrieved. There's no point showing empty panels?
*/
if (ANIM_animdata_get_context(C, &ac) == 0)
- return 0;
+ return false;
/* extract list of active channel(s), of which we should only take the first one
* - we need the channels flag to get the active AnimData block when there are no NLA Tracks
@@ -176,7 +176,7 @@ static int nla_panel_context(const bContext *C, PointerRNA *adt_ptr, PointerRNA
/* free temp data */
BLI_freelistN(&anim_data);
- return found;
+ return (found != 0);
}
#if 0