From 2f56a9b0ca93e88370113c2981ad1a2cc8e7837e Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Fri, 13 Jun 2003 16:51:22 +0000 Subject: [PATCH] - fixed bug #228 dispview mode now doesnt disappear immedately after render oh, what i hated that one! --- source/blender/src/mainqueue.c | 3 +-- source/blender/src/renderwin.c | 10 ++++++---- source/blender/src/swapbuffers.c | 4 ++-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/source/blender/src/mainqueue.c b/source/blender/src/mainqueue.c index 697eef1322a..012805db01d 100644 --- a/source/blender/src/mainqueue.c +++ b/source/blender/src/mainqueue.c @@ -135,8 +135,7 @@ void mainqenter_ext(unsigned short event, short val, char ascii) return; if (neventsflag |= V3D_DISPIMAGE; - v3d->area->win_swap= WIN_FRONT_OK; + } } @@ -781,7 +780,8 @@ static void do_render(View3D *ogl_render_view3d, int anim, int force_dispwin) else { RE_initrender(ogl_render_view3d); } - update_for_newframe(); + + if(anim) update_for_newframe(); // only when anim, causes redraw event which frustrates dispview R.flag= 0; if (render_win) window_set_cursor(render_win->win, CURSOR_STD); @@ -791,7 +791,9 @@ static void do_render(View3D *ogl_render_view3d, int anim, int force_dispwin) G.afbreek= 0; end_test_break_callback(); - mainwindow_make_active(); + if (R.displaymode == R_DISPLAYWIN) // when in dispview it destroys the image + mainwindow_make_active(); + } /* finds area with a 'dispview' set */ diff --git a/source/blender/src/swapbuffers.c b/source/blender/src/swapbuffers.c index be3523e67ad..8cc25254a29 100644 --- a/source/blender/src/swapbuffers.c +++ b/source/blender/src/swapbuffers.c @@ -104,12 +104,12 @@ static void screen_swapbuffers_REDRAW(bScreen *sc) sa= sc->areabase.first; while(sa) { if(sa->win && (sa->win_swap & WIN_FRONT_OK)==0) break; - if(!sa->headertype) sa->head_swap= WIN_EQUAL; + if(sa->headertype==0) sa->head_swap= WIN_EQUAL; if((sa->head_swap & WIN_FRONT_OK)==0) break; sa= sa->next; } if(sa==0) return; - + sa= sc->areabase.first; while(sa) { swap= sa->win_swap;