fix crash that deprecation is included in NANA_IGNORE_CONF
it crashs when build with CMake
This commit is contained in:
parent
484b84189f
commit
d701650cd5
@ -25,7 +25,11 @@
|
||||
|
||||
#include "c++defines.hpp"
|
||||
|
||||
//The basic configurations are ignored when NANA_IGNORE_CONF is defined.
|
||||
//This marco is defined since 1.4 and until 1.5 for deprecating frame widget.
|
||||
//This marco and class frame will be removed in version 1.5
|
||||
#define WIDGET_FRAME_DEPRECATED
|
||||
|
||||
//The following basic configurations are ignored when NANA_IGNORE_CONF is defined.
|
||||
//The NANA_IGNORE_CONF may be specified by CMake generated makefile.
|
||||
#ifndef NANA_IGNORE_CONF
|
||||
|
||||
@ -93,10 +97,6 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//This marco is defined since 1.4 and until 1.5 for deprecating frame widget.
|
||||
//This marco and class frame will be removed in version 1.5
|
||||
#define WIDGET_FRAME_DEPRECATED
|
||||
|
||||
///////////////////
|
||||
// Support for NANA_AUTOMATIC_GUI_TESTING
|
||||
// Will cause the program to self-test the GUI. A default automatic GUI test
|
||||
|
||||
@ -212,18 +212,11 @@ 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
|
||||
#endif
|
||||
//Following p_xxx pointers are used for debugging
|
||||
container * p_tabstop;
|
||||
std::vector<edge_nimbus_action> * p_effects;
|
||||
std::function<void()> * p_draw_through;
|
||||
|
||||
container& tabstop;
|
||||
std::vector<edge_nimbus_action>& effects_edge_nimbus;
|
||||
container tabstop;
|
||||
std::vector<edge_nimbus_action> effects_edge_nimbus;
|
||||
basic_window* focus{nullptr};
|
||||
basic_window* menubar{nullptr};
|
||||
bool ime_enabled{false};
|
||||
@ -233,18 +226,7 @@ namespace detail
|
||||
cursor state_cursor{nana::cursor::arrow};
|
||||
basic_window* state_cursor_window{ nullptr };
|
||||
|
||||
std::function<void()>& draw_through; ///< A draw through renderer for root widgets.
|
||||
|
||||
attr_root_tag():
|
||||
p_tabstop(new container),
|
||||
p_effects(new std::vector<edge_nimbus_action>),
|
||||
p_draw_through(new std::function<void()>),
|
||||
tabstop(*p_tabstop),
|
||||
effects_edge_nimbus(*p_effects),
|
||||
draw_through(*p_draw_through)
|
||||
{}
|
||||
|
||||
~attr_root_tag();
|
||||
std::function<void()> draw_through; ///< A draw through renderer for root widgets.
|
||||
};
|
||||
|
||||
const category::flags category;
|
||||
@ -262,7 +244,6 @@ namespace detail
|
||||
}attribute;
|
||||
|
||||
other_tag(category::flags);
|
||||
~other_tag();
|
||||
}other;
|
||||
|
||||
native_window_type root; ///< root Window handle
|
||||
|
||||
@ -13,8 +13,6 @@
|
||||
#include <nana/gui/detail/basic_window.hpp>
|
||||
#include <nana/gui/detail/native_window_interface.hpp>
|
||||
|
||||
#include <iostream> //debug travis
|
||||
|
||||
namespace nana
|
||||
{
|
||||
namespace detail
|
||||
@ -209,34 +207,33 @@ namespace nana
|
||||
//end class caret
|
||||
|
||||
//struct basic_window
|
||||
basic_window::other_tag::attr_root_tag::~attr_root_tag()
|
||||
{
|
||||
std::cout<<"~attr_root_tag "<<this<<std::endl;
|
||||
}
|
||||
//struct basic_window::other_tag
|
||||
basic_window::other_tag::other_tag(category::flags categ)
|
||||
: category(categ), active_window(nullptr), upd_state(update_state::none)
|
||||
{
|
||||
#ifndef WIDGET_FRAME_DEPRECATED
|
||||
switch(categ)
|
||||
{
|
||||
case category::flags::root:
|
||||
attribute.root = new attr_root_tag;
|
||||
std::cout<<"basic_window: create attr root "<<attribute.root<<std::endl;
|
||||
break;
|
||||
#ifndef WIDGET_FRAME_DEPRECATED
|
||||
case category::flags::frame:
|
||||
attribute.frame = new attr_frame_tag;
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
attribute.root = nullptr;
|
||||
}
|
||||
#else
|
||||
if (category::flags::root == categ)
|
||||
attribute.root = new attr_root_tag;
|
||||
else
|
||||
attribute.root = nullptr;
|
||||
#endif
|
||||
}
|
||||
|
||||
basic_window::other_tag::~other_tag()
|
||||
{
|
||||
#ifndef WIDGET_FRAME_DEPRECATED
|
||||
std::cout<<"~other_tag "<<this<<std::endl;
|
||||
switch(category)
|
||||
{
|
||||
case category::flags::root:
|
||||
@ -248,14 +245,8 @@ namespace nana
|
||||
default: break;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (category::flags::root == category)
|
||||
{
|
||||
std::cout<<"basic_window: delete attr root "<<attribute.root<<std::endl;
|
||||
std::cout<<"basic_window: root.effects size "<<attribute.root->effects_edge_nimbus.size()<<std::endl;
|
||||
delete attribute.root;
|
||||
std::cout<<" delete successfully"<<std::endl;
|
||||
}
|
||||
}
|
||||
//end struct basic_window::other_tag
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user