diff options
author | Ton Roosendaal <ton@blender.org> | 2004-12-02 21:12:18 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2004-12-02 21:12:18 +0300 |
commit | 47230dbf7563f57a445335af5d555fb0b4193180 (patch) | |
tree | 1540efc071b6a05181a94625a3d57c17961f303e /source/blender/src/drawseq.c | |
parent | 64620dd650815b891dc22b06f55707b0d6cb3ac8 (diff) |
Bug fix #1939
Combining panorama scene and Sequencer effect on scene (like glow) crashed.
Found two other issues;
- on click in sequencer, the image output window didn't redraw correct, but
only when a render window was opened. Caused by missing 'activate' call
- added a pause in dragging-frame loop to make it idle friendly
Diffstat (limited to 'source/blender/src/drawseq.c')
-rw-r--r-- | source/blender/src/drawseq.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/source/blender/src/drawseq.c b/source/blender/src/drawseq.c index fdc9f5e2e66..a5aba43f502 100644 --- a/source/blender/src/drawseq.c +++ b/source/blender/src/drawseq.c @@ -468,7 +468,7 @@ void set_special_seq_update(int val) } -static void draw_image_seq(void) +static void draw_image_seq(ScrArea *sa) { SpaceSeq *sseq; StripElem *se; @@ -478,8 +478,6 @@ static void draw_image_seq(void) glClearColor(0.0, 0.0, 0.0, 0.0); glClear(GL_COLOR_BUFFER_BIT); - curarea->win_swap= WIN_BACK_OK; - ibuf= (ImBuf *)give_ibuf_seq( (G.scene->r.cfra)); if(special_seq_update) { @@ -494,17 +492,18 @@ static void draw_image_seq(void) } if(ibuf==0 || ibuf->rect==0) return; - sseq= curarea->spacedata.first; + sseq= sa->spacedata.first; if(sseq==0) return; /* calc location */ - x1= curarea->winrct.xmin+(curarea->winx-sseq->zoom*ibuf->x)/2; - y1= curarea->winrct.ymin+(curarea->winy-sseq->zoom*ibuf->y)/2; + x1= sa->winrct.xmin+(sa->winx-sseq->zoom*ibuf->x)/2; + y1= sa->winrct.ymin+(sa->winy-sseq->zoom*ibuf->y)/2; - rectwrite_part(curarea->winrct.xmin, curarea->winrct.ymin, - curarea->winrct.xmax, curarea->winrct.ymax, + rectwrite_part(sa->winrct.xmin, sa->winrct.ymin, + sa->winrct.xmax, sa->winrct.ymax, x1, y1, ibuf->x, ibuf->y, (float)sseq->zoom,(float)sseq->zoom, ibuf->rect); + sa->win_swap= WIN_BACK_OK; } static void draw_extra_seqinfo(void) @@ -777,7 +776,8 @@ void drawseqspace(ScrArea *sa, void *spacedata) sseq= curarea->spacedata.first; if(sseq->mainb==1) { - draw_image_seq(); + draw_image_seq(curarea); + curarea->win_swap= WIN_BACK_OK; return; } |