Lowered window was not being redrawn

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1365 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2008-12-01 03:07:36 +00:00
parent cf462f739f
commit 558ffa59d1
1 changed files with 8 additions and 5 deletions

View File

@ -79,7 +79,8 @@
void nxbe_lower(FAR struct nxbe_window_s *wnd) void nxbe_lower(FAR struct nxbe_window_s *wnd)
{ {
FAR struct nxbe_state_s *be = wnd->be; FAR struct nxbe_state_s *be = wnd->be;
FAR struct nxbe_window_s *below;
/* If the window is already at the bottom, then there is nothing to do */ /* If the window is already at the bottom, then there is nothing to do */
@ -108,15 +109,17 @@ void nxbe_lower(FAR struct nxbe_window_s *wnd)
be->topwnd->above = NULL; be->topwnd->above = NULL;
} }
/* Redraw the windows that were below us (excluding this window that /* Remember the window that was just below us */
* will be at the bottom; it is currently not in the list)
*/
nxbe_redrawbelow(be, wnd->below, &wnd->bounds); below = wnd->below;
/* Then put the lowered window at the bottom (just above the background window) */ /* Then put the lowered window at the bottom (just above the background window) */
wnd->below = &be->bkgd; wnd->below = &be->bkgd;
wnd->above = be->bkgd.above; wnd->above = be->bkgd.above;
be->bkgd.above = wnd; be->bkgd.above = wnd;
/* Redraw the windows that were below us (but now are above) */
nxbe_redrawbelow(be, below, &wnd->bounds);
} }