[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60892] trunk/blender/source/blender/ editors/animation/anim_channels_edit.c: DopeSheet Group Select => Bone Select Tweak: Don't change selection status of

Joshua Leung aligorith at gmail.com
Tue Oct 22 08:24:48 CEST 2013


Revision: 60892
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60892
Author:   aligorith
Date:     2013-10-22 06:24:47 +0000 (Tue, 22 Oct 2013)
Log Message:
-----------
DopeSheet Group Select => Bone Select Tweak: Don't change selection status of
bones if "Only Selected" dopesheet filter is enabled.

When this was enabled, it would be too easy to accidentally change the selected
bones, causing the keyframes you were just editing to disappear

Modified Paths:
--------------
    trunk/blender/source/blender/editors/animation/anim_channels_edit.c

Modified: trunk/blender/source/blender/editors/animation/anim_channels_edit.c
===================================================================
--- trunk/blender/source/blender/editors/animation/anim_channels_edit.c	2013-10-22 03:31:21 UTC (rev 60891)
+++ trunk/blender/source/blender/editors/animation/anim_channels_edit.c	2013-10-22 06:24:47 UTC (rev 60892)
@@ -2450,20 +2450,25 @@
 			 * Since groups are used to collect F-Curves of the same Bone by default
 			 * (via Keying Sets) so that they can be managed better, we try to make
 			 * things here easier for animators by mapping group selection to bone
-			 * selection
+			 * selection. 
+			 *
+			 * Only do this if "Only Selected" dopesheet filter is not active, or else it
+			 * becomes too unpredictable/tricky to manage
 			 */
-			if ((ale->id) && (GS(ale->id->name) == ID_OB)) {
-				ob = (Object *)ale->id;
-				
-				if (ob->type == OB_ARMATURE) {
-					/* Assume for now that any group with corresponding name is what we want
-					 * (i.e. for an armature whose location is animated, things would break
-					 * if the user were to add a bone named "Location").
-					 *
-					 * TODO: check the first F-Curve or so to be sure...
-					 */
-					pchan = BKE_pose_channel_find_name(ob->pose, agrp->name);
-				}	
+			if ((ac->ads->filterflag & ADS_FILTER_ONLYSEL)==0) {
+				if ((ale->id) && (GS(ale->id->name) == ID_OB)) {
+					ob = (Object *)ale->id;
+					
+					if (ob->type == OB_ARMATURE) {
+						/* Assume for now that any group with corresponding name is what we want
+						 * (i.e. for an armature whose location is animated, things would break
+						 * if the user were to add a bone named "Location").
+						 *
+						 * TODO: check the first F-Curve or so to be sure...
+						 */
+						pchan = BKE_pose_channel_find_name(ob->pose, agrp->name);
+					}	
+				}
 			}
 			
 			/* select/deselect group */




More information about the Bf-blender-cvs mailing list