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


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to