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:
authorCampbell Barton <ideasman42@gmail.com>2010-01-19 17:04:33 +0300
committerCampbell Barton <ideasman42@gmail.com>2010-01-19 17:04:33 +0300
commitabb5214a8f47f65030e5d0bec8cd974e9ade4248 (patch)
treeb2806fce9cc5383671cd81f014235644683fe256 /source/blender/editors/space_view3d
parent05ce322aad9e6e2b9ec507f13b74a9cec1f8455f (diff)
removed 3D view listener for changing the background image frame.
do this on drawing instead since SCREEN_OT_animation_step isnt calling the notifier (assume this is to be more efficient?). this isnt slow so is ok to do on drawing. rename BKE_image_user_calc_imanr to BKE_image_user_calc_frame
Diffstat (limited to 'source/blender/editors/space_view3d')
-rw-r--r--source/blender/editors/space_view3d/space_view3d.c6
-rw-r--r--source/blender/editors/space_view3d/view3d_draw.c7
2 files changed, 9 insertions, 4 deletions
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c
index 986d8003e6e..6ba27870022 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -785,6 +785,7 @@ static int view3d_context(const bContext *C, const char *member, bContextDataRes
}
/*area (not region) level listener*/
+#if 0 // removed since BKE_image_user_calc_frame is now called in draw_bgpic because screen_ops doesnt call the notifier.
void space_view3d_listener(struct ScrArea *area, struct wmNotifier *wmn)
{
if (wmn->category == NC_SCENE && wmn->data == ND_FRAME) {
@@ -793,10 +794,11 @@ void space_view3d_listener(struct ScrArea *area, struct wmNotifier *wmn)
if (v3d->bgpic && v3d->bgpic->ima) {
Scene *scene = wmn->reference;
- BKE_image_user_calc_imanr(&v3d->bgpic->iuser, scene->r.cfra, 0);
+ BKE_image_user_calc_frame(&v3d->bgpic->iuser, scene->r.cfra, 0);
}
}
}
+#endif
/* only called once, from space/spacetypes.c */
void ED_spacetype_view3d(void)
@@ -810,7 +812,7 @@ void ED_spacetype_view3d(void)
st->new= view3d_new;
st->free= view3d_free;
st->init= view3d_init;
- st->listener = space_view3d_listener;
+// st->listener = space_view3d_listener;
st->duplicate= view3d_duplicate;
st->operatortypes= view3d_operatortypes;
st->keymap= view3d_keymap;
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index 914344647bd..529b100c1d4 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -1317,9 +1317,12 @@ static void draw_bgpic(Scene *scene, ARegion *ar, View3D *v3d)
if(bgpic==NULL) return;
ima= bgpic->ima;
-
- if(ima)
+
+ if(ima) {
+ /* notifier can also call this however screen_ops.c */
+ BKE_image_user_calc_frame(&bgpic->iuser, CFRA, 0);
ibuf= BKE_image_get_ibuf(ima, &bgpic->iuser);
+ }
if(ibuf==NULL || (ibuf->rect==NULL && ibuf->rect_float==NULL) )
return;
if(ibuf->channels!=4)