Index: source/blender/makesdna/DNA_screen_types.h =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/makesdna/DNA_screen_types.h,v retrieving revision 1.25 diff -u -p -u -r1.25 DNA_screen_types.h --- source/blender/makesdna/DNA_screen_types.h 16 Nov 2006 20:55:10 -0000 1.25 +++ source/blender/makesdna/DNA_screen_types.h 16 Apr 2007 15:34:10 -0000 @@ -121,6 +121,7 @@ typedef struct ScrArea { /* area->flag */ #define HEADER_NO_PULLDOWN 1 +#define HIDDEN_HEADER_TOP 2 /* If you change EDGEWIDTH, also do the global arrat edcol[] */ #define EDGEWIDTH 1 @@ -166,4 +167,3 @@ typedef struct ScrArea { #define SCREEN_HANDLER_VERSE 3 #endif - Index: source/blender/src/editscreen.c =================================================================== RCS file: /cvsroot/bf-blender/blender/source/blender/src/editscreen.c,v retrieving revision 1.155 diff -u -p -u -r1.155 editscreen.c --- source/blender/src/editscreen.c 12 Apr 2007 06:21:31 -0000 1.155 +++ source/blender/src/editscreen.c 16 Apr 2007 15:34:11 -0000 @@ -272,6 +272,14 @@ static int scredge_is_horizontal(ScrEdge return (se->v1->vec.y == se->v2->vec.y); } +static void sethiddenheader(ScrArea *sa) +{ + if(sa->headertype==HEADERTOP) + sa->flag|= HIDDEN_HEADER_TOP; + else + sa->flag&= ~HIDDEN_HEADER_TOP; +} + static ScrEdge *screen_find_active_scredge(bScreen *sc, short *mval) { ScrEdge *se; @@ -473,6 +481,8 @@ static void headmenu(ScrArea *sa) { short val= pupmenu("Header %t|Top%x2|Bottom %x1|No Header %x0"); + sethiddenheader(sa); + if(val> -1) { scrarea_change_headertype(sa, val); } @@ -770,7 +780,16 @@ static void screen_edge_edit_event(ScrAr } else if (edgeop==2) { joinarea_interactive(actarea, actedge); } else if (edgeop==3) { - scrarea_change_headertype(actarea, actarea->headertype?0:HEADERDOWN); + if(actarea->headertype) { + sethiddenheader(actarea); + scrarea_change_headertype(actarea, 0); + } + else { + if(actarea->flag & HIDDEN_HEADER_TOP) + scrarea_change_headertype(actarea, HEADERTOP); + else + scrarea_change_headertype(actarea, HEADERDOWN); + } } } else blenderqread(evt, val); // global hotkeys