Index: source/blender/src/drawimage.c =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/src/drawimage.c,v retrieving revision 1.97 diff -u -p -u -r1.97 drawimage.c --- source/blender/src/drawimage.c 4 Apr 2007 13:18:31 -0000 1.97 +++ source/blender/src/drawimage.c 25 Apr 2007 12:21:40 -0000 @@ -2102,20 +2102,31 @@ static void imagewindow_clear_display_cb } } +/* returns biggest area that is not uv/image editor. Note that it uses buttons */ +/* window as the last possible alternative. */ static ScrArea *biggest_non_image_area(void) { ScrArea *sa, *big= NULL; - int size, maxsize= 0; + int size, maxsize= 0, bwmaxsize= 0; + short foundwin= 0; for(sa= G.curscreen->areabase.first; sa; sa= sa->next) { - if(sa->spacetype!=SPACE_IMAGE) { + if(sa->winx > 10 && sa->winy > 10) { size= sa->winx*sa->winy; - if(sa->winx > 10 && sa->winy > 10 && size > maxsize) { + if(sa->spacetype == SPACE_BUTS) { + if(foundwin == 0 && size > bwmaxsize) { + bwmaxsize= size; + big= sa; + } + } + else if(sa->spacetype != SPACE_IMAGE && size > maxsize) { maxsize= size; big= sa; + foundwin= 1; } } } + return big; }