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/windowmanager/intern/wm_draw.c
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/windowmanager/intern/wm_draw.c')
-rw-r--r--source/blender/windowmanager/intern/wm_draw.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/source/blender/windowmanager/intern/wm_draw.c b/source/blender/windowmanager/intern/wm_draw.c
index 3335efeb166..b9e6ca2d281 100644
--- a/source/blender/windowmanager/intern/wm_draw.c
+++ b/source/blender/windowmanager/intern/wm_draw.c
@@ -34,6 +34,7 @@
#include "DNA_screen_types.h"
#include "DNA_windowmanager_types.h"
#include "DNA_userdef_types.h"
+#include "DNA_view3d_types.h"
#include "MEM_guardedalloc.h"
@@ -90,6 +91,12 @@ static void wm_paintcursor_draw(bContext *C, ARegion *ar)
}
}
+static void wm_area_mark_invalid_backbuf(ScrArea *sa)
+{
+ if(sa->spacetype == SPACE_VIEW3D)
+ ((View3D*)sa->spacedata.first)->flag |= V3D_INVALID_BACKBUF;
+}
+
/********************** draw all **************************/
/* - reference method, draw all each time */
@@ -113,6 +120,7 @@ static void wm_method_draw_full(bContext *C, wmWindow *win)
}
}
+ wm_area_mark_invalid_backbuf(sa);
CTX_wm_area_set(C, NULL);
}
@@ -230,6 +238,7 @@ static void wm_method_draw_overlap_all(bContext *C, wmWindow *win)
}
}
+ wm_area_mark_invalid_backbuf(sa);
CTX_wm_area_set(C, NULL);
}
@@ -553,6 +562,7 @@ static void wm_method_draw_triple(bContext *C, wmWindow *win)
}
}
+ wm_area_mark_invalid_backbuf(sa);
CTX_wm_area_set(C, NULL);
}