Fix unmaximizing after shade/unshade (noted by Sven Faerber and Bradley Reed).

SVN revision: 28762
This commit is contained in:
Kim Woelders 2007-03-16 03:56:11 +00:00
parent 0be44b1c43
commit 19961cd8b7
2 changed files with 10 additions and 1 deletions

View File

@ -491,7 +491,7 @@ doEwinMoveResize(EWin * ewin, Desk * dsk, int x, int y, int w, int h, int flags)
EwinBorderCalcSizes(ewin, 0);
/* Clear maximized state on resize */
if (!ewin->state.maximizing)
if (!ewin->state.maximizing && !ewin->state.shading)
{
if (ewin->state.maximized_horz || ewin->state.maximized_vert)
{
@ -994,6 +994,8 @@ EwinShade(EWin * ewin)
w = EoGetW(ewin);
h = EoGetH(ewin);
ewin->state.shading = 1;
#if 0
Eprintf("EwinShade-B %d\n", ewin->border->shadedir);
EGrabServer();
@ -1145,6 +1147,8 @@ EwinShade(EWin * ewin)
Eprintf("EwinShade-E\n");
#endif
ewin->state.shading = 0;
EwinStateUpdate(ewin);
HintsSetWindowState(ewin);
}
@ -1170,6 +1174,8 @@ EwinUnShade(EWin * ewin)
w = EoGetW(ewin);
h = EoGetH(ewin);
ewin->state.shading = 1;
#if 0
Eprintf("EwinUnShade-B %d\n", ewin->border->shadedir);
EGrabServer();
@ -1352,6 +1358,8 @@ EwinUnShade(EWin * ewin)
Eprintf("EwinUnShade-E\n");
#endif
ewin->state.shading = 0;
EwinStateUpdate(ewin);
HintsSetWindowState(ewin);
}

View File

@ -111,6 +111,7 @@ struct _ewin
unsigned resizing:1;
unsigned show_coords:1;
unsigned maximizing:1;
unsigned shading:1;
/* Derived state flags. Change only in EwinStateUpdate() */
unsigned no_border:1;