From aee106206adbf51d86e8f7d54bd1d3a901c73a17 Mon Sep 17 00:00:00 2001 From: Jinhao Date: Fri, 24 Jun 2016 23:30:07 +0800 Subject: [PATCH] debug travis --- include/nana/gui/detail/basic_window.hpp | 28 ++++++++++++++++++---- include/nana/gui/detail/drawer.hpp | 4 ++-- include/nana/gui/detail/window_manager.hpp | 4 ++-- 3 files changed, 28 insertions(+), 8 deletions(-) diff --git a/include/nana/gui/detail/basic_window.hpp b/include/nana/gui/detail/basic_window.hpp index 01ccb589..517f9c3f 100644 --- a/include/nana/gui/detail/basic_window.hpp +++ b/include/nana/gui/detail/basic_window.hpp @@ -64,6 +64,7 @@ namespace detail rectangle effect_range_; };//end class caret + /// Define some constant about tab category, these flags can be combine with operator | struct tab_type { @@ -75,7 +76,6 @@ namespace detail }; }; - class caret; /// a window data structure descriptor struct basic_window @@ -212,9 +212,18 @@ namespace detail struct attr_root_tag { + attr_root_tag(const attr_root_tag&) = delete; + attr_root_tag(attr_root_tag&&) = delete; +#ifndef WIDGET_FRAME_DEPRECATED container frames; ///< initialization is null, it will be created while creating a frame widget. Refer to WindowManager::create_frame - container tabstop; - std::vector effects_edge_nimbus; +#endif + //Following p_xxx pointers are used for debugging + container * p_tabstop; + std::vector * p_effects; + std::function * p_draw_through; + + container& tabstop; + std::vector& effects_edge_nimbus; basic_window* focus{nullptr}; basic_window* menubar{nullptr}; bool ime_enabled{false}; @@ -224,7 +233,18 @@ namespace detail cursor state_cursor{nana::cursor::arrow}; basic_window* state_cursor_window{ nullptr }; - std::function draw_through; ///< A draw through renderer for root widgets. + std::function& draw_through; ///< A draw through renderer for root widgets. + + attr_root_tag(): + p_tabstop(new container), + p_effects(new std::vector), + p_draw_through(new std::function), + tabstop(*p_tabstop), + effects_edge_nimbus(*p_effects), + draw_through(*p_draw_through) + { + + } }; const category::flags category; diff --git a/include/nana/gui/detail/drawer.hpp b/include/nana/gui/detail/drawer.hpp index 02fc90cb..472f822e 100644 --- a/include/nana/gui/detail/drawer.hpp +++ b/include/nana/gui/detail/drawer.hpp @@ -148,8 +148,8 @@ namespace nana //Check realizer, when the window is closed in that event handler, the drawer will be //detached and realizer will be a nullptr - //if (realizer) - // mth_state = (realizer->_m_overrided(evt_code) ? method_state::overrided : method_state::not_overrided); + if (realizer) + mth_state = (realizer->_m_overrided(evt_code) ? method_state::overrided : method_state::not_overrided); } else (realizer->*mfptr)(graphics, arg); diff --git a/include/nana/gui/detail/window_manager.hpp b/include/nana/gui/detail/window_manager.hpp index d2a83d3e..e7cbf5ca 100644 --- a/include/nana/gui/detail/window_manager.hpp +++ b/include/nana/gui/detail/window_manager.hpp @@ -10,8 +10,8 @@ * @file: nana/gui/detail/window_manager.hpp * * - * destroy method destroys a window handle and the handles of its children, but it doesn't delete the handle which type is a root window or a frame - * destroy_handle method just destroys the handle which type is a root window or a frame + * destroy method destroys a window handle and the handles of its children, but it doesn't delete the handle which type is a root window + * destroy_handle method just destroys the handle which type is a root window * */