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
path: root/source
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2005-01-03 16:40:11 +0300
committerTon Roosendaal <ton@blender.org>2005-01-03 16:40:11 +0300
commit5d7c2c96ea092db6623526cf8e90c41b3ea9c3de (patch)
tree287a426262370b82774d4d7982f3dfae1108a502 /source
parent2b1923d2248c5039b844633aa536355a7dcd207a (diff)
Fix proposed by Brecht; on redraw events to renderwindow, it sets back
the active main window, if that was active before. We need to track down how to solve this more definite... for example, the "make active" window command can also pop window to front.
Diffstat (limited to 'source')
-rw-r--r--source/blender/src/renderwin.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/source/blender/src/renderwin.c b/source/blender/src/renderwin.c
index 19b7ee96a15..051322069c9 100644
--- a/source/blender/src/renderwin.c
+++ b/source/blender/src/renderwin.c
@@ -282,16 +282,21 @@ static void renderwin_draw_render_info(RenderWin *rw)
static void renderwin_draw(RenderWin *rw, int just_clear)
{
float disprect[2][2];
+ int set_back_mainwindow;
rcti rect;
-
+
+ /* since renderwin uses callbacks (controlled by ghost) it can
+ mess up active window output with redraw events after a render.
+ this is patchy, still WIP */
+ set_back_mainwindow = (winlay_get_active_window() != rw->win);
+ window_make_active(rw->win);
+
rect.xmin= rect.ymin= 0;
window_get_size(rw->win, &rect.xmax, &rect.ymax);
rect.ymax-= RW_HEADERY;
renderwin_get_disprect(rw, disprect);
- window_make_active(rw->win);
-
/* do this first, so window ends with correct scissor */
renderwin_draw_render_info(rw);
@@ -339,6 +344,8 @@ static void renderwin_draw(RenderWin *rw, int just_clear)
}
window_swap_buffers(rw->win);
+
+ if (set_back_mainwindow) mainwindow_make_active();
}
/* ------ interactivity calls for RenderWin ------------- */