[Bf-blender-cvs] [ba15dd5] master: Remove direct displist creation from drawing code

Sergey Sharybin noreply at git.blender.org
Mon Jan 13 11:03:22 CET 2014


Commit: ba15dd595f91c694cd721ad880e930dea7e04501
Author: Sergey Sharybin
Date:   Thu Jan 9 22:42:11 2014 +0600
https://developer.blender.org/rBba15dd595f91c694cd721ad880e930dea7e04501

Remove direct displist creation from drawing code

It was some kind of workaround for DAG glitch in 2009
(commit hash 8c5c7ebb0) and according to the comment
was needed to make select outline show immediately.

After some tests it appears DAG behaves almost fine now
(just needed to make it so layer is flushed properly to
the set scene) and no reason to have rather confusing
call in the code.

===================================================================

M	source/blender/blenkernel/intern/depsgraph.c
M	source/blender/editors/space_view3d/drawobject.c

===================================================================

diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c
index 7200ec1..630c171 100644
--- a/source/blender/blenkernel/intern/depsgraph.c
+++ b/source/blender/blenkernel/intern/depsgraph.c
@@ -2146,6 +2146,9 @@ void DAG_on_visible_update(Main *bmain, const short do_time)
 		 * note armature poses or object matrices are preserved and do not
 		 * require updates, so we skip those */
 		dag_scene_flush_layers(scene, lay);
+		if (scene->set) {
+			dag_scene_flush_layers(scene->set, lay);
+		}
 		BKE_main_id_tag_idcode(bmain, ID_GR, false);
 
 		for (SETLOOPER(scene, sce_iter, base)) {
diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c
index 173e10b..9a29693 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -6789,14 +6789,6 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, const short
 	}
 
 	if (!particle_skip_object) {
-		/* bad exception, solve this! otherwise outline shows too late */
-		if (ELEM3(ob->type, OB_CURVE, OB_SURF, OB_FONT)) {
-			/* still needed for curves hidden in other layers. depgraph doesnt handle that yet */
-			if (ELEM(NULL, ob->curve_cache, ob->curve_cache->disp.first)) {
-				BKE_displist_make_curveTypes(scene, ob, 0);
-			}
-		}
-		
 		/* draw outline for selected objects, mesh does itself */
 		if ((v3d->flag & V3D_SELECT_OUTLINE) && !render_override && ob->type != OB_MESH) {
 			if (dt > OB_WIRE && (ob->mode & OB_MODE_EDIT) == 0 && (dflag & DRAW_SCENESET) == 0) {




More information about the Bf-blender-cvs mailing list