2.5: Fix crash moving area to fullscreen with tooltips. Happened

because C->window->screen and C->screen were different, now made
sure they are set at the same time.
This commit is contained in:
Brecht Van Lommel 2008-12-18 01:48:24 +00:00
parent 7a5186c53f
commit 241dbe6e85
2 changed files with 4 additions and 3 deletions

@ -406,8 +406,6 @@ bScreen *screen_add(wmWindow *win, char *name)
sc->scene= G.scene;
sc->do_refresh= 1;
win->screen= sc;
sv1= screen_addvert(sc, 0, 0);
sv2= screen_addvert(sc, 0, win->sizey-1);
sv3= screen_addvert(sc, win->sizex-1, win->sizey-1);
@ -902,6 +900,8 @@ bScreen *ED_screen_duplicate(wmWindow *win, bScreen *sc)
newsc= screen_add(win, sc->id.name+2);
/* copy all data */
screen_copy(newsc, sc);
/* set in window */
win->screen= newsc;
return newsc;
}
@ -1229,7 +1229,7 @@ void ed_screen_fullarea(bContext *C)
C->screen->full = SCREENFULL;
oldscreen= C->screen;
sc= screen_add(C->window, "temp"); /* sets C->window->screen! */
sc= screen_add(C->window, "temp");
/* returns the top small area */
newa= area_split(C->window, sc, (ScrArea *)sc->areabase.first, 'h', 0.99f);

@ -258,6 +258,7 @@ static int screen_area_rip_op(bContext *C, wmOperator *op)
/* allocs new screen and adds to newly created window, using window size */
newsc= screen_add(win, C->screen->id.name+2);
win->screen= newsc;
/* copy area to new screen */
area_copy_data((ScrArea *)newsc->areabase.first, C->area, 0);