Bugfix #20605: Shape key values not keyable from mesh data panel. Keyable from Datablock browser.

See the bugreport comments for full breakdown of the fix. 


--

The change in brush.c is to get blender compiling again, after my previous commit which tried to fix a compiler warning related to this (but in the header file instead).
This commit is contained in:
Joshua Leung 2010-01-08 02:02:52 +00:00
parent cddd784e44
commit 28b1824fd0
3 changed files with 14 additions and 3 deletions

@ -150,7 +150,12 @@ class DATA_PT_shape_keys(DataButtonsPanel):
ob = context.object
key = ob.data.shape_keys
kb = ob.active_shape_key
if key and len(key.keys):
# this is so that we get the active shapekey from the
# shapekeys block, not from object data
kb = key.keys[ob.active_shape_key.name]
else:
kb = None
wide_ui = context.region.width > narrowui
enable_edit = ob.mode != 'EDIT'

@ -225,7 +225,7 @@ void brush_toggled_fake_user(Brush *brush)
}
}
void brush_curve_preset(Brush *b, CurveMappingPreset preset)
void brush_curve_preset(Brush *b, /*CurveMappingPreset*/int preset)
{
CurveMap *cm = NULL;

@ -283,7 +283,13 @@ static PointerRNA rna_ShapeKey_data_get(CollectionPropertyIterator *iter)
static char *rna_ShapeKey_path(PointerRNA *ptr)
{
return BLI_sprintfN("keys[\"%s\"]", ((KeyBlock*)ptr->data)->name);
KeyBlock *kb= (KeyBlock *)ptr->data;
ID *id= ptr->id.data;
if ((id) && (GS(id->name) != ID_KE))
return BLI_sprintfN("shape_keys.keys[\"%s\"]", kb->name);
else
return BLI_sprintfN("keys[\"%s\"]", kb->name);
}
static void rna_Key_update_data(Main *bmain, Scene *scene, PointerRNA *ptr)