forked from bartvdbraak/blender
- Bug fix #1913
Lasso select on objects didnt work with multiple views, due to lack of calculation of screencoords. - Bug fix #1914 Hooks didn't update 'parent' when snapping to grid a Hook. Solved it for snap to cursor too.
This commit is contained in:
parent
e7bd591842
commit
1534066d5b
@ -700,6 +700,23 @@ void countall()
|
||||
allqueue(REDRAWINFO, 1); /* 1, because header->win==0! */
|
||||
}
|
||||
|
||||
/* selected things moved, and might need update in displists */
|
||||
static void update_select_dependency(void)
|
||||
{
|
||||
Base *base;
|
||||
Object *ob;
|
||||
for(base= (G.scene->base.first); base; base= base->next) {
|
||||
ob= base->object;
|
||||
if(ob->hooks.first) {
|
||||
ObHook *hook= ob->hooks.first;
|
||||
while(hook) {
|
||||
if(hook->parent->flag & SELECT) freedisplist(&ob->disp);
|
||||
hook= hook->next;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void snap_sel_to_grid()
|
||||
{
|
||||
@ -786,6 +803,7 @@ void snap_sel_to_grid()
|
||||
|
||||
base= base->next;
|
||||
}
|
||||
update_select_dependency();
|
||||
allqueue(REDRAWVIEW3D, 0);
|
||||
}
|
||||
|
||||
@ -871,6 +889,7 @@ void snap_sel_to_curs()
|
||||
|
||||
base= base->next;
|
||||
}
|
||||
update_select_dependency();
|
||||
allqueue(REDRAWVIEW3D, 0);
|
||||
}
|
||||
|
||||
@ -1181,7 +1200,7 @@ void snap_to_center()
|
||||
|
||||
base= base->next;
|
||||
}
|
||||
|
||||
update_select_dependency();
|
||||
allqueue(REDRAWVIEW3D, 0);
|
||||
}
|
||||
|
||||
|
@ -239,6 +239,7 @@ static void do_lasso_select_objects(short mcords[][2], short moves, short select
|
||||
|
||||
for(base= G.scene->base.first; base; base= base->next) {
|
||||
if(base->lay & G.vd->lay) {
|
||||
project_short(base->object->obmat[3], &base->sx);
|
||||
if(lasso_inside(mcords, moves, base->sx, base->sy)) {
|
||||
|
||||
if(select) base->flag |= SELECT;
|
||||
|
Loading…
Reference in New Issue
Block a user