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>2010-08-13 18:23:44 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2010-08-13 18:23:44 +0400
commit0738ae7688d19b471b7cde9cc631096a6162b3fc (patch)
tree4e83e06a400cc1b2845f6e0945bee09196b8083f
parent9ce2086506dcf16ecc0d5dce7851439ae8818e78 (diff)
2.5: more removal of G.main.
-rw-r--r--source/blender/blenkernel/BKE_pointcache.h2
-rw-r--r--source/blender/blenkernel/BKE_sequencer.h20
-rw-r--r--source/blender/blenkernel/intern/depsgraph.c2
-rw-r--r--source/blender/blenkernel/intern/group.c9
-rw-r--r--source/blender/blenkernel/intern/material.c17
-rw-r--r--source/blender/blenkernel/intern/mesh.c10
-rw-r--r--source/blender/blenkernel/intern/object.c34
-rw-r--r--source/blender/blenkernel/intern/pointcache.c4
-rw-r--r--source/blender/blenkernel/intern/scene.c5
-rw-r--r--source/blender/blenkernel/intern/seqeffects.c31
-rw-r--r--source/blender/blenkernel/intern/sequencer.c76
-rw-r--r--source/blender/blenkernel/intern/text.c6
-rw-r--r--source/blender/blenkernel/intern/texture.c31
-rw-r--r--source/blender/blenkernel/intern/world.c8
-rw-r--r--source/blender/editors/space_sequencer/sequencer_draw.c35
-rw-r--r--source/blender/editors/space_sequencer/sequencer_edit.c24
-rw-r--r--source/blender/makesrna/intern/rna_sequencer.c7
-rw-r--r--source/blender/render/intern/source/pipeline.c2
18 files changed, 162 insertions, 161 deletions
diff --git a/source/blender/blenkernel/BKE_pointcache.h b/source/blender/blenkernel/BKE_pointcache.h
index 63f36a5f103..6b390b2b0cf 100644
--- a/source/blender/blenkernel/BKE_pointcache.h
+++ b/source/blender/blenkernel/BKE_pointcache.h
@@ -275,7 +275,7 @@ int BKE_ptcache_read_cache(PTCacheID *pid, float cfra, float frs_sec);
int BKE_ptcache_write_cache(PTCacheID *pid, int cfra);
/****************** Continue physics ***************/
-void BKE_ptcache_set_continue_physics(struct Scene *scene, int enable);
+void BKE_ptcache_set_continue_physics(struct Main *bmain, struct Scene *scene, int enable);
int BKE_ptcache_get_continue_physics(void);
/******************* Allocate & free ***************/
diff --git a/source/blender/blenkernel/BKE_sequencer.h b/source/blender/blenkernel/BKE_sequencer.h
index b544b3461cd..a9fb45c6e14 100644
--- a/source/blender/blenkernel/BKE_sequencer.h
+++ b/source/blender/blenkernel/BKE_sequencer.h
@@ -31,13 +31,14 @@
#ifndef BKE_SEQUENCER_H
#define BKE_SEQUENCER_H
+struct bContext;
struct Editing;
+struct ImBuf;
+struct Main;
+struct Scene;
struct Sequence;
struct Strip;
struct StripElem;
-struct ImBuf;
-struct Scene;
-struct bContext;
#define MAXSEQ 32
@@ -123,6 +124,7 @@ struct SeqEffectHandle {
(mixed cases are handled one layer up...) */
struct ImBuf* (*execute)(
+ struct Main *bmain,
struct Scene *scene, struct Sequence *seq, float cfra,
float facf0, float facf1,
int x, int y, int preview_render_size,
@@ -146,15 +148,15 @@ void seq_free_editing(struct Scene *scene);
void seq_free_clipboard(void);
struct Editing *seq_give_editing(struct Scene *scene, int alloc);
char *give_seqname(struct Sequence *seq);
-struct ImBuf *give_ibuf_seq(struct Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size);
-struct ImBuf *give_ibuf_seq_threaded(struct Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size);
-struct ImBuf *give_ibuf_seq_direct(struct Scene *scene, int rectx, int recty, int cfra, int render_size, struct Sequence *seq);
-struct ImBuf *give_ibuf_seqbase(struct Scene *scene, int rectx, int recty, int cfra, int chan_shown, int render_size, struct ListBase *seqbasep);
+struct ImBuf *give_ibuf_seq(struct Main *bmain, struct Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size);
+struct ImBuf *give_ibuf_seq_threaded(struct Main *bmain, struct Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size);
+struct ImBuf *give_ibuf_seq_direct(struct Main *bmain, struct Scene *scene, int rectx, int recty, int cfra, int render_size, struct Sequence *seq);
+struct ImBuf *give_ibuf_seqbase(struct Main *bmain, struct Scene *scene, int rectx, int recty, int cfra, int chan_shown, int render_size, struct ListBase *seqbasep);
void give_ibuf_prefetch_request(int rectx, int recty, int cfra, int chanshown, int render_size);
void calc_sequence(struct Scene *scene, struct Sequence *seq);
void calc_sequence_disp(struct Scene *scene, struct Sequence *seq);
void new_tstripdata(struct Sequence *seq);
-void reload_sequence_new_file(struct Scene *scene, struct Sequence * seq, int lock_range);
+void reload_sequence_new_file(struct Main *bmain, struct Scene *scene, struct Sequence * seq, int lock_range);
void sort_seq(struct Scene *scene);
void build_seqar_cb(struct ListBase *seqbase, struct Sequence ***seqar, int *totseq,
int (*test_func)(struct Sequence * seq));
@@ -227,7 +229,7 @@ void seqbase_sound_reload(struct Scene *scene, ListBase *seqbase);
void seqbase_unique_name_recursive(ListBase *seqbasep, struct Sequence *seq);
void seqbase_dupli_recursive(struct Scene *scene, ListBase *nseqbase, ListBase *seqbase, int dupe_flag);
-void clear_scene_in_allseqs(struct Scene *sce);
+void clear_scene_in_allseqs(struct Main *bmain, struct Scene *sce);
struct Sequence *get_seq_by_name(struct ListBase *seqbase, const char *name, int recursive);
diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c
index 1f8360324d5..d498b73be7e 100644
--- a/source/blender/blenkernel/intern/depsgraph.c
+++ b/source/blender/blenkernel/intern/depsgraph.c
@@ -2180,7 +2180,7 @@ void DAG_scene_update_flags(Main *bmain, Scene *scene, unsigned int lay)
dag_object_time_update_flags(scene->camera);
/* and store the info in groupobject */
- for(group= G.main->group.first; group; group= group->id.next) {
+ for(group= bmain->group.first; group; group= group->id.next) {
if(group->id.flag & LIB_DOIT) {
for(go= group->gobject.first; go; go= go->next) {
go->recalc= go->ob->recalc;
diff --git a/source/blender/blenkernel/intern/group.c b/source/blender/blenkernel/intern/group.c
index 6377a6f6ccd..bdf203119c3 100644
--- a/source/blender/blenkernel/intern/group.c
+++ b/source/blender/blenkernel/intern/group.c
@@ -69,21 +69,22 @@ void free_group_objects(Group *group)
void unlink_group(Group *group)
{
+ Main *bmain= G.main;
Material *ma;
Object *ob;
Scene *sce;
SceneRenderLayer *srl;
ParticleSystem *psys;
- for(ma= G.main->mat.first; ma; ma= ma->id.next) {
+ for(ma= bmain->mat.first; ma; ma= ma->id.next) {
if(ma->group==group)
ma->group= NULL;
}
- for(ma= G.main->mat.first; ma; ma= ma->id.next) {
+ for(ma= bmain->mat.first; ma; ma= ma->id.next) {
if(ma->group==group)
ma->group= NULL;
}
- for (sce= G.main->scene.first; sce; sce= sce->id.next) {
+ for (sce= bmain->scene.first; sce; sce= sce->id.next) {
Base *base= sce->base.first;
/* ensure objects are not in this group */
@@ -100,7 +101,7 @@ void unlink_group(Group *group)
}
}
- for(ob= G.main->object.first; ob; ob= ob->id.next) {
+ for(ob= bmain->object.first; ob; ob= ob->id.next) {
bActionStrip *strip;
if(ob->dup_group==group) {
diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c
index 6b79a7b4d62..724536048ce 100644
--- a/source/blender/blenkernel/intern/material.c
+++ b/source/blender/blenkernel/intern/material.c
@@ -236,6 +236,7 @@ Material *copy_material(Material *ma)
void make_local_material(Material *ma)
{
+ Main *bmain= G.main;
Object *ob;
Mesh *me;
Curve *cu;
@@ -261,7 +262,7 @@ void make_local_material(Material *ma)
}
/* test objects */
- ob= G.main->object.first;
+ ob= bmain->object.first;
while(ob) {
if(ob->mat) {
for(a=0; a<ob->totcol; a++) {
@@ -274,7 +275,7 @@ void make_local_material(Material *ma)
ob= ob->id.next;
}
/* test meshes */
- me= G.main->mesh.first;
+ me= bmain->mesh.first;
while(me) {
if(me->mat) {
for(a=0; a<me->totcol; a++) {
@@ -287,7 +288,7 @@ void make_local_material(Material *ma)
me= me->id.next;
}
/* test curves */
- cu= G.main->curve.first;
+ cu= bmain->curve.first;
while(cu) {
if(cu->mat) {
for(a=0; a<cu->totcol; a++) {
@@ -300,7 +301,7 @@ void make_local_material(Material *ma)
cu= cu->id.next;
}
/* test mballs */
- mb= G.main->mball.first;
+ mb= bmain->mball.first;
while(mb) {
if(mb->mat) {
for(a=0; a<mb->totcol; a++) {
@@ -329,7 +330,7 @@ void make_local_material(Material *ma)
man->id.us= 0;
/* do objects */
- ob= G.main->object.first;
+ ob= bmain->object.first;
while(ob) {
if(ob->mat) {
for(a=0; a<ob->totcol; a++) {
@@ -345,7 +346,7 @@ void make_local_material(Material *ma)
ob= ob->id.next;
}
/* do meshes */
- me= G.main->mesh.first;
+ me= bmain->mesh.first;
while(me) {
if(me->mat) {
for(a=0; a<me->totcol; a++) {
@@ -361,7 +362,7 @@ void make_local_material(Material *ma)
me= me->id.next;
}
/* do curves */
- cu= G.main->curve.first;
+ cu= bmain->curve.first;
while(cu) {
if(cu->mat) {
for(a=0; a<cu->totcol; a++) {
@@ -377,7 +378,7 @@ void make_local_material(Material *ma)
cu= cu->id.next;
}
/* do mballs */
- mb= G.main->mball.first;
+ mb= bmain->mball.first;
while(mb) {
if(mb->mat) {
for(a=0; a<mb->totcol; a++) {
diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c
index 7129ecb1d55..a017b7344d7 100644
--- a/source/blender/blenkernel/intern/mesh.c
+++ b/source/blender/blenkernel/intern/mesh.c
@@ -265,6 +265,7 @@ void make_local_tface(Mesh *me)
void make_local_mesh(Mesh *me)
{
+ Main *bmain= G.main;
Object *ob;
Mesh *men;
int local=0, lib=0;
@@ -285,7 +286,7 @@ void make_local_mesh(Mesh *me)
return;
}
- ob= G.main->object.first;
+ ob= bmain->object.first;
while(ob) {
if( me==get_mesh(ob) ) {
if(ob->id.lib) lib= 1;
@@ -306,7 +307,7 @@ void make_local_mesh(Mesh *me)
men= copy_mesh(me);
men->id.us= 0;
- ob= G.main->object.first;
+ ob= bmain->object.first;
while(ob) {
if( me==get_mesh(ob) ) {
if(ob->id.lib==0) {
@@ -925,6 +926,7 @@ int nurbs_to_mdata_customdb(Object *ob, ListBase *dispbase, MVert **allvert, int
/* this may fail replacing ob->data, be sure to check ob->type */
void nurbs_to_mesh(Object *ob)
{
+ Main *bmain= G.main;
Object *ob1;
DerivedMesh *dm= ob->derivedFinal;
Mesh *me;
@@ -967,13 +969,13 @@ void nurbs_to_mesh(Object *ob)
cu->totcol= 0;
if(ob->data) {
- free_libblock(&G.main->curve, ob->data);
+ free_libblock(&bmain->curve, ob->data);
}
ob->data= me;
ob->type= OB_MESH;
/* other users */
- ob1= G.main->object.first;
+ ob1= bmain->object.first;
while(ob1) {
if(ob1->data==cu) {
ob1->type= OB_MESH;
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index 115cfac7627..b43cf72b94b 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -322,6 +322,7 @@ static void unlink_object__unlinkModifierLinks(void *userData, Object *ob, Objec
void unlink_object(Scene *scene, Object *ob)
{
+ Main *bmain= G.main;
Object *obt;
Material *mat;
World *wrld;
@@ -343,7 +344,7 @@ void unlink_object(Scene *scene, Object *ob)
/* check all objects: parents en bevels and fields, also from libraries */
// FIXME: need to check all animation blocks (drivers)
- obt= G.main->object.first;
+ obt= bmain->object.first;
while(obt) {
if(obt->proxy==ob)
obt->proxy= NULL;
@@ -517,7 +518,7 @@ void unlink_object(Scene *scene, Object *ob)
}
/* materials */
- mat= G.main->mat.first;
+ mat= bmain->mat.first;
while(mat) {
for(a=0; a<MAX_MTEX; a++) {
@@ -531,7 +532,7 @@ void unlink_object(Scene *scene, Object *ob)
}
/* textures */
- tex= G.main->tex.first;
+ tex= bmain->tex.first;
while(tex) {
if(tex->env) {
if(tex->env->object == ob) tex->env->object= NULL;
@@ -540,7 +541,7 @@ void unlink_object(Scene *scene, Object *ob)
}
/* worlds */
- wrld= G.main->world.first;
+ wrld= bmain->world.first;
while(wrld) {
if(wrld->id.lib==NULL) {
for(a=0; a<MAX_MTEX; a++) {
@@ -553,7 +554,7 @@ void unlink_object(Scene *scene, Object *ob)
}
/* scenes */
- sce= G.main->scene.first;
+ sce= bmain->scene.first;
while(sce) {
if(sce->id.lib==NULL) {
if(sce->camera==ob) sce->camera= NULL;
@@ -585,7 +586,7 @@ void unlink_object(Scene *scene, Object *ob)
#if 0 // XXX old animation system
/* ipos */
- ipo= G.main->ipo.first;
+ ipo= bmain->ipo.first;
while(ipo) {
if(ipo->id.lib==NULL) {
IpoCurve *icu;
@@ -599,7 +600,7 @@ void unlink_object(Scene *scene, Object *ob)
#endif // XXX old animation system
/* screens */
- sc= G.main->screen.first;
+ sc= bmain->screen.first;
while(sc) {
ScrArea *sa= sc->areabase.first;
while(sa) {
@@ -664,14 +665,14 @@ void unlink_object(Scene *scene, Object *ob)
}
/* groups */
- group= G.main->group.first;
+ group= bmain->group.first;
while(group) {
rem_from_group(group, ob, NULL, NULL);
group= group->id.next;
}
/* cameras */
- camera= G.main->camera.first;
+ camera= bmain->camera.first;
while(camera) {
if (camera->dof_ob==ob) {
camera->dof_ob = NULL;
@@ -725,6 +726,7 @@ Camera *copy_camera(Camera *cam)
void make_local_camera(Camera *cam)
{
+ Main *bmain= G.main;
Object *ob;
Camera *camn;
int local=0, lib=0;
@@ -742,7 +744,7 @@ void make_local_camera(Camera *cam)
return;
}
- ob= G.main->object.first;
+ ob= bmain->object.first;
while(ob) {
if(ob->data==cam) {
if(ob->id.lib) lib= 1;
@@ -760,7 +762,7 @@ void make_local_camera(Camera *cam)
camn= copy_camera(cam);
camn->id.us= 0;
- ob= G.main->object.first;
+ ob= bmain->object.first;
while(ob) {
if(ob->data==cam) {
@@ -873,6 +875,7 @@ Lamp *copy_lamp(Lamp *la)
void make_local_lamp(Lamp *la)
{
+ Main *bmain= G.main;
Object *ob;
Lamp *lan;
int local=0, lib=0;
@@ -890,7 +893,7 @@ void make_local_lamp(Lamp *la)
return;
}
- ob= G.main->object.first;
+ ob= bmain->object.first;
while(ob) {
if(ob->data==la) {
if(ob->id.lib) lib= 1;
@@ -908,7 +911,7 @@ void make_local_lamp(Lamp *la)
lan= copy_lamp(la);
lan->id.us= 0;
- ob= G.main->object.first;
+ ob= bmain->object.first;
while(ob) {
if(ob->data==la) {
@@ -1366,6 +1369,7 @@ void expand_local_object(Object *ob)
void make_local_object(Object *ob)
{
+ Main *bmain= G.main;
Object *obn;
Scene *sce;
Base *base;
@@ -1387,7 +1391,7 @@ void make_local_object(Object *ob)
}
else {
- sce= G.main->scene.first;
+ sce= bmain->scene.first;
while(sce) {
base= sce->base.first;
while(base) {
@@ -1410,7 +1414,7 @@ void make_local_object(Object *ob)
obn= copy_object(ob);
obn->id.us= 0;
- sce= G.main->scene.first;
+ sce= bmain->scene.first;
while(sce) {
if(sce->id.lib==0) {
base= sce->base.first;
diff --git a/source/blender/blenkernel/intern/pointcache.c b/source/blender/blenkernel/intern/pointcache.c
index 6cf49808ec7..a35e40d7cf7 100644
--- a/source/blender/blenkernel/intern/pointcache.c
+++ b/source/blender/blenkernel/intern/pointcache.c
@@ -2240,7 +2240,7 @@ void BKE_ptcache_remove(void)
static int CONTINUE_PHYSICS = 0;
-void BKE_ptcache_set_continue_physics(Scene *scene, int enable)
+void BKE_ptcache_set_continue_physics(Main *bmain, Scene *scene, int enable)
{
Object *ob;
@@ -2248,7 +2248,7 @@ void BKE_ptcache_set_continue_physics(Scene *scene, int enable)
CONTINUE_PHYSICS = enable;
if(CONTINUE_PHYSICS == 0) {
- for(ob=G.main->object.first; ob; ob=ob->id.next)
+ for(ob=bmain->object.first; ob; ob=ob->id.next)
if(BKE_ptcache_object_reset(scene, ob, PTCACHE_RESET_OUTDATED))
DAG_id_flush_update(&ob->id, OB_RECALC_DATA);
}
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index 95705ea8c05..42506b66303 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -320,11 +320,12 @@ void free_scene(Scene *sce)
Scene *add_scene(char *name)
{
+ Main *bmain= G.main;
Scene *sce;
ParticleEditSettings *pset;
int a;
- sce= alloc_libblock(&G.main->scene, ID_SCE, name);
+ sce= alloc_libblock(&bmain->scene, ID_SCE, name);
sce->lay= sce->layact= 1;
sce->r.mode= R_GAMMA|R_OSA|R_SHADOW|R_SSS|R_ENVMAP|R_RAYTRACE;
@@ -586,7 +587,7 @@ void unlink_scene(Main *bmain, Scene *sce, Scene *newsce)
sce1->set= NULL;
/* check all sequences */
- clear_scene_in_allseqs(sce);
+ clear_scene_in_allseqs(bmain, sce);
/* check render layer nodes in other scenes */
clear_scene_in_nodes(bmain, sce);
diff --git a/source/blender/blenkernel/intern/seqeffects.c b/source/blender/blenkernel/intern/seqeffects.c
index 1e1ace0f758..461cb075bb0 100644
--- a/source/blender/blenkernel/intern/seqeffects.c
+++ b/source/blender/blenkernel/intern/seqeffects.c
@@ -41,6 +41,7 @@
#include "DNA_anim_types.h"
#include "BKE_fcurve.h"
+#include "BKE_main.h"
#include "BKE_plugin_types.h"
#include "BKE_sequencer.h"
#include "BKE_texture.h"
@@ -272,7 +273,7 @@ static ImBuf * IMB_cast_away_list(ImBuf * i)
}
static struct ImBuf * do_plugin_effect(
- Scene *scene, Sequence *seq, float cfra,
+ Main *bmain, Scene *scene, Sequence *seq, float cfra,
float facf0, float facf1, int x, int y,
int preview_render_size,
struct ImBuf *ibuf1, struct ImBuf *ibuf2,
@@ -523,7 +524,7 @@ static void do_alphaover_effect_float(float facf0, float facf1, int x, int y,
}
static struct ImBuf * do_alphaover_effect(
- Scene *scene, Sequence *seq, float cfra,
+ Main *bmain, Scene *scene, Sequence *seq, float cfra,
float facf0, float facf1, int x, int y,
int preview_render_size,
struct ImBuf *ibuf1, struct ImBuf *ibuf2,
@@ -695,7 +696,7 @@ static void do_alphaunder_effect_float(float facf0, float facf1, int x, int y,
}
static struct ImBuf* do_alphaunder_effect(
- Scene *scene, Sequence *seq, float cfra,
+ Main *bmain, Scene *scene, Sequence *seq, float cfra,
float facf0, float facf1, int x, int y,
int preview_render_size,
struct ImBuf *ibuf1, struct ImBuf *ibuf2,
@@ -820,7 +821,7 @@ void do_cross_effect_float(float facf0, float facf1, int x, int y,
/* carefull: also used by speed effect! */
static struct ImBuf* do_cross_effect(
- Scene *scene, Sequence *seq, float cfra,
+ Main *bmain, Scene *scene, Sequence *seq, float cfra,
float facf0, float facf1, int x, int y,
int preview_render_size,
struct ImBuf *ibuf1, struct ImBuf *ibuf2,
@@ -1087,7 +1088,7 @@ static void do_gammacross_effect_float(float facf0, float facf1,
}
static struct ImBuf * do_gammacross_effect(
- Scene *scene, Sequence *seq, float cfra,
+ Main *bmain, Scene *scene, Sequence *seq, float cfra,
float facf0, float facf1, int x, int y,
int preview_render_size,
struct ImBuf *ibuf1, struct ImBuf *ibuf2,
@@ -1205,7 +1206,7 @@ static void do_add_effect_float(float facf0, float facf1, int x, int y,
}
}
-static struct ImBuf * do_add_effect(Scene *scene, Sequence *seq, float cfra,
+static struct ImBuf * do_add_effect(Main *bmain, Scene *scene, Sequence *seq, float cfra,
float facf0, float facf1, int x, int y,
int preview_render_size,
struct ImBuf *ibuf1, struct ImBuf *ibuf2,
@@ -1322,7 +1323,7 @@ static void do_sub_effect_float(float facf0, float facf1, int x, int y,
}
static struct ImBuf * do_sub_effect(
- Scene *scene, Sequence *seq, float cfra,
+ Main *bmain, Scene *scene, Sequence *seq, float cfra,
float facf0, float facf1, int x, int y,
int preview_render_size,
struct ImBuf *ibuf1, struct ImBuf *ibuf2,
@@ -1536,7 +1537,7 @@ static void do_mul_effect_float(float facf0, float facf1, int x, int y,
}
static struct ImBuf * do_mul_effect(
- Scene *scene, Sequence *seq, float cfra,
+ Main *bmain, Scene *scene, Sequence *seq, float cfra,
float facf0, float facf1, int x, int y,
int preview_render_size,
struct ImBuf *ibuf1, struct ImBuf *ibuf2,
@@ -1992,7 +1993,7 @@ static void do_wipe_effect_float(Sequence *seq, float facf0, float facf1,
}
static struct ImBuf * do_wipe_effect(
- Scene *scene, Sequence *seq, float cfra,
+ Main *bmain, Scene *scene, Sequence *seq, float cfra,
float facf0, float facf1, int x, int y,
int preview_render_size,
struct ImBuf *ibuf1, struct ImBuf *ibuf2,
@@ -2143,7 +2144,7 @@ static void do_transform(Scene *scene, Sequence *seq, float facf0, int x, int y,
static struct ImBuf * do_transform_effect(
- Scene *scene, Sequence *seq,float cfra,
+ Main *bmain, Scene *scene, Sequence *seq,float cfra,
float facf0, float facf1, int x, int y,
int preview_render_size,
struct ImBuf *ibuf1, struct ImBuf *ibuf2,
@@ -2661,7 +2662,7 @@ static void do_glow_effect_float(Sequence *seq, float facf0, float facf1,
}
static struct ImBuf * do_glow_effect(
- Scene *scene, Sequence *seq, float cfra,
+ Main *bmain, Scene *scene, Sequence *seq, float cfra,
float facf0, float facf1, int x, int y,
int preview_render_size,
struct ImBuf *ibuf1, struct ImBuf *ibuf2,
@@ -2722,7 +2723,7 @@ static int early_out_color(struct Sequence *seq,
}
static struct ImBuf * do_solid_color(
- Scene *scene, Sequence *seq, float cfra,
+ Main *bmain, Scene *scene, Sequence *seq, float cfra,
float facf0, float facf1, int x, int y,
int preview_render_size,
struct ImBuf *ibuf1, struct ImBuf *ibuf2,
@@ -2818,7 +2819,7 @@ static int early_out_multicam(struct Sequence *seq, float facf0, float facf1)
}
static struct ImBuf * do_multicam(
- Scene *scene, Sequence *seq, float cfra,
+ Main *bmain, Scene *scene, Sequence *seq, float cfra,
float facf0, float facf1, int x, int y,
int preview_render_size,
struct ImBuf *ibuf1, struct ImBuf *ibuf2,
@@ -2842,7 +2843,7 @@ static struct ImBuf * do_multicam(
return 0;
}
- i = give_ibuf_seqbase(scene, x, y, cfra, seq->multicam_source,
+ i = give_ibuf_seqbase(bmain, scene, x, y, cfra, seq->multicam_source,
preview_render_size, seqbasep);
if (!i) {
return 0;
@@ -3122,7 +3123,7 @@ static void get_default_fac_fade(struct Sequence *seq, float cfra,
*facf1 /= seq->len;
}
-static struct ImBuf * do_overdrop_effect(Scene *scene, Sequence *seq, float cfra,
+static struct ImBuf * do_overdrop_effect(Main *bmain, Scene *scene, Sequence *seq, float cfra,
float facf0, float facf1,
int x, int y,
int preview_render_size,
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index 866f907ef9e..b20bb111cb4 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -554,7 +554,7 @@ void calc_sequence(Scene *scene, Sequence *seq)
}
/* note: caller should run calc_sequence(scene, seq) after */
-void reload_sequence_new_file(Scene *scene, Sequence * seq, int lock_range)
+void reload_sequence_new_file(Main *bmain, Scene *scene, Sequence * seq, int lock_range)
{
char str[FILE_MAXDIR+FILE_MAXFILE];
int prev_startdisp, prev_enddisp;
@@ -621,7 +621,7 @@ void reload_sequence_new_file(Scene *scene, Sequence * seq, int lock_range)
seq->strip->len = seq->len;
} else if (seq->type == SEQ_SCENE) {
/* 'seq->scenenr' should be replaced with something more reliable */
- Scene * sce = G.main->scene.first;
+ Scene * sce = bmain->scene.first;
int nr = 1;
while(sce) {
@@ -710,12 +710,12 @@ static int clear_scene_in_allseqs_cb(Sequence *seq, void *arg_pt)
return 1;
}
-void clear_scene_in_allseqs(Scene *scene)
+void clear_scene_in_allseqs(Main *bmain, Scene *scene)
{
Scene *scene_iter;
/* when a scene is deleted: test all seqs */
- for(scene_iter= G.main->scene.first; scene_iter; scene_iter= scene_iter->id.next) {
+ for(scene_iter= bmain->scene.first; scene_iter; scene_iter= scene_iter->id.next) {
if(scene_iter != scene && scene_iter->ed) {
seqbase_recursive_apply(&scene_iter->ed->seqbase, clear_scene_in_allseqs_cb, scene);
}
@@ -1659,17 +1659,17 @@ static void copy_to_ibuf_still(Sequence * seq, float nr,
********************************************************************** */
static ImBuf* seq_render_strip_stack(
- Scene *scene,
+ Main *bmain, Scene *scene,
ListBase *seqbasep, float cfra, int chanshown, int render_size,
int seqrectx, int seqrecty);
-static ImBuf * seq_render_strip(Scene *scene, Sequence * seq, float cfra,
+static ImBuf * seq_render_strip(Main *bmain, Scene *scene, Sequence * seq, float cfra,
int render_size,
int seqrectx, int seqrecty);
static ImBuf* seq_render_effect_strip_impl(
- Scene *scene, float cfra, Sequence *seq, int render_size,
+ Main *bmain, Scene *scene, float cfra, Sequence *seq, int render_size,
int seqrectx, int seqrecty)
{
float fac, facf;
@@ -1707,7 +1707,7 @@ static ImBuf* seq_render_effect_strip_impl(
early_out = sh.early_out(seq, fac, facf);
if (early_out == -1) { /* no input needed */
- out = sh.execute(scene, seq, cfra, fac, facf,
+ out = sh.execute(bmain, scene, seq, cfra, fac, facf,
seqrectx, seqrecty, render_size,
0, 0, 0);
goto finish;
@@ -1722,7 +1722,7 @@ static ImBuf* seq_render_effect_strip_impl(
break;
case 1:
if (seq->seq1) {
- ibuf[0] = seq_render_strip(scene, seq->seq1, cfra,
+ ibuf[0] = seq_render_strip(bmain, scene, seq->seq1, cfra,
render_size,
seqrectx, seqrecty);
}
@@ -1737,7 +1737,7 @@ static ImBuf* seq_render_effect_strip_impl(
goto finish;
case 2:
if (seq->seq2) {
- ibuf[1] = seq_render_strip(scene, seq->seq2, cfra,
+ ibuf[1] = seq_render_strip(bmain, scene, seq->seq2, cfra,
render_size,
seqrectx, seqrecty);
}
@@ -1755,19 +1755,19 @@ static ImBuf* seq_render_effect_strip_impl(
}
if (seq->seq1) {
- ibuf[0] = seq_render_strip(scene, seq->seq1, cfra,
+ ibuf[0] = seq_render_strip(bmain, scene, seq->seq1, cfra,
render_size,
seqrectx, seqrecty);
}
if (seq->seq2) {
- ibuf[1] = seq_render_strip(scene, seq->seq2, cfra,
+ ibuf[1] = seq_render_strip(bmain, scene, seq->seq2, cfra,
render_size,
seqrectx, seqrecty);
}
if (seq->seq3) {
- ibuf[2] = seq_render_strip(scene, seq->seq3, cfra,
+ ibuf[2] = seq_render_strip(bmain, scene, seq->seq3, cfra,
render_size,
seqrectx, seqrecty);
}
@@ -1776,7 +1776,7 @@ static ImBuf* seq_render_effect_strip_impl(
goto finish;
}
- out = sh.execute(scene, seq, cfra, fac, facf, seqrectx, seqrecty,
+ out = sh.execute(bmain, scene, seq, cfra, fac, facf, seqrectx, seqrecty,
render_size,
ibuf[0], ibuf[1], ibuf[2]);
@@ -1795,7 +1795,7 @@ finish:
static ImBuf * seq_render_scene_strip_impl(
- Scene * scene, Sequence * seq, float nr, int seqrectx, int seqrecty)
+ Main *bmain, Scene * scene, Sequence * seq, float nr, int seqrectx, int seqrecty)
{
ImBuf * ibuf = 0;
float frame= seq->sfra + nr + seq->anim_startofs;
@@ -1851,7 +1851,7 @@ static ImBuf * seq_render_scene_strip_impl(
if(sequencer_view3d_cb && BLI_thread_is_main() && doseq_gl && (seq->scene == scene || have_seq==0) && seq->scene->camera) {
/* opengl offscreen render */
- scene_update_for_newframe(G.main, seq->scene, seq->scene->lay);
+ scene_update_for_newframe(bmain, seq->scene, seq->scene->lay);
ibuf= sequencer_view3d_cb(seq->scene, seqrectx, seqrecty,
scene->r.seq_prev_type);
}
@@ -1864,7 +1864,7 @@ static ImBuf * seq_render_scene_strip_impl(
else
re= RE_NewRender(sce->id.name);
- RE_BlenderFrame(re, G.main, sce, NULL, sce->lay, frame);
+ RE_BlenderFrame(re, bmain, sce, NULL, sce->lay, frame);
RE_AcquireResultImage(re, &rres);
@@ -1904,7 +1904,7 @@ static ImBuf * seq_render_scene_strip_impl(
return ibuf;
}
-static ImBuf * seq_render_strip(Scene *scene, Sequence * seq, float cfra,
+static ImBuf * seq_render_strip(Main *bmain, Scene *scene, Sequence * seq, float cfra,
int render_size,
int seqrectx, int seqrecty)
{
@@ -1929,7 +1929,7 @@ static ImBuf * seq_render_strip(Scene *scene, Sequence * seq, float cfra,
if(!ibuf && seq->seqbase.first) {
meta_ibuf = seq_render_strip_stack(
- scene,
+ bmain, scene,
&seq->seqbase, seq->start + nr, 0,
render_size, seqrectx, seqrecty);
}
@@ -1961,7 +1961,7 @@ static ImBuf * seq_render_strip(Scene *scene, Sequence * seq, float cfra,
/* weeek! */
f_cfra = seq->start + s->frameMap[(int) nr];
- child_ibuf = seq_render_strip(scene, seq->seq1, f_cfra,
+ child_ibuf = seq_render_strip(bmain, scene, seq->seq1, f_cfra,
render_size,
seqrectx, seqrecty);
}
@@ -1985,7 +1985,7 @@ static ImBuf * seq_render_strip(Scene *scene, Sequence * seq, float cfra,
if(ibuf == 0) {
ibuf = seq_render_effect_strip_impl(
- scene, cfra, seq, render_size,
+ bmain, scene, cfra, seq, render_size,
seqrectx, seqrecty);
}
} else if(seq->type == SEQ_IMAGE) {
@@ -2061,7 +2061,7 @@ static ImBuf * seq_render_strip(Scene *scene, Sequence * seq, float cfra,
}
if (ibuf == 0) {
- ibuf = seq_render_scene_strip_impl(scene, seq, nr,
+ ibuf = seq_render_scene_strip_impl(bmain, scene, seq, nr,
seqrectx, seqrecty);
copy_to_ibuf_still(seq, nr, ibuf);
@@ -2129,7 +2129,7 @@ static int seq_get_early_out_for_blend_mode(Sequence * seq)
}
static ImBuf* seq_render_strip_stack(
- Scene *scene, ListBase *seqbasep, float cfra, int chanshown,
+ Main *bmain, Scene *scene, ListBase *seqbasep, float cfra, int chanshown,
int render_size, int seqrectx, int seqrecty)
{
Sequence* seq_arr[MAXSEQ+1];
@@ -2161,7 +2161,7 @@ static ImBuf* seq_render_strip_stack(
}
if(count == 1) {
- out = seq_render_strip(scene, seq_arr[0],
+ out = seq_render_strip(bmain, scene, seq_arr[0],
cfra, render_size,
seqrectx, seqrecty);
seq_stripelem_cache_put(
@@ -2185,7 +2185,7 @@ static ImBuf* seq_render_strip_stack(
break;
}
if (seq->blend_mode == SEQ_BLEND_REPLACE) {
- out = seq_render_strip(scene, seq, cfra,
+ out = seq_render_strip(bmain, scene, seq, cfra,
render_size,
seqrectx, seqrecty);
break;
@@ -2196,7 +2196,7 @@ static ImBuf* seq_render_strip_stack(
switch (early_out) {
case -1:
case 2:
- out = seq_render_strip(scene, seq, cfra,
+ out = seq_render_strip(bmain, scene, seq, cfra,
render_size,
seqrectx, seqrecty);
break;
@@ -2209,7 +2209,7 @@ static ImBuf* seq_render_strip_stack(
break;
case 0:
if (i == 0) {
- out = seq_render_strip(scene, seq, cfra,
+ out = seq_render_strip(bmain, scene, seq, cfra,
render_size,
seqrectx, seqrecty);
}
@@ -2234,7 +2234,7 @@ static ImBuf* seq_render_strip_stack(
if (seq_get_early_out_for_blend_mode(seq) == 0) {
struct SeqEffectHandle sh = get_sequence_blend(seq);
ImBuf * ibuf1 = out;
- ImBuf * ibuf2 = seq_render_strip(scene, seq, cfra,
+ ImBuf * ibuf2 = seq_render_strip(bmain, scene, seq, cfra,
render_size,
seqrectx, seqrecty);
@@ -2246,11 +2246,11 @@ static ImBuf* seq_render_strip_stack(
int y= seqrecty;
if (swap_input) {
- out = sh.execute(scene, seq, cfra,
+ out = sh.execute(bmain, scene, seq, cfra,
facf, facf, x, y, render_size,
ibuf2, ibuf1, 0);
} else {
- out = sh.execute(scene, seq, cfra,
+ out = sh.execute(bmain, scene, seq, cfra,
facf, facf, x, y, render_size,
ibuf1, ibuf2, 0);
}
@@ -2272,7 +2272,7 @@ static ImBuf* seq_render_strip_stack(
* you have to free after usage!
*/
-ImBuf *give_ibuf_seq(Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size)
+ImBuf *give_ibuf_seq(Main *bmain, Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size)
{
Editing *ed= seq_give_editing(scene, FALSE);
int count;
@@ -2289,18 +2289,18 @@ ImBuf *give_ibuf_seq(Scene *scene, int rectx, int recty, int cfra, int chanshown
}
return seq_render_strip_stack(
- scene, seqbasep, cfra, chanshown, render_size, rectx, recty);
+ bmain, scene, seqbasep, cfra, chanshown, render_size, rectx, recty);
}
-ImBuf *give_ibuf_seqbase(struct Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size, ListBase *seqbasep)
+ImBuf *give_ibuf_seqbase(Main *bmain, Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size, ListBase *seqbasep)
{
- return seq_render_strip_stack(scene, seqbasep, cfra, chanshown, render_size, rectx, recty);
+ return seq_render_strip_stack(bmain, scene, seqbasep, cfra, chanshown, render_size, rectx, recty);
}
-ImBuf *give_ibuf_seq_direct(Scene *scene, int rectx, int recty, int cfra, int render_size, Sequence *seq)
+ImBuf *give_ibuf_seq_direct(Main *bmain, Scene *scene, int rectx, int recty, int cfra, int render_size, Sequence *seq)
{
- return seq_render_strip(scene, seq, cfra, render_size, rectx, recty);
+ return seq_render_strip(bmain, scene, seq, cfra, render_size, rectx, recty);
}
#if 0
@@ -2566,13 +2566,13 @@ static void seq_wait_for_prefetch_ready()
}
#endif
-ImBuf *give_ibuf_seq_threaded(Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size)
+ImBuf *give_ibuf_seq_threaded(Main *bmain, Scene *scene, int rectx, int recty, int cfra, int chanshown, int render_size)
{
PrefetchQueueElem *e = NULL;
int found_something = FALSE;
if (seq_thread_shutdown) {
- return give_ibuf_seq(scene, rectx, recty, cfra, chanshown, render_size);
+ return give_ibuf_seq(bmain, scene, rectx, recty, cfra, chanshown, render_size);
}
while (!e) {
diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c
index c8f5eb9b187..19bc853276a 100644
--- a/source/blender/blenkernel/intern/text.c
+++ b/source/blender/blenkernel/intern/text.c
@@ -174,10 +174,11 @@ void free_text(Text *text)
Text *add_empty_text(char *name)
{
+ Main *bmain= G.main;
Text *ta;
TextLine *tmp;
- ta= alloc_libblock(&G.main->text, ID_TXT, name);
+ ta= alloc_libblock(&bmain->text, ID_TXT, name);
ta->id.us= 1;
ta->name= NULL;
@@ -326,6 +327,7 @@ int reopen_text(Text *text)
Text *add_text(char *file, const char *relpath)
{
+ Main *bmain= G.main;
FILE *fp;
int i, llen, len, res;
unsigned char *buffer;
@@ -341,7 +343,7 @@ Text *add_text(char *file, const char *relpath)
fp= fopen(str, "r");
if(fp==NULL) return NULL;
- ta= alloc_libblock(&G.main->text, ID_TXT, BLI_path_basename(str));
+ ta= alloc_libblock(&bmain->text, ID_TXT, BLI_path_basename(str));
ta->id.us= 1;
ta->lines.first= ta->lines.last= NULL;
diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c
index fe5abbd0868..9075c64d286 100644
--- a/source/blender/blenkernel/intern/texture.c
+++ b/source/blender/blenkernel/intern/texture.c
@@ -602,9 +602,10 @@ void tex_set_type(Tex *tex, int type)
Tex *add_texture(const char *name)
{
+ Main *bmain= G.main;
Tex *tex;
- tex= alloc_libblock(&G.main->tex, ID_TE, name);
+ tex= alloc_libblock(&bmain->tex, ID_TE, name);
default_tex(tex);
@@ -726,6 +727,7 @@ Tex *copy_texture(Tex *tex)
void make_local_texture(Tex *tex)
{
+ Main *bmain= G.main;
Tex *texn;
Material *ma;
World *wrld;
@@ -755,7 +757,7 @@ void make_local_texture(Tex *tex)
return;
}
- ma= G.main->mat.first;
+ ma= bmain->mat.first;
while(ma) {
for(a=0; a<MAX_MTEX; a++) {
if(ma->mtex[a] && ma->mtex[a]->tex==tex) {
@@ -765,7 +767,7 @@ void make_local_texture(Tex *tex)
}
ma= ma->id.next;
}
- la= G.main->lamp.first;
+ la= bmain->lamp.first;
while(la) {
for(a=0; a<MAX_MTEX; a++) {
if(la->mtex[a] && la->mtex[a]->tex==tex) {
@@ -775,7 +777,7 @@ void make_local_texture(Tex *tex)
}
la= la->id.next;
}
- wrld= G.main->world.first;
+ wrld= bmain->world.first;
while(wrld) {
for(a=0; a<MAX_MTEX; a++) {
if(wrld->mtex[a] && wrld->mtex[a]->tex==tex) {
@@ -785,7 +787,7 @@ void make_local_texture(Tex *tex)
}
wrld= wrld->id.next;
}
- br= G.main->brush.first;
+ br= bmain->brush.first;
while(br) {
if(br->mtex.tex==tex) {
if(br->id.lib) lib= 1;
@@ -803,7 +805,7 @@ void make_local_texture(Tex *tex)
texn= copy_texture(tex);
texn->id.us= 0;
- ma= G.main->mat.first;
+ ma= bmain->mat.first;
while(ma) {
for(a=0; a<MAX_MTEX; a++) {
if(ma->mtex[a] && ma->mtex[a]->tex==tex) {
@@ -816,7 +818,7 @@ void make_local_texture(Tex *tex)
}
ma= ma->id.next;
}
- la= G.main->lamp.first;
+ la= bmain->lamp.first;
while(la) {
for(a=0; a<MAX_MTEX; a++) {
if(la->mtex[a] && la->mtex[a]->tex==tex) {
@@ -829,7 +831,7 @@ void make_local_texture(Tex *tex)
}
la= la->id.next;
}
- wrld= G.main->world.first;
+ wrld= bmain->world.first;
while(wrld) {
for(a=0; a<MAX_MTEX; a++) {
if(wrld->mtex[a] && wrld->mtex[a]->tex==tex) {
@@ -842,7 +844,7 @@ void make_local_texture(Tex *tex)
}
wrld= wrld->id.next;
}
- br= G.main->brush.first;
+ br= bmain->brush.first;
while(br) {
if(br->mtex.tex==tex) {
if(br->id.lib==0) {
@@ -860,6 +862,7 @@ void make_local_texture(Tex *tex)
void autotexname(Tex *tex)
{
+ Main *bmain= G.main;
char texstr[20][15]= {"None" , "Clouds" , "Wood", "Marble", "Magic" , "Blend",
"Stucci", "Noise" , "Image", "Plugin", "EnvMap" , "Musgrave",
"Voronoi", "DistNoise", "Point Density", "Voxel Data", "", "", "", ""};
@@ -868,7 +871,7 @@ void autotexname(Tex *tex)
if(tex) {
if(tex->use_nodes) {
- new_id(&G.main->tex, (ID *)tex, "Noddy");
+ new_id(&bmain->tex, (ID *)tex, "Noddy");
}
else
if(tex->type==TEX_IMAGE) {
@@ -878,12 +881,12 @@ void autotexname(Tex *tex)
BLI_splitdirstring(di, fi);
strcpy(di, "I.");
strcat(di, fi);
- new_id(&G.main->tex, (ID *)tex, di);
+ new_id(&bmain->tex, (ID *)tex, di);
}
- else new_id(&G.main->tex, (ID *)tex, texstr[tex->type]);
+ else new_id(&bmain->tex, (ID *)tex, texstr[tex->type]);
}
- else if(tex->type==TEX_PLUGIN && tex->plugin) new_id(&G.main->tex, (ID *)tex, tex->plugin->pname);
- else new_id(&G.main->tex, (ID *)tex, texstr[tex->type]);
+ else if(tex->type==TEX_PLUGIN && tex->plugin) new_id(&bmain->tex, (ID *)tex, tex->plugin->pname);
+ else new_id(&bmain->tex, (ID *)tex, texstr[tex->type]);
}
}
diff --git a/source/blender/blenkernel/intern/world.c b/source/blender/blenkernel/intern/world.c
index 1d1b5ec16f7..233a1433ecb 100644
--- a/source/blender/blenkernel/intern/world.c
+++ b/source/blender/blenkernel/intern/world.c
@@ -69,9 +69,10 @@ void free_world(World *wrld)
World *add_world(char *name)
{
+ Main *bmain= G.main;
World *wrld;
- wrld= alloc_libblock(&G.main->world, ID_WO, name);
+ wrld= alloc_libblock(&bmain->world, ID_WO, name);
wrld->horr= 0.05f;
wrld->horg= 0.05f;
@@ -129,6 +130,7 @@ World *copy_world(World *wrld)
void make_local_world(World *wrld)
{
+ Main *bmain= G.main;
Scene *sce;
World *wrldn;
int local=0, lib=0;
@@ -146,7 +148,7 @@ void make_local_world(World *wrld)
return;
}
- sce= G.main->scene.first;
+ sce= bmain->scene.first;
while(sce) {
if(sce->world==wrld) {
if(sce->id.lib) lib= 1;
@@ -164,7 +166,7 @@ void make_local_world(World *wrld)
wrldn= copy_world(wrld);
wrldn->id.us= 0;
- sce= G.main->scene.first;
+ sce= bmain->scene.first;
while(sce) {
if(sce->world==wrld) {
if(sce->id.lib==0) {
diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c
index 1abc2fc3398..afd8895edd9 100644
--- a/source/blender/editors/space_sequencer/sequencer_draw.c
+++ b/source/blender/editors/space_sequencer/sequencer_draw.c
@@ -695,12 +695,12 @@ void set_special_seq_update(int val)
void draw_image_seq(const bContext* C, Scene *scene, ARegion *ar, SpaceSeq *sseq, int cfra, int frame_ofs)
{
extern void gl_round_box(int mode, float minx, float miny, float maxx, float maxy, float rad);
+ struct Main *bmain= CTX_data_main(C);
struct ImBuf *ibuf = 0;
struct ImBuf *scope = 0;
struct View2D *v2d = &ar->v2d;
int rectx, recty;
float viewrectx, viewrecty;
- static int recursive= 0;
float render_size = 0.0;
float proxy_size = 100.0;
GLuint texid;
@@ -740,33 +740,12 @@ void draw_image_seq(const bContext* C, Scene *scene, ARegion *ar, SpaceSeq *sseq
UI_view2d_totRect_set(v2d, viewrectx + 0.5f, viewrecty + 0.5f);
UI_view2d_curRect_validate(v2d);
- /* BIG PROBLEM: the give_ibuf_seq() can call a rendering, which in turn calls redraws...
- this shouldn't belong in a window drawing....
- So: solve this once event based.
- Now we check for recursion, space type and active area again (ton) */
-
- if(recursive)
- return;
- else {
- recursive= 1;
- if (special_seq_update) {
- ibuf= give_ibuf_seq_direct(scene, rectx, recty, cfra + frame_ofs, proxy_size, special_seq_update);
- }
- else if (!U.prefetchframes) { // XXX || (G.f & G_PLAYANIM) == 0) {
- ibuf= (ImBuf *)give_ibuf_seq(scene, rectx, recty, cfra + frame_ofs, sseq->chanshown, proxy_size);
- }
- else {
- ibuf= (ImBuf *)give_ibuf_seq_threaded(scene, rectx, recty, cfra + frame_ofs, sseq->chanshown, proxy_size);
- }
- recursive= 0;
-
- /* XXX HURMF! the give_ibuf_seq can call image display in this window */
-// if(sa->spacetype!=SPACE_SEQ)
-// return;
-// if(sa!=curarea) {
-// areawinset(sa->win);
-// }
- }
+ if (special_seq_update)
+ ibuf= give_ibuf_seq_direct(bmain, scene, rectx, recty, cfra + frame_ofs, proxy_size, special_seq_update);
+ else if (!U.prefetchframes) // XXX || (G.f & G_PLAYANIM) == 0) {
+ ibuf= (ImBuf *)give_ibuf_seq(bmain, scene, rectx, recty, cfra + frame_ofs, sseq->chanshown, proxy_size);
+ else
+ ibuf= (ImBuf *)give_ibuf_seq_threaded(bmain, scene, rectx, recty, cfra + frame_ofs, sseq->chanshown, proxy_size);
if(ibuf==NULL)
return;
diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c
index 590856803cc..d1654dc5d37 100644
--- a/source/blender/editors/space_sequencer/sequencer_edit.c
+++ b/source/blender/editors/space_sequencer/sequencer_edit.c
@@ -48,6 +48,7 @@
#include "BKE_context.h"
#include "BKE_global.h"
+#include "BKE_main.h"
#include "BKE_sequencer.h"
#include "BKE_report.h"
#include "BKE_sound.h"
@@ -734,7 +735,7 @@ static void recurs_del_seq_flag(Scene *scene, ListBase *lb, short flag, short de
}
-static Sequence *cut_seq_hard(Scene *scene, Sequence * seq, int cutframe)
+static Sequence *cut_seq_hard(Main *bmain, Scene *scene, Sequence * seq, int cutframe)
{
TransSeq ts;
Sequence *seqn = 0;
@@ -781,7 +782,7 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence * seq, int cutframe)
}
}
- reload_sequence_new_file(scene, seq, FALSE);
+ reload_sequence_new_file(bmain, scene, seq, FALSE);
calc_sequence(scene, seq);
new_tstripdata(seq);
@@ -821,14 +822,14 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence * seq, int cutframe)
seqn->startstill = 0;
}
- reload_sequence_new_file(scene, seqn, FALSE);
+ reload_sequence_new_file(bmain, scene, seqn, FALSE);
calc_sequence(scene, seqn);
new_tstripdata(seqn);
}
return seqn;
}
-static Sequence *cut_seq_soft(Scene *scene, Sequence * seq, int cutframe)
+static Sequence *cut_seq_soft(Main *bmain, Scene *scene, Sequence * seq, int cutframe)
{
TransSeq ts;
Sequence *seqn = 0;
@@ -918,8 +919,8 @@ static Sequence *cut_seq_soft(Scene *scene, Sequence * seq, int cutframe)
/* like duplicate, but only duplicate and cut overlapping strips,
* strips to the left of the cutframe are ignored and strips to the right are moved into the new list */
-static int cut_seq_list(Scene *scene, ListBase *old, ListBase *new, int cutframe,
- Sequence * (*cut_seq)(Scene *, Sequence *, int))
+static int cut_seq_list(Main *bmain, Scene *scene, ListBase *old, ListBase *new, int cutframe,
+ Sequence * (*cut_seq)(Main *, Scene *, Sequence *, int))
{
int did_something = FALSE;
Sequence *seq, *seq_next;
@@ -933,7 +934,7 @@ static int cut_seq_list(Scene *scene, ListBase *old, ListBase *new, int cutframe
if(seq->flag & SELECT) {
if(cutframe > seq->startdisp &&
cutframe < seq->enddisp) {
- Sequence * seqn = cut_seq(scene, seq, cutframe);
+ Sequence * seqn = cut_seq(bmain, scene, seq, cutframe);
if (seqn) {
BLI_addtail(new, seqn);
}
@@ -1003,7 +1004,7 @@ void touch_seq_files(Scene *scene)
waitcursor(0);
}
-void set_filter_seq(Scene *scene)
+void set_filter_seq(Main *bmain, Scene *scene)
{
Sequence *seq;
Editing *ed= seq_give_editing(scene, FALSE);
@@ -1017,7 +1018,7 @@ void set_filter_seq(Scene *scene)
if(seq->flag & SELECT) {
if(seq->type==SEQ_MOVIE) {
seq->flag |= SEQ_FILTERY;
- reload_sequence_new_file(scene, seq, FALSE);
+ reload_sequence_new_file(bmain, scene, seq, FALSE);
calc_sequence(scene, seq);
}
@@ -1505,6 +1506,7 @@ static EnumPropertyItem prop_cut_types[] = {
static int sequencer_cut_exec(bContext *C, wmOperator *op)
{
+ Main *bmain= CTX_data_main(C);
Scene *scene= CTX_data_scene(C);
Editing *ed= seq_give_editing(scene, FALSE);
int cut_side, cut_hard, cut_frame;
@@ -1519,10 +1521,10 @@ static int sequencer_cut_exec(bContext *C, wmOperator *op)
newlist.first= newlist.last= NULL;
if (cut_hard==SEQ_CUT_HARD) {
- changed = cut_seq_list(scene,
+ changed = cut_seq_list(bmain, scene,
ed->seqbasep, &newlist, cut_frame, cut_seq_hard);
} else {
- changed = cut_seq_list(scene,
+ changed = cut_seq_list(bmain, scene,
ed->seqbasep, &newlist, cut_frame, cut_seq_soft);
}
diff --git a/source/blender/makesrna/intern/rna_sequencer.c b/source/blender/makesrna/intern/rna_sequencer.c
index b39a9fecebf..48ff98ace78 100644
--- a/source/blender/makesrna/intern/rna_sequencer.c
+++ b/source/blender/makesrna/intern/rna_sequencer.c
@@ -36,6 +36,7 @@
#include "DNA_sequence_types.h"
#include "BKE_animsys.h"
+#include "BKE_global.h"
#include "BKE_sequencer.h"
#include "MEM_guardedalloc.h"
@@ -149,7 +150,7 @@ static void rna_Sequence_anim_startofs_final_set(PointerRNA *ptr, int value)
seq->anim_startofs = MIN2(value, seq->len + seq->anim_startofs);
- reload_sequence_new_file(scene, seq, FALSE);
+ reload_sequence_new_file(G.main, scene, seq, FALSE);
rna_Sequence_frame_change_update(scene, seq);
}
@@ -160,7 +161,7 @@ static void rna_Sequence_anim_endofs_final_set(PointerRNA *ptr, int value)
seq->anim_endofs = MIN2(value, seq->len + seq->anim_endofs);
- reload_sequence_new_file(scene, seq, FALSE);
+ reload_sequence_new_file(G.main, scene, seq, FALSE);
rna_Sequence_frame_change_update(scene, seq);
}
@@ -551,7 +552,7 @@ static void rna_Sequence_mute_update(Main *bmain, Scene *scene, PointerRNA *ptr)
static void rna_Sequence_filepath_update(Main *bmain, Scene *scene, PointerRNA *ptr)
{
Sequence *seq= (Sequence*)(ptr->data);
- reload_sequence_new_file(scene, seq, TRUE);
+ reload_sequence_new_file(G.main, scene, seq, TRUE);
calc_sequence(scene, seq);
rna_Sequence_update(bmain, scene, ptr);
}
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index 183b46af863..b1d379f4d1b 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -2463,7 +2463,7 @@ static void do_render_seq(Render * re)
recurs_depth++;
- ibuf= give_ibuf_seq(re->scene, rr->rectx, rr->recty, cfra, 0, 100.0);
+ ibuf= give_ibuf_seq(re->main, re->scene, rr->rectx, rr->recty, cfra, 0, 100.0);
recurs_depth--;