Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2010-09-07 14:24:12 +0400
committerCampbell Barton <ideasman42@gmail.com>2010-09-07 14:24:12 +0400
commit28d18d59a314f3579fcf272e0b9b5c5ea03a1513 (patch)
treebfc89d5e54e36ed4ac13c1dacd3006c18f2ec0d4 /source/blender/editors/space_view3d/view3d_select.c
parentea95d71067ec3abc392d69321c35dd1b78b65712 (diff)
bugfix [#22831] transform problem with hidden parent object
dont allow selecting of hidden objects or restrict selected object by using the BASE_SELECTABLE macro.
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_select.c')
-rw-r--r--source/blender/editors/space_view3d/view3d_select.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c
index b3d4e513d43..966fac1a3bd 100644
--- a/source/blender/editors/space_view3d/view3d_select.c
+++ b/source/blender/editors/space_view3d/view3d_select.c
@@ -1055,7 +1055,7 @@ static Base *mouse_select_eval_buffer(ViewContext *vc, unsigned int *buffer, int
base= FIRSTBASE;
while(base) {
- if(base->lay & v3d->lay) {
+ if(BASE_SELECTABLE(v3d, base)) {
if(base->selcol==selcol) break;
}
base= base->next;
@@ -1074,7 +1074,7 @@ static Base *mouse_select_eval_buffer(ViewContext *vc, unsigned int *buffer, int
if(base==startbase) break;
}
- if(base->lay & v3d->lay) {
+ if(BASE_SELECTABLE(v3d, base)) {
for(a=0; a<hits; a++) {
if(has_bones) {
/* skip non-bone objects */
@@ -1623,7 +1623,7 @@ static int view3d_borderselect_exec(bContext *C, wmOperator *op)
} else {
while(base) {
Base *next = base->next;
- if(base->lay & v3d->lay) {
+ if(BASE_SELECTABLE(v3d, base)) {
ED_base_object_select(base, BA_DESELECT);
}
base= next;
@@ -1652,7 +1652,7 @@ static int view3d_borderselect_exec(bContext *C, wmOperator *op)
while(base && hits) {
Base *next = base->next;
- if(base->lay & v3d->lay) {
+ if(BASE_SELECTABLE(v3d, base)) {
while (base->selcol == (*col & 0xFFFF)) { /* we got an object */
if(*col & 0xFFFF0000) { /* we got a bone */
@@ -2092,7 +2092,7 @@ static int view3d_circle_select_exec(bContext *C, wmOperator *op)
Base *base;
selecting= selecting?BA_SELECT:BA_DESELECT;
for(base= FIRSTBASE; base; base= base->next) {
- if(base->lay & v3d->lay) {
+ if(BASE_SELECTABLE(v3d, base)) {
project_short(ar, base->object->obmat[3], &base->sx);
if(base->sx!=IS_CLIPPED) {
int dx= base->sx-x;