- fixed bug #228

dispview mode now doesnt disappear immedately after render
  oh, what i hated that one!
This commit is contained in:
2003-06-13 16:51:22 +00:00
parent 2b3bc332e4
commit 2f56a9b0ca
3 changed files with 9 additions and 8 deletions

View File

@@ -135,8 +135,7 @@ void mainqenter_ext(unsigned short event, short val, char ascii)
return;
if (nevents<MAXQUEUE) {
memmove(mainqueue+1, mainqueue, sizeof(*mainqueue)*nevents);
memmove(mainqueue+1, mainqueue, sizeof(*mainqueue)*nevents);
mainqueue[0].event= event;
mainqueue[0].val= val;
mainqueue[0].ascii= ascii;

View File

@@ -596,10 +596,9 @@ static void renderview_progress_display_cb(int y1, int y2, int w, int h, unsigne
glFlush();
glDrawBuffer(GL_BACK);
v3d->flag |= 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 */

View File

@@ -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;