From 558ffa59d16095b433ea44082b5b9f9616194d7d Mon Sep 17 00:00:00 2001 From: patacongo Date: Mon, 1 Dec 2008 03:07:36 +0000 Subject: [PATCH] Lowered window was not being redrawn git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1365 42af7a65-404d-4744-a932-0658087f49c3 --- graphics/nxbe/nxbe_lower.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/graphics/nxbe/nxbe_lower.c b/graphics/nxbe/nxbe_lower.c index 5571f98af3..83ce18c1f7 100644 --- a/graphics/nxbe/nxbe_lower.c +++ b/graphics/nxbe/nxbe_lower.c @@ -79,7 +79,8 @@ 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 */ @@ -108,15 +109,17 @@ void nxbe_lower(FAR struct nxbe_window_s *wnd) be->topwnd->above = NULL; } - /* Redraw the windows that were below us (excluding this window that - * will be at the bottom; it is currently not in the list) - */ + /* Remember the window that was just below us */ - nxbe_redrawbelow(be, wnd->below, &wnd->bounds); + below = wnd->below; /* Then put the lowered window at the bottom (just above the background window) */ wnd->below = &be->bkgd; wnd->above = be->bkgd.above; be->bkgd.above = wnd; + + /* Redraw the windows that were below us (but now are above) */ + + nxbe_redrawbelow(be, below, &wnd->bounds); }