summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nuttx/graphics/nxbe/nxbe_lower.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/nuttx/graphics/nxbe/nxbe_lower.c b/nuttx/graphics/nxbe/nxbe_lower.c
index 5571f98af..83ce18c1f 100644
--- a/nuttx/graphics/nxbe/nxbe_lower.c
+++ b/nuttx/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);
}