diff options
author | Janne Karhu <jhkarh@gmail.com> | 2010-11-08 12:05:27 +0300 |
---|---|---|
committer | Janne Karhu <jhkarh@gmail.com> | 2010-11-08 12:05:27 +0300 |
commit | 3ca44b5d167d6816c7ba3659c141f95036882932 (patch) | |
tree | c40deeb60ace6c229e42c25267f6b3f3d3c1a42f /source/blender/editors/animation | |
parent | 4d743796fddeec4b70c876e764fc7b4ee837c6d1 (diff) |
Second fix for [#24476] The driver is not displayed in GraphEditor.
* Texture data still wasn't shown if material didn't have animation data.
* Also unified the material/texture filtering logic a bit.
Diffstat (limited to 'source/blender/editors/animation')
-rw-r--r-- | source/blender/editors/animation/anim_filter.c | 39 |
1 files changed, 22 insertions, 17 deletions
diff --git a/source/blender/editors/animation/anim_filter.c b/source/blender/editors/animation/anim_filter.c index 5b0d6c2c299..9875007bf41 100644 --- a/source/blender/editors/animation/anim_filter.c +++ b/source/blender/editors/animation/anim_filter.c @@ -1390,29 +1390,34 @@ static int animdata_filter_dopesheet_mats (bAnimContext *ac, ListBase *anim_data /* for now, if no material returned, skip (this shouldn't confuse the user I hope) */ if (ma == NULL) continue; - if (ma->adt == NULL) { - /* need to check textures */ - if(ma->mtex) { - MTex **mtex = ma->mtex; - int mtInd; - for (mtInd=0; mtInd < MAX_MTEX; mtInd++) { - if (ELEM3(NULL, mtex[mtInd], mtex[mtInd]->tex, mtex[mtInd]->tex->adt)) - continue; - else - ok=1; - } - } - else - continue; - } - - + /* check if ok */ ANIMDATA_FILTER_CASES(ma, { /* AnimData blocks - do nothing... */ }, ok=1;, ok=1;, ok=1;) + + /* need to check textures */ + if (ok == 0 && !(ads->filterflag & ADS_FILTER_NOTEX)) { + int mtInd; + + for (mtInd=0; mtInd < MAX_MTEX; mtInd++) { + MTex *mtex = ma->mtex[mtInd]; + + if(mtex && mtex->tex) { + ANIMDATA_FILTER_CASES(mtex->tex, + { /* AnimData blocks - do nothing... */ }, + ok=1;, + ok=1;, + ok=1;) + } + + if(ok) + break; + } + } + if (ok == 0) continue; /* make a temp list elem for this */ |