diff --git a/source/blender/src/butspace.c b/source/blender/src/butspace.c
index 507e89b3122..cdc99f13b82 100644
--- a/source/blender/src/butspace.c
+++ b/source/blender/src/butspace.c
@@ -148,7 +148,7 @@ void test_actionpoin_but(char *name, ID **idpp)
id= G.main->action.first;
while(id) {
if( strcmp(name, id->name+2)==0 ) {
- id_lib_extern(id); /* checks lib data, sets correct flag for saving then */
+ id_us_plus(id);
*idpp= id;
return;
}
diff --git a/source/blender/src/buttons_editing.c b/source/blender/src/buttons_editing.c
index 6fa00ff46a8..0c307382187 100644
--- a/source/blender/src/buttons_editing.c
+++ b/source/blender/src/buttons_editing.c
@@ -3172,6 +3172,9 @@ static void editing_panel_armature_type(Object *ob, bArmature *arm)
but= uiDefButBitS(block, BUT_TOGDUAL, 1<layer, 0, 0, 0, 0, "");
uiButSetFunc(but, armature_layer_cb, &arm->layer, (void *)(1<pose)
+ ob->pose->proxy_layer= arm->layer;
uiBlockBeginAlign(block);
uiDefButI(block, ROW, REDRAWVIEW3D, "Octahedron", 10, 100,90,20, &arm->drawtype, 0, ARM_OCTA, 0, 0, "Draw bones as octahedra");
diff --git a/source/blender/src/edit.c b/source/blender/src/edit.c
index 576b9c665d4..b915e1b6627 100644
--- a/source/blender/src/edit.c
+++ b/source/blender/src/edit.c
@@ -519,12 +519,12 @@ static void count_object(Object *ob, int sel, int totob)
ModifierData *md = modifiers_findByType(ob, eModifierType_Subsurf);
int totvert, totface;
+ subsurf= 1;
if (md) {
SubsurfModifierData *smd = (SubsurfModifierData*) md;
-
- subsurf= 1<<(2*smd->levels);
+ if(smd->modifier.mode & eModifierMode_Realtime)
+ subsurf= 1<<(2*smd->levels);
}
- else subsurf= 1;
totvert= subsurf*me->totvert*totob;
totface= subsurf*me->totface*totob;
@@ -731,7 +731,7 @@ void countall()
if(base->flag & SELECT) G.totobjsel++;
- if(ob->parent && (ob->parent->transflag & OB_DUPLIVERTS)) {
+ if(ob->parent && (ob->parent->transflag & (OB_DUPLIVERTS|OB_DUPLIFACES))) {
int tot= count_duplilist(ob->parent);
G.totobj+=tot;
count_object(ob, base->flag & SELECT, tot);
diff --git a/source/blender/src/poseobject.c b/source/blender/src/poseobject.c
index 7f61505131a..501c3977de1 100644
--- a/source/blender/src/poseobject.c
+++ b/source/blender/src/poseobject.c
@@ -917,6 +917,8 @@ void pose_movetolayer(void)
if( movetolayer_short_buts(&lay, "Armature Layers")==0 ) return;
if(lay==0) return;
arm->layer= lay;
+ if(ob->pose)
+ ob->pose->proxy_layer= lay;
allqueue(REDRAWVIEW3D, 0);
allqueue(REDRAWACTION, 0);