[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54557] trunk/blender/intern/cycles: Further fix for #34121: OSL + persistent images could crash in some cases still.

Brecht Van Lommel brechtvanlommel at pandora.be
Thu Feb 14 17:48:43 CET 2013


Revision: 54557
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54557
Author:   blendix
Date:     2013-02-14 16:48:43 +0000 (Thu, 14 Feb 2013)
Log Message:
-----------
Further fix for #34121: OSL + persistent images could crash in some cases still.

Modified Paths:
--------------
    trunk/blender/intern/cycles/blender/blender_session.cpp
    trunk/blender/intern/cycles/blender/blender_sync.cpp
    trunk/blender/intern/cycles/render/scene.cpp
    trunk/blender/intern/cycles/render/scene.h

Modified: trunk/blender/intern/cycles/blender/blender_session.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_session.cpp	2013-02-14 16:11:47 UTC (rev 54556)
+++ trunk/blender/intern/cycles/blender/blender_session.cpp	2013-02-14 16:48:43 UTC (rev 54557)
@@ -128,7 +128,8 @@
 	height = b_engine.resolution_y();
 
 	if(scene->params.modified(scene_params) ||
-	   session->params.modified(session_params))
+	   session->params.modified(session_params) ||
+	   !scene_params.persistent_data)
 	{
 		/* if scene or session parameters changed, it's easier to simply re-create
 		 * them rather than trying to distinguish which settings need to be updated

Modified: trunk/blender/intern/cycles/blender/blender_sync.cpp
===================================================================
--- trunk/blender/intern/cycles/blender/blender_sync.cpp	2013-02-14 16:11:47 UTC (rev 54556)
+++ trunk/blender/intern/cycles/blender/blender_sync.cpp	2013-02-14 16:48:43 UTC (rev 54557)
@@ -308,9 +308,9 @@
 	params.use_bvh_cache = (background)? RNA_boolean_get(&cscene, "use_cache"): false;
 
 	if(background && params.shadingsystem != SceneParams::OSL)
-		params.persistent_images = r.use_persistent_data();
+		params.persistent_data = r.use_persistent_data();
 	else
-		params.persistent_images = false;
+		params.persistent_data = false;
 
 	return params;
 }

Modified: trunk/blender/intern/cycles/render/scene.cpp
===================================================================
--- trunk/blender/intern/cycles/render/scene.cpp	2013-02-14 16:11:47 UTC (rev 54556)
+++ trunk/blender/intern/cycles/render/scene.cpp	2013-02-14 16:48:43 UTC (rev 54557)
@@ -106,7 +106,7 @@
 		particle_system_manager->device_free(device, &dscene);
 		curve_system_manager->device_free(device, &dscene);
 
-		if(!params.persistent_images || final)
+		if(!params.persistent_data || final)
 			image_manager->device_free(device, &dscene);
 	}
 

Modified: trunk/blender/intern/cycles/render/scene.h
===================================================================
--- trunk/blender/intern/cycles/render/scene.h	2013-02-14 16:11:47 UTC (rev 54556)
+++ trunk/blender/intern/cycles/render/scene.h	2013-02-14 16:48:43 UTC (rev 54557)
@@ -125,7 +125,7 @@
 	bool use_bvh_cache;
 	bool use_bvh_spatial_split;
 	bool use_qbvh;
-	bool persistent_images;
+	bool persistent_data;
 
 	SceneParams()
 	{
@@ -146,7 +146,7 @@
 		&& use_bvh_cache == params.use_bvh_cache
 		&& use_bvh_spatial_split == params.use_bvh_spatial_split
 		&& use_qbvh == params.use_qbvh
-		&& persistent_images == params.persistent_images); }
+		&& persistent_data == params.persistent_data); }
 };
 
 /* Scene */




More information about the Bf-blender-cvs mailing list