Fix #29935: missing cycles update/crash when removing world datablock form scene.

This commit is contained in:
Brecht Van Lommel
2012-01-22 13:56:39 +00:00
parent 3fa4b6ea7d
commit 27e94f7cbe
3 changed files with 20 additions and 17 deletions

View File

@@ -159,6 +159,7 @@ void BlenderSync::sync_background_light()
{
BL::World b_world = b_scene.world();
if(b_world) {
PointerRNA cworld = RNA_pointer_get(&b_world.ptr, "cycles");
bool sample_as_light = get_boolean(cworld, "sample_as_light");
@@ -179,6 +180,7 @@ void BlenderSync::sync_background_light()
light_map.set_recalc(b_world);
}
}
}
world_map = b_world.ptr.data;
world_recalc = false;

View File

@@ -3957,7 +3957,7 @@ void RNA_def_scene(BlenderRNA *brna)
prop= RNA_def_property(srna, "world", PROP_POINTER, PROP_NONE);
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "World", "World used for rendering the scene");
RNA_def_property_update(prop, NC_SCENE|ND_WORLD, NULL);
RNA_def_property_update(prop, NC_SCENE|ND_WORLD, "rna_Scene_glsl_update");
prop= RNA_def_property(srna, "cursor_location", PROP_FLOAT, PROP_XYZ_LENGTH);
RNA_def_property_float_sdna(prop, NULL, "cursor");

View File

@@ -50,10 +50,11 @@ typedef struct QuicktimeCodecTypeDesc {
} QuicktimeCodecTypeDesc ;
// quicktime movie output functions
struct ImageFormatData;
struct RenderData;
struct ReportList;
struct Scene;
struct wmOperatorType;
struct ReportList;
int start_qt(struct Scene *scene, struct RenderData *rd, int rectx, int recty, struct ReportList *reports); //for movie handle (BKE writeavi.c now)
int append_qt(struct RenderData *rd, int frame, int *pixels, int rectx, int recty, struct ReportList *reports);