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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2009-12-17 17:38:30 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2009-12-17 17:38:30 +0300
commit68ff5a87ecc7584408a09cec02aa4e6220b4d21e (patch)
tree88fc8abe443135a3d5e775b16029db33e6632a3f /source/blender/editors
parent4b3c6b79966e6aa94e863386082065a3361b0ee5 (diff)
Fix #20374: Limit selection to visible would not work anymore after trying to
select once but not selecting correctly, due the need backbuffer flag not being reset correctly in the 3d view.
Diffstat (limited to 'source/blender/editors')
-rw-r--r--source/blender/editors/mesh/editface.c2
-rw-r--r--source/blender/editors/space_view3d/view3d_draw.c27
2 files changed, 6 insertions, 23 deletions
diff --git a/source/blender/editors/mesh/editface.c b/source/blender/editors/mesh/editface.c
index d7df018acd7..0e1ac1aa7e8 100644
--- a/source/blender/editors/mesh/editface.c
+++ b/source/blender/editors/mesh/editface.c
@@ -127,7 +127,7 @@ int facesel_face_pick(struct bContext *C, Mesh *me, short *mval, unsigned int *i
if (!me || me->totface==0)
return 0;
-// XXX if (v3d->flag & V3D_NEEDBACKBUFDRAW) {
+// XXX if (v3d->flag & V3D_INVALID_BACKBUF) {
// XXX drawview.c! check_backbuf();
// XXX persp(PERSP_VIEW);
// XXX }
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index 19667beaaf9..a680a3bd40d 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -1113,11 +1113,11 @@ void backdrawview3d(Scene *scene, ARegion *ar, View3D *v3d)
else if((base && (base->object->mode & OB_MODE_PARTICLE_EDIT)) && v3d->drawtype>OB_WIRE && (v3d->flag & V3D_ZBUF_SELECT));
else if(scene->obedit && v3d->drawtype>OB_WIRE && (v3d->flag & V3D_ZBUF_SELECT));
else {
- v3d->flag &= ~V3D_NEEDBACKBUFDRAW;
+ v3d->flag &= ~V3D_INVALID_BACKBUF;
return;
}
- if( !(v3d->flag & V3D_NEEDBACKBUFDRAW) ) return;
+ if( !(v3d->flag & V3D_INVALID_BACKBUF) ) return;
// if(test) {
// if(qtest()) {
@@ -1162,7 +1162,7 @@ void backdrawview3d(Scene *scene, ARegion *ar, View3D *v3d)
draw_object_backbufsel(scene, v3d, rv3d, base->object);
}
- v3d->flag &= ~V3D_NEEDBACKBUFDRAW;
+ v3d->flag &= ~V3D_INVALID_BACKBUF;
G.f &= ~G_BACKBUFSEL;
v3d->zbuf= FALSE;
@@ -1183,7 +1183,7 @@ void backdrawview3d(Scene *scene, ARegion *ar, View3D *v3d)
void view3d_validate_backbuf(ViewContext *vc)
{
- if(vc->v3d->flag & V3D_NEEDBACKBUFDRAW)
+ if(vc->v3d->flag & V3D_INVALID_BACKBUF)
backdrawview3d(vc->scene, vc->ar, vc->v3d);
}
@@ -2188,24 +2188,7 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar)
/* XXX here was the blockhandlers for floating panels */
- if(ob && ob->mode & (OB_MODE_VERTEX_PAINT|OB_MODE_WEIGHT_PAINT|OB_MODE_TEXTURE_PAINT)) {
- v3d->flag |= V3D_NEEDBACKBUFDRAW;
- // XXX addafterqueue(ar->win, BACKBUFDRAW, 1);
- }
-
- if((ob && ob->mode & OB_MODE_PARTICLE_EDIT) && v3d->drawtype>OB_WIRE && (v3d->flag & V3D_ZBUF_SELECT)) {
- v3d->flag |= V3D_NEEDBACKBUFDRAW;
- // XXX addafterqueue(ar->win, BACKBUFDRAW, 1);
- }
-
- // test for backbuf select
- if(scene->obedit && v3d->drawtype>OB_WIRE && (v3d->flag & V3D_ZBUF_SELECT)) {
-
- v3d->flag |= V3D_NEEDBACKBUFDRAW;
- // XXX if(afterqtest(ar->win, BACKBUFDRAW)==0) {
- // addafterqueue(ar->win, BACKBUFDRAW, 1);
- //}
- }
+ v3d->flag |= V3D_INVALID_BACKBUF;
}