diff --git a/source/gui/detail/window_layout.cpp b/source/gui/detail/window_layout.cpp index f44be0a6..cc61cdc8 100644 --- a/source/gui/detail/window_layout.cpp +++ b/source/gui/detail/window_layout.cpp @@ -1,7 +1,7 @@ /* * Window Layout Implementation * Nana C++ Library(http://www.nanapro.org) -* Copyright(C) 2003-2015 Jinhao(cnjinhao@hotmail.com) +* Copyright(C) 2003-2016 Jinhao(cnjinhao@hotmail.com) * * Distributed under the Boost Software License, Version 1.0. * (See accompanying file LICENSE_1_0.txt or copy at @@ -24,7 +24,7 @@ namespace nana //class window_layout void window_layout::paint(core_window_t* wd, bool is_redraw, bool is_child_refreshed) { - if (wd->flags.refreshing) + if (is_redraw && wd->flags.refreshing) return; if (nullptr == wd->effect.bground) diff --git a/source/gui/detail/window_manager.cpp b/source/gui/detail/window_manager.cpp index fcb7fe6e..fa81d30d 100644 --- a/source/gui/detail/window_manager.cpp +++ b/source/gui/detail/window_manager.cpp @@ -1,7 +1,7 @@ /* * Window Manager Implementation * Nana C++ Library(http://www.nanapro.org) - * Copyright(C) 2003-2015 Jinhao(cnjinhao@hotmail.com) + * Copyright(C) 2003-2016 Jinhao(cnjinhao@hotmail.com) * * Distributed under the Boost Software License, Version 1.0. * (See accompanying file LICENSE_1_0.txt or copy at @@ -810,6 +810,12 @@ namespace detail this->map(wd, forced, update_area); return true; } + else if (forced) + { + window_layer::paint(wd, false, false); + this->map(wd, true, update_area); + return true; + } } else if (redraw) window_layer::paint(wd, true, false);