Revision: 26701
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26701
Author: aligorith
Date: 2010-02-08 11:47:34 +0100 (Mon, 08 Feb 2010)
Log Message:
-----------
Durian Bugreport - Animation channel visiblity (upwards) flushing
When the visiblity of a F-Curve in an expanded group was enabled using VKEY,
the visibility of all groups above the expanded groups were also turned on.
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
2010-02-08 10:27:10 UTC (rev 26700)
+++ trunk/blender/source/blender/editors/animation/anim_channels_edit.c
2010-02-08 10:47:34 UTC (rev 26701)
@@ -437,18 +437,29 @@
/* if the level is 'less than' (i.e. more important)
the level we're matching
* but also 'less than' the level just tried (i.e. only
the 1st group above grouped F-Curves,
- * when toggling visibility of F-Curves, gets flushed),
flush the new status...
+ * when toggling visibility of F-Curves, gets flushed,
which should happen if we don't let prevLevel
+ * get updated below once the first 1st group is
found)...
*/
- if (level < prevLevel)
+ if (level < prevLevel) {
+ /* flush the new status... */
ANIM_channel_setting_set(ac, ale, setting, on);
- /* however, if the level is 'greater than' (i.e. less
important than the previous channel,
- * stop searching, since we've already reached the
bottom of another hierarchy
- */
- else if (level > matchLevel)
- break;
-
- /* store this level as the 'old' level now */
- prevLevel= level;
+
+ /* store this level as the 'old' level now */
+ prevLevel= level;
+ }
+ /* if the level is 'greater than' (i.e. less important)
than the previous level... */
+ else if (level > prevLevel) {
+ /* if previous level was a base-level (i.e. 0
offset / root of one hierarchy),
+ * stop here
+ */
+ if (prevLevel == 0)
+ break;
+ /* otherwise, this level weaves into another
sibling hierarchy to the previous one just
+ * finished, so skip until we get to the parent
of this level
+ */
+ else
+ continue;
+ }
}
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs