[Bf-blender-cvs] [a2921067994] master: Fix T80531: Dope Sheet Shape Key Editor search/filter not working

Philipp Oeser noreply at git.blender.org
Mon Sep 7 12:03:50 CEST 2020


Commit: a2921067994bdec012a5b9edc7168d10b1b0627c
Author: Philipp Oeser
Date:   Mon Sep 7 11:45:10 2020 +0200
Branches: master
https://developer.blender.org/rBa2921067994bdec012a5b9edc7168d10b1b0627c

Fix T80531: Dope Sheet Shape Key Editor search/filter not working

Looks like this has just not been implemented before.
Use the name matching method used in other Dope Sheet UI modes.

Maniphest Tasks: T80531

Differential Revision: https://developer.blender.org/D8824

===================================================================

M	source/blender/editors/animation/anim_filter.c

===================================================================

diff --git a/source/blender/editors/animation/anim_filter.c b/source/blender/editors/animation/anim_filter.c
index b75437fff45..3416d72c021 100644
--- a/source/blender/editors/animation/anim_filter.c
+++ b/source/blender/editors/animation/anim_filter.c
@@ -1715,6 +1715,7 @@ static size_t animdata_filter_shapekey(bAnimContext *ac,
   /* check if channels or only F-Curves */
   if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
     KeyBlock *kb;
+    bDopeSheet *ads = ac->ads;
 
     /* loop through the channels adding ShapeKeys as appropriate */
     for (kb = key->block.first; kb; kb = kb->next) {
@@ -1723,6 +1724,12 @@ static size_t animdata_filter_shapekey(bAnimContext *ac,
         continue;
       }
 
+      /* Skip shapekey if the name doesn't match the filter string. */
+      if (ads != NULL && ads->searchstr[0] != '\0' &&
+          name_matches_dopesheet_filter(ads, kb->name) == false) {
+        continue;
+      }
+
       /* only work with this channel and its subchannels if it is editable */
       if (!(filter_mode & ANIMFILTER_FOREDIT) || EDITABLE_SHAPEKEY(kb)) {
         /* Only include this track if selected in a way consistent



More information about the Bf-blender-cvs mailing list