Orange fixes;

- protected editing library data names in outliner
- layer-bone recode caused selection from posemode not to flush correctly
  to editmode
This commit is contained in:
Ton Roosendaal
2005-12-07 20:28:48 +00:00
parent 44c9b42f60
commit 89974f1546
3 changed files with 12 additions and 3 deletions

View File

@@ -137,6 +137,8 @@ static void make_boneList(ListBase* list, ListBase *bones, EditBone *parent)
else
eBone->flag |= BONE_ROOTSEL;
}
else
eBone->flag &= ~BONE_ROOTSEL;
VECCOPY(eBone->head, curBone->arm_head);
VECCOPY(eBone->tail, curBone->arm_tail);
@@ -1903,7 +1905,7 @@ void deselectall_posearmature (Object *ob, int test)
/* Set the flags accordingly */
for(pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) {
if(pchan->bone->layer & arm->layer) {
if(selectmode==0) pchan->bone->flag &= ~(BONE_SELECTED|BONE_ACTIVE);
if(selectmode==0) pchan->bone->flag &= ~(BONE_SELECTED|BONE_TIPSEL|BONE_ROOTSEL|BONE_ACTIVE);
else if(selectmode==1) pchan->bone->flag |= BONE_SELECTED;
else pchan->bone->flag &= ~BONE_ACTIVE;
}

View File

@@ -42,14 +42,15 @@
#include "DNA_scene_types.h"
#include "DNA_view3d_types.h"
#include "BKE_depsgraph.h"
#include "BKE_group.h"
#include "BKE_global.h"
#include "BKE_main.h"
#include "BIF_space.h"
#include "BIF_interface.h"
#include "BIF_toolbox.h"
#include "BIF_editgroup.h"
#include "BIF_space.h"
#include "BIF_toolbox.h"
#include "blendef.h"
#include "mydevice.h"
@@ -72,6 +73,8 @@ void add_selected_to_group(Group *group)
allqueue(REDRAWVIEW3D, 0);
allqueue(REDRAWBUTSOBJECT, 0);
DAG_scene_sort(G.scene);
BIF_undo_push("Add to Group");
}
void rem_selected_from_group(void)
@@ -90,8 +93,10 @@ void rem_selected_from_group(void)
}
}
DAG_scene_sort(G.scene);
allqueue(REDRAWVIEW3D, 0);
allqueue(REDRAWBUTSOBJECT, 0);
BIF_undo_push("Remove from Group");
}
void group_operation_with_menu(void)

View File

@@ -1475,6 +1475,8 @@ static int do_outliner_mouse_event(SpaceOops *soops, TreeElement *te, short even
if(G.qual & LR_CTRLKEY) {
if(ELEM5(tselem->type, TSE_NLA, TSE_DEFGROUP_BASE, TSE_CONSTRAINT_BASE, TSE_MODIFIER_BASE, TSE_SCRIPT_BASE))
error("Cannot edit builtin name");
else if(tselem->id->lib)
error("Cannot edit Library Data");
else {
tselem->flag |= TSE_TEXTBUT;
}