[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33642] trunk/blender/source/blender/ editors/render/render_internal.c: Bugfix #25191
Ton Roosendaal
ton at blender.org
Mon Dec 13 18:40:07 CET 2010
Revision: 33642
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33642
Author: ton
Date: 2010-12-13 18:40:06 +0100 (Mon, 13 Dec 2010)
Log Message:
-----------
Bugfix #25191
F11 pushed a render window to back, but not popped it.
This also works for user prefs btw, not bad ;)
Modified Paths:
--------------
trunk/blender/source/blender/editors/render/render_internal.c
Modified: trunk/blender/source/blender/editors/render/render_internal.c
===================================================================
--- trunk/blender/source/blender/editors/render/render_internal.c 2010-12-13 17:23:03 UTC (rev 33641)
+++ trunk/blender/source/blender/editors/render/render_internal.c 2010-12-13 17:40:06 UTC (rev 33642)
@@ -843,35 +843,47 @@
{
ScrArea *sa= find_area_showing_r_result(C);
- /* test if we have a temp screen in front */
+ /* test if we have a temp screen active */
if(CTX_wm_window(C)->screen->temp) {
wm_window_lower(CTX_wm_window(C));
}
- /* determine if render already shows */
- else if(sa) {
- SpaceImage *sima= sa->spacedata.first;
+ else {
+ /* is there another window? */
+ wmWindow *win;
+
+ for(win= CTX_wm_manager(C)->windows.first; win; win= win->next) {
+ if(win->screen->temp) {
+ wm_window_raise(win);
+ return OPERATOR_FINISHED;
+ }
+ }
+
+ /* determine if render already shows */
+ if(sa) {
+ SpaceImage *sima= sa->spacedata.first;
- if(sima->flag & SI_PREVSPACE) {
- sima->flag &= ~SI_PREVSPACE;
+ if(sima->flag & SI_PREVSPACE) {
+ sima->flag &= ~SI_PREVSPACE;
- if(sima->flag & SI_FULLWINDOW) {
- sima->flag &= ~SI_FULLWINDOW;
- ED_screen_full_prevspace(C, sa);
+ if(sima->flag & SI_FULLWINDOW) {
+ sima->flag &= ~SI_FULLWINDOW;
+ ED_screen_full_prevspace(C, sa);
+ }
+ else if(sima->next) {
+ /* workaround for case of double prevspace, render window
+ with a file browser on top of it (same as in ED_area_prevspace) */
+ if(sima->next->spacetype == SPACE_FILE && sima->next->next)
+ ED_area_newspace(C, sa, sima->next->next->spacetype);
+ else
+ ED_area_newspace(C, sa, sima->next->spacetype);
+ ED_area_tag_redraw(sa);
+ }
}
- else if(sima->next) {
- /* workaround for case of double prevspace, render window
- with a file browser on top of it (same as in ED_area_prevspace) */
- if(sima->next->spacetype == SPACE_FILE && sima->next->next)
- ED_area_newspace(C, sa, sima->next->next->spacetype);
- else
- ED_area_newspace(C, sa, sima->next->spacetype);
- ED_area_tag_redraw(sa);
- }
}
+ else {
+ screen_set_image_output(C, event->x, event->y);
+ }
}
- else {
- screen_set_image_output(C, event->x, event->y);
- }
return OPERATOR_FINISHED;
}
More information about the Bf-blender-cvs
mailing list