SIGSEGV on adding layout
Pwera opened this issue · 1 comments
Pwera commented
Output from valgrind, with command
valgrind --leak-check=full --log-file=file2.txt ./nanacreator
==10565== Memcheck, a memory error detector
==10565== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==10565== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==10565== Command: ./nanaDesigner
==10565== Parent PID: 8366
==10565==
==10565== Conditional jump or move depends on uninitialised value(s)
==10565== at 0x4F957F: propertiespanel::set(ctrls::properties_collection*) (propertiespanel.cpp:97)
==10565== by 0x4E6B70: guimanager::clickobjectspanel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)#1}::operator()(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*) const (guimanager.cpp:358)
==10565== by 0x4EA1BC: std::_Function_handler<bool (tree_node<std::shared_ptr<ctrls::ctrl_struct> >*), guimanager::clickobjectspanel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)#1}>::_M_invoke(std::_Any_data const&, tree_node<std::shared_ptr<ctrls::ctrl_struct> >*&&) (functional:1857)
==10565== by 0x4ECA22: std::function<bool (tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)>::operator()(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*) const (functional:2267)
==10565== by 0x4ECA71: tree<std::shared_ptr<ctrls::ctrl_struct> >::_for_each(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*, std::function<bool (tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)>) (tree.h:253)
==10565== by 0x4EC539: tree<std::shared_ptr<ctrls::ctrl_struct> >::for_each(std::function<bool (tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)>) (tree.h:231)
==10565== by 0x4E6CCC: guimanager::clickobjectspanel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (guimanager.cpp:367)
==10565== by 0x4F2C00: objectspanel::objectspanel(nana::detail::window_handle_impl*, bool)::{lambda(nana::arg_treebox const&)#4}::operator()(nana::arg_treebox const&) const (objectspanel.cpp:77)
==10565== by 0x4F75E6: std::_Function_handler<void (nana::arg_treebox const&), objectspanel::objectspanel(nana::detail::window_handle_impl*, bool)::{lambda(nana::arg_treebox const&)#4}>::_M_invoke(std::_Any_data const&, nana::arg_treebox const&) (functional:1871)
==10565== by 0x5602C16: std::function<void (nana::arg_treebox const&)>::operator()(nana::arg_treebox const&) const (functional:2267)
==10565== by 0x5600899: nana::basic_event<nana::arg_treebox>::emit(nana::arg_treebox const&, nana::detail::window_handle_impl*) (general_events.hpp:192)
==10565== by 0x55FEBEA: nana::drawerbase::treebox::trigger::basic_implement<nana::drawerbase::treebox::trigger::item_renderer>::set_selected(nana::widgets::detail::tree_node<nana::drawerbase::treebox::trigger::treebox_node_type>*) (treebox.cpp:562)
==10565==
==10565== Conditional jump or move depends on uninitialised value(s)
==10565== at 0x547A407: nana::detail::msg_dispatcher::_m_read_queue(unsigned int, nana::detail::msg_packet_tag&, unsigned long) (msg_dispatcher.hpp:294)
==10565== by 0x5479D9B: nana::detail::msg_dispatcher::dispatch(unsigned long) (msg_dispatcher.hpp:159)
==10565== by 0x54769DF: nana::detail::platform_spec::msg_dispatch(nana::detail::native_window_handle_impl*) (platform_spec_posix.cpp:983)
==10565== by 0x5544888: nana::detail::bedrock::pump_event(nana::detail::window_handle_impl*, bool) (bedrock_posix.cpp:1187)
==10565== by 0x54E18CC: nana::exec() (wvl.cpp:96)
==10565== by 0x4ED487: main (main.cpp:240)
==10565==
==10565== Invalid read of size 8
==10565== at 0x565514A: _ZN9__gnu_cxx13new_allocatorIN4nana7widgets9skeletons11text_editor12text_sectionEE9constructIS5_IRKS5_EEEvPT_DpOT0_ (new_allocator.h:120)
==10565== by 0x564E7D9: _ZNSt16allocator_traitsISaIN4nana7widgets9skeletons11text_editor12text_sectionEEE9constructIS4_IRKS4_EEEvRS5_PT_DpOT0_ (alloc_traits.h:530)
==10565== by 0x564E871: void std::vector<nana::widgets::skeletons::text_editor::text_section, std::allocator<nana::widgets::skeletons::text_editor::text_section> >::_M_emplace_back_aux<nana::widgets::skeletons::text_editor::text_section const&>(nana::widgets::skeletons::text_editor::text_section const&) (vector.tcc:416)
==10565== by 0x564821A: void std::vector<nana::widgets::skeletons::text_editor::text_section, std::allocator<nana::widgets::skeletons::text_editor::text_section> >::emplace_back<nana::widgets::skeletons::text_editor::text_section const&>(nana::widgets::skeletons::text_editor::text_section const&) (vector.tcc:101)
==10565== by 0x5644C42: nana::widgets::skeletons::text_editor::behavior_normal::line(unsigned long) const (text_editor.cpp:583)
==10565== by 0x563E083: nana::widgets::skeletons::text_editor::_m_caret_to_coordinate(nana::basic_point<unsigned int>, bool) const (text_editor.cpp:2543)
==10565== by 0x563A222: nana::widgets::skeletons::text_editor::move_caret(nana::basic_point<unsigned int> const&, bool) (text_editor.cpp:1668)
==10565== by 0x5639097: nana::widgets::skeletons::text_editor::text_area(nana::rectangle const&) (text_editor.cpp:1276)
==10565== by 0x55BF2F4: nana::drawerbase::combox::drawer_impl::text_area(nana::size const&) (combox.cpp:191)
==10565== by 0x55BFD25: nana::drawerbase::combox::drawer_impl::draw() (combox.cpp:369)
==10565== by 0x55BCA8D: nana::drawerbase::combox::trigger::refresh(nana::paint::graphics&) (combox.cpp:636)
==10565== by 0x554DEDF: nana::detail::drawer::refresh() (drawer.cpp:300)
==10565== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==10565==
==10565==
==10565== Process terminating with default action of signal 11 (SIGSEGV)
==10565== Access not within mapped region at address 0x0
==10565== at 0x565514A: _ZN9__gnu_cxx13new_allocatorIN4nana7widgets9skeletons11text_editor12text_sectionEE9constructIS5_IRKS5_EEEvPT_DpOT0_ (new_allocator.h:120)
==10565== by 0x564E7D9: _ZNSt16allocator_traitsISaIN4nana7widgets9skeletons11text_editor12text_sectionEEE9constructIS4_IRKS4_EEEvRS5_PT_DpOT0_ (alloc_traits.h:530)
==10565== by 0x564E871: void std::vector<nana::widgets::skeletons::text_editor::text_section, std::allocator<nana::widgets::skeletons::text_editor::text_section> >::_M_emplace_back_aux<nana::widgets::skeletons::text_editor::text_section const&>(nana::widgets::skeletons::text_editor::text_section const&) (vector.tcc:416)
==10565== by 0x564821A: void std::vector<nana::widgets::skeletons::text_editor::text_section, std::allocator<nana::widgets::skeletons::text_editor::text_section> >::emplace_back<nana::widgets::skeletons::text_editor::text_section const&>(nana::widgets::skeletons::text_editor::text_section const&) (vector.tcc:101)
==10565== by 0x5644C42: nana::widgets::skeletons::text_editor::behavior_normal::line(unsigned long) const (text_editor.cpp:583)
==10565== by 0x563E083: nana::widgets::skeletons::text_editor::_m_caret_to_coordinate(nana::basic_point<unsigned int>, bool) const (text_editor.cpp:2543)
==10565== by 0x563A222: nana::widgets::skeletons::text_editor::move_caret(nana::basic_point<unsigned int> const&, bool) (text_editor.cpp:1668)
==10565== by 0x5639097: nana::widgets::skeletons::text_editor::text_area(nana::rectangle const&) (text_editor.cpp:1276)
==10565== by 0x55BF2F4: nana::drawerbase::combox::drawer_impl::text_area(nana::size const&) (combox.cpp:191)
==10565== by 0x55BFD25: nana::drawerbase::combox::drawer_impl::draw() (combox.cpp:369)
==10565== by 0x55BCA8D: nana::drawerbase::combox::trigger::refresh(nana::paint::graphics&) (combox.cpp:636)
==10565== by 0x554DEDF: nana::detail::drawer::refresh() (drawer.cpp:300)
==10565== If you believe this happened as a result of a stack
==10565== overflow in your program's main thread (unlikely but
==10565== possible), you can try to increase the size of the
==10565== main thread stack using the --main-stacksize= flag.
==10565== The main thread stack size used in this run was 8388608.
==10565==
==10565== HEAP SUMMARY:
==10565== in use at exit: 1,790,888 bytes in 6,858 blocks
==10565== total heap usage: 22,272 allocs, 15,414 frees, 22,573,144 bytes allocated
==10565==
==10565== 12 bytes in 1 blocks are definitely lost in loss record 88 of 1,398
==10565== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10565== by 0x641B379: XStringListToTextProperty (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==10565== by 0x5555D70: nana::detail::native_interface::create_window(nana::detail::native_window_handle_impl*, bool, nana::rectangle const&, nana::appearance const&) (native_window_interface.cpp:323)
==10565== by 0x5563EE3: nana::detail::window_manager::create_root(nana::detail::basic_window*, bool, nana::rectangle, nana::appearance const&, nana::widget*) (window_manager.cpp:524)
==10565== by 0x54FCEFA: nana::API::dev::create_window(nana::detail::window_handle_impl*, bool, nana::rectangle const&, nana::appearance const&, nana::widget*) (programming_interface.cpp:270)
==10565== by 0x55C6EA8: nana::widget_object<nana::category::root_tag, nana::drawerbase::form::trigger, nana::detail::events_root_extension, nana::widget_geometrics>::widget_object(nana::detail::window_handle_impl*, bool, nana::rectangle const&, nana::appearance const&) (widget.hpp:338)
==10565== by 0x55C6735: nana::drawerbase::form::form_base::form_base(nana::detail::window_handle_impl*, bool, nana::rectangle const&, nana::appearance const&) (form.cpp:35)
==10565== by 0x55C69F3: nana::form::form(nana::rectangle const&, nana::appearance const&) (form.cpp:77)
==10565== by 0x4ED96A: nana_creator::nana_creator() (main.cpp:37)
==10565== by 0x4ED473: main (main.cpp:237)
==10565==
==10565== 12 bytes in 1 blocks are definitely lost in loss record 89 of 1,398
==10565== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10565== by 0x6405CD8: XGetWindowProperty (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==10565== by 0x640627D: XGetTextProperty (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==10565== by 0x5557FDA: nana::detail::native_interface::window_caption[abi:cxx11](nana::detail::native_window_handle_impl*) (native_window_interface.cpp:1181)
==10565== by 0x5563FF8: nana::detail::window_manager::create_root(nana::detail::basic_window*, bool, nana::rectangle, nana::appearance const&, nana::widget*) (window_manager.cpp:537)
==10565== by 0x54FCEFA: nana::API::dev::create_window(nana::detail::window_handle_impl*, bool, nana::rectangle const&, nana::appearance const&, nana::widget*) (programming_interface.cpp:270)
==10565== by 0x55C6EA8: nana::widget_object<nana::category::root_tag, nana::drawerbase::form::trigger, nana::detail::events_root_extension, nana::widget_geometrics>::widget_object(nana::detail::window_handle_impl*, bool, nana::rectangle const&, nana::appearance const&) (widget.hpp:338)
==10565== by 0x55C6735: nana::drawerbase::form::form_base::form_base(nana::detail::window_handle_impl*, bool, nana::rectangle const&, nana::appearance const&) (form.cpp:35)
==10565== by 0x55C69F3: nana::form::form(nana::rectangle const&, nana::appearance const&) (form.cpp:77)
==10565== by 0x4ED96A: nana_creator::nana_creator() (main.cpp:37)
==10565== by 0x4ED473: main (main.cpp:237)
==10565==
==10565== 19 bytes in 1 blocks are definitely lost in loss record 267 of 1,398
==10565== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10565== by 0x641B379: XStringListToTextProperty (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==10565== by 0x5557E82: nana::detail::native_interface::window_caption(nana::detail::native_window_handle_impl*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (native_window_interface.cpp:1144)
==10565== by 0x54FCE3B: nana::API::dev::window_caption(nana::detail::window_handle_impl*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (programming_interface.cpp:262)
==10565== by 0x55D7B20: nana::widget::_m_caption(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&) (widget.cpp:292)
==10565== by 0x55D70A8: nana::widget::caption(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (widget.cpp:80)
==10565== by 0x4EDAA9: nana_creator::nana_creator() (main.cpp:39)
==10565== by 0x4ED473: main (main.cpp:237)
==10565==
==10565== 20 (8 direct, 12 indirect) bytes in 1 blocks are definitely lost in loss record 269 of 1,398
==10565== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10565== by 0x641CAE2: XTextPropertyToStringList (in /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0)
==10565== by 0x5557FFA: nana::detail::native_interface::window_caption[abi:cxx11](nana::detail::native_window_handle_impl*) (native_window_interface.cpp:1185)
==10565== by 0x5563FF8: nana::detail::window_manager::create_root(nana::detail::basic_window*, bool, nana::rectangle, nana::appearance const&, nana::widget*) (window_manager.cpp:537)
==10565== by 0x54FCEFA: nana::API::dev::create_window(nana::detail::window_handle_impl*, bool, nana::rectangle const&, nana::appearance const&, nana::widget*) (programming_interface.cpp:270)
==10565== by 0x55C6EA8: nana::widget_object<nana::category::root_tag, nana::drawerbase::form::trigger, nana::detail::events_root_extension, nana::widget_geometrics>::widget_object(nana::detail::window_handle_impl*, bool, nana::rectangle const&, nana::appearance const&) (widget.hpp:338)
==10565== by 0x55C6735: nana::drawerbase::form::form_base::form_base(nana::detail::window_handle_impl*, bool, nana::rectangle const&, nana::appearance const&) (form.cpp:35)
==10565== by 0x55C69F3: nana::form::form(nana::rectangle const&, nana::appearance const&) (form.cpp:77)
==10565== by 0x4ED96A: nana_creator::nana_creator() (main.cpp:37)
==10565== by 0x4ED473: main (main.cpp:237)
==10565==
==10565== 24 bytes in 1 blocks are definitely lost in loss record 379 of 1,398
==10565== at 0x4C2FB55: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10565== by 0x6F90822: FcPatternCreate (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.9.0)
==10565== by 0x6F8FA95: FcNameParse (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.9.0)
==10565== by 0x548D8DB: nana::font_factory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, nana::detail::font_style const&, std::experimental::filesystem::v1::__cxx11::path) (platform_abstraction.cpp:337)
==10565== by 0x548DAFF: nana::platform_abstraction::make_font(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, double, nana::detail::font_style const&) (platform_abstraction.cpp:364)
==10565== by 0x548D740: nana::platform_abstraction::default_font(std::shared_ptr<nana::font_interface> const&) (platform_abstraction.cpp:267)
==10565== by 0x5670799: nana::paint::font::font() (graphics.cpp:76)
==10565== by 0x5675714: nana::paint::graphics::implementation::implementation() (in /usr/local/lib/libnana.so)
==10565== by 0x5670EEB: nana::paint::graphics::graphics() (graphics.cpp:216)
==10565== by 0x554D740: nana::detail::drawer::drawer() (drawer.cpp:153)
==10565== by 0x5549C19: nana::detail::basic_window::basic_window(nana::detail::basic_window*, std::unique_ptr<nana::detail::widget_notifier_interface, std::default_delete<nana::detail::widget_notifier_interface> >&&, nana::category::root_tag**) (basic_window.cpp:256)
==10565== by 0x5563F34: nana::detail::window_manager::create_root(nana::detail::basic_window*, bool, nana::rectangle, nana::appearance const&, nana::widget*) (window_manager.cpp:527)
==10565==
==10565== 32 bytes in 1 blocks are definitely lost in loss record 469 of 1,398
==10565== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10565== by 0x56AC267: operator new(unsigned long) (in /usr/local/lib/libnana.so)
==10565== by 0x55D8902: nana::drawerbase::textbox::drawer::attached(nana::widget&, nana::paint::graphics&) (textbox.cpp:73)
==10565== by 0x554DFB5: nana::detail::drawer::attached(nana::widget&, nana::drawer_trigger&) (drawer.cpp:319)
==10565== by 0x54FCC54: nana::API::dev::attach_drawer(nana::widget&, nana::drawer_trigger&) (programming_interface.cpp:235)
==10565== by 0x4C55C2: nana::widget_object<nana::category::widget_tag, nana::drawerbase::textbox::drawer, nana::drawerbase::textbox::textbox_events, nana::widgets::skeletons::text_editor_scheme>::create(nana::detail::window_handle_impl*, nana::rectangle const&, bool) (widget.hpp:206)
==10565== by 0x4BD668: nana::pg_string::create(nana::detail::window_handle_impl*) (pg_items.cpp:84)
==10565== by 0x4BDB90: nana::pg_string_int::create(nana::detail::window_handle_impl*) (pg_items.cpp:135)
==10565== by 0x4CA0EA: nana::drawerbase::propertygrid::cat_proxy::append(std::unique_ptr<nana::drawerbase::propertygrid::pgitem, std::default_delete<nana::drawerbase::propertygrid::pgitem> >) (propgrid.cpp:1328)
==10565== by 0x4F9D9E: propertiespanel::set(ctrls::properties_collection*) (propertiespanel.cpp:169)
==10565== by 0x4E6B70: guimanager::clickobjectspanel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)#1}::operator()(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*) const (guimanager.cpp:358)
==10565== by 0x4EA1BC: std::_Function_handler<bool (tree_node<std::shared_ptr<ctrls::ctrl_struct> >*), guimanager::clickobjectspanel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)#1}>::_M_invoke(std::_Any_data const&, tree_node<std::shared_ptr<ctrls::ctrl_struct> >*&&) (functional:1857)
==10565==
==10565== 32 bytes in 1 blocks are definitely lost in loss record 470 of 1,398
==10565== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10565== by 0x56AC267: operator new(unsigned long) (in /usr/local/lib/libnana.so)
==10565== by 0x55D8902: nana::drawerbase::textbox::drawer::attached(nana::widget&, nana::paint::graphics&) (textbox.cpp:73)
==10565== by 0x554DFB5: nana::detail::drawer::attached(nana::widget&, nana::drawer_trigger&) (drawer.cpp:319)
==10565== by 0x54FCC54: nana::API::dev::attach_drawer(nana::widget&, nana::drawer_trigger&) (programming_interface.cpp:235)
==10565== by 0x4C55C2: nana::widget_object<nana::category::widget_tag, nana::drawerbase::textbox::drawer, nana::drawerbase::textbox::textbox_events, nana::widgets::skeletons::text_editor_scheme>::create(nana::detail::window_handle_impl*, nana::rectangle const&, bool) (widget.hpp:206)
==10565== by 0x4BD668: nana::pg_string::create(nana::detail::window_handle_impl*) (pg_items.cpp:84)
==10565== by 0x4BDDB0: nana::pg_string_uint::create(nana::detail::window_handle_impl*) (pg_items.cpp:189)
==10565== by 0x4CA0EA: nana::drawerbase::propertygrid::cat_proxy::append(std::unique_ptr<nana::drawerbase::propertygrid::pgitem, std::default_delete<nana::drawerbase::propertygrid::pgitem> >) (propgrid.cpp:1328)
==10565== by 0x4F9E7A: propertiespanel::set(ctrls::properties_collection*) (propertiespanel.cpp:173)
==10565== by 0x4E6B70: guimanager::clickobjectspanel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)#1}::operator()(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*) const (guimanager.cpp:358)
==10565== by 0x4EA1BC: std::_Function_handler<bool (tree_node<std::shared_ptr<ctrls::ctrl_struct> >*), guimanager::clickobjectspanel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)#1}>::_M_invoke(std::_Any_data const&, tree_node<std::shared_ptr<ctrls::ctrl_struct> >*&&) (functional:1857)
==10565==
==10565== 40 bytes in 1 blocks are definitely lost in loss record 501 of 1,398
==10565== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10565== by 0x56AC267: operator new(unsigned long) (in /usr/local/lib/libnana.so)
==10565== by 0x55B416A: nana::drawerbase::checkbox::drawer::drawer() (checkbox.cpp:35)
==10565== by 0x55B7277: nana::widget_object<nana::category::widget_tag, nana::drawerbase::checkbox::drawer, nana::drawerbase::checkbox::events_type, nana::widget_geometrics>::widget_object() (widget.hpp:181)
==10565== by 0x55B487B: nana::checkbox::checkbox() (checkbox.cpp:125)
==10565== by 0x4FBAA4: nana::pg_check::pg_check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) (pg_items.h:127)
==10565== by 0x4FA147: propertiespanel::set(ctrls::properties_collection*) (propertiespanel.cpp:188)
==10565== by 0x4E6B70: guimanager::clickobjectspanel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)#1}::operator()(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*) const (guimanager.cpp:358)
==10565== by 0x4EA1BC: std::_Function_handler<bool (tree_node<std::shared_ptr<ctrls::ctrl_struct> >*), guimanager::clickobjectspanel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)#1}>::_M_invoke(std::_Any_data const&, tree_node<std::shared_ptr<ctrls::ctrl_struct> >*&&) (functional:1857)
==10565== by 0x4ECA22: std::function<bool (tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)>::operator()(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*) const (functional:2267)
==10565== by 0x4ECA71: tree<std::shared_ptr<ctrls::ctrl_struct> >::_for_each(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*, std::function<bool (tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)>) (tree.h:253)
==10565== by 0x4EC539: tree<std::shared_ptr<ctrls::ctrl_struct> >::for_each(std::function<bool (tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)>) (tree.h:231)
==10565==
==10565== 64 bytes in 2 blocks are definitely lost in loss record 816 of 1,398
==10565== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10565== by 0x56AC267: operator new(unsigned long) (in /usr/local/lib/libnana.so)
==10565== by 0x55D8902: nana::drawerbase::textbox::drawer::attached(nana::widget&, nana::paint::graphics&) (textbox.cpp:73)
==10565== by 0x554DFB5: nana::detail::drawer::attached(nana::widget&, nana::drawer_trigger&) (drawer.cpp:319)
==10565== by 0x54FCC54: nana::API::dev::attach_drawer(nana::widget&, nana::drawer_trigger&) (programming_interface.cpp:235)
==10565== by 0x4C55C2: nana::widget_object<nana::category::widget_tag, nana::drawerbase::textbox::drawer, nana::drawerbase::textbox::textbox_events, nana::widgets::skeletons::text_editor_scheme>::create(nana::detail::window_handle_impl*, nana::rectangle const&, bool) (widget.hpp:206)
==10565== by 0x4BF5C2: nana::pg_color::create(nana::detail::window_handle_impl*) (pg_items.cpp:418)
==10565== by 0x4CA0EA: nana::drawerbase::propertygrid::cat_proxy::append(std::unique_ptr<nana::drawerbase::propertygrid::pgitem, std::default_delete<nana::drawerbase::propertygrid::pgitem> >) (propgrid.cpp:1328)
==10565== by 0x4FA4E8: propertiespanel::set(ctrls::properties_collection*) (propertiespanel.cpp:206)
==10565== by 0x4E6B70: guimanager::clickobjectspanel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)#1}::operator()(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*) const (guimanager.cpp:358)
==10565== by 0x4EA1BC: std::_Function_handler<bool (tree_node<std::shared_ptr<ctrls::ctrl_struct> >*), guimanager::clickobjectspanel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)#1}>::_M_invoke(std::_Any_data const&, tree_node<std::shared_ptr<ctrls::ctrl_struct> >*&&) (functional:1857)
==10565== by 0x4ECA22: std::function<bool (tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)>::operator()(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*) const (functional:2267)
==10565==
==10565== 80 bytes in 2 blocks are definitely lost in loss record 870 of 1,398
==10565== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10565== by 0x56AC267: operator new(unsigned long) (in /usr/local/lib/libnana.so)
==10565== by 0x55B416A: nana::drawerbase::checkbox::drawer::drawer() (checkbox.cpp:35)
==10565== by 0x55B7277: nana::widget_object<nana::category::widget_tag, nana::drawerbase::checkbox::drawer, nana::drawerbase::checkbox::events_type, nana::widget_geometrics>::widget_object() (widget.hpp:181)
==10565== by 0x55B487B: nana::checkbox::checkbox() (checkbox.cpp:125)
==10565== by 0x4BEC6B: nana::pg_color::pg_color(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) (pg_items.cpp:359)
==10565== by 0x4FA4B6: propertiespanel::set(ctrls::properties_collection*) (propertiespanel.cpp:206)
==10565== by 0x4E6B70: guimanager::clickobjectspanel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)#1}::operator()(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*) const (guimanager.cpp:358)
==10565== by 0x4EA1BC: std::_Function_handler<bool (tree_node<std::shared_ptr<ctrls::ctrl_struct> >*), guimanager::clickobjectspanel(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)::{lambda(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)#1}>::_M_invoke(std::_Any_data const&, tree_node<std::shared_ptr<ctrls::ctrl_struct> >*&&) (functional:1857)
==10565== by 0x4ECA22: std::function<bool (tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)>::operator()(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*) const (functional:2267)
==10565== by 0x4ECA71: tree<std::shared_ptr<ctrls::ctrl_struct> >::_for_each(tree_node<std::shared_ptr<ctrls::ctrl_struct> >*, std::function<bool (tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)>) (tree.h:253)
==10565== by 0x4EC539: tree<std::shared_ptr<ctrls::ctrl_struct> >::for_each(std::function<bool (tree_node<std::shared_ptr<ctrls::ctrl_struct> >*)>) (tree.h:231)
==10565==
==10565== 288 bytes in 1 blocks are possibly lost in loss record 1,164 of 1,398
==10565== at 0x4C2FB55: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10565== by 0x40138A4: allocate_dtv (dl-tls.c:322)
==10565== by 0x40138A4: _dl_allocate_tls (dl-tls.c:539)
==10565== by 0x693926E: allocate_stack (allocatestack.c:588)
==10565== by 0x693926E: pthread_create@@GLIBC_2.2.5 (pthread_create.c:539)
==10565== by 0x57261D2: std::thread::_M_start_thread(std::shared_ptr<std::thread::_Impl_base>, void (*)()) (in /usr/local/lib/libnana.so)
==10565== by 0x547B94F: std::thread::thread<nana::detail::msg_dispatcher::insert(unsigned long)::{lambda()#1}>(nana::detail::msg_dispatcher::insert(unsigned long)::{lambda()#1}&&) (thread:137)
==10565== by 0x5479A0F: nana::detail::msg_dispatcher::insert(unsigned long) (msg_dispatcher.hpp:116)
==10565== by 0x5476977: nana::detail::platform_spec::msg_insert(nana::detail::native_window_handle_impl*) (platform_spec_posix.cpp:973)
==10565== by 0x555617C: nana::detail::native_interface::create_window(nana::detail::native_window_handle_impl*, bool, nana::rectangle const&, nana::appearance const&) (native_window_interface.cpp:403)
==10565== by 0x5563EE3: nana::detail::window_manager::create_root(nana::detail::basic_window*, bool, nana::rectangle, nana::appearance const&, nana::widget*) (window_manager.cpp:524)
==10565== by 0x54FCEFA: nana::API::dev::create_window(nana::detail::window_handle_impl*, bool, nana::rectangle const&, nana::appearance const&, nana::widget*) (programming_interface.cpp:270)
==10565== by 0x55C6EA8: nana::widget_object<nana::category::root_tag, nana::drawerbase::form::trigger, nana::detail::events_root_extension, nana::widget_geometrics>::widget_object(nana::detail::window_handle_impl*, bool, nana::rectangle const&, nana::appearance const&) (widget.hpp:338)
==10565== by 0x55C6735: nana::drawerbase::form::form_base::form_base(nana::detail::window_handle_impl*, bool, nana::rectangle const&, nana::appearance const&) (form.cpp:35)
==10565==
==10565== 288 (256 direct, 32 indirect) bytes in 1 blocks are definitely lost in loss record 1,165 of 1,398
==10565== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10565== by 0x6F910B9: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.9.0)
==10565== by 0x6F91829: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.9.0)
==10565== by 0x6F92D4A: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.9.0)
==10565== by 0x6F9819B: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.9.0)
==10565== by 0x7A7DA7B: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.6.0)
==10565== by 0x7A7E38B: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.6.0)
==10565== by 0x7A7FCAD: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.6.0)
==10565== by 0x7A80404: ??? (in /lib/x86_64-linux-gnu/libexpat.so.1.6.0)
==10565== by 0x7A8270A: XML_ParseBuffer (in /lib/x86_64-linux-gnu/libexpat.so.1.6.0)
==10565== by 0x6F9752A: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.9.0)
==10565== by 0x6F97836: FcConfigParseAndLoad (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.9.0)
==10565==
==10565== 322 (256 direct, 66 indirect) bytes in 1 blocks are definitely lost in loss record 1,175 of 1,398
==10565== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10565== by 0x6F910B9: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.9.0)
==10565== by 0x6F91829: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.9.0)
==10565== by 0x6F91C21: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.9.0)
==10565== by 0x6F8FAE8: FcNameParse (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.9.0)
==10565== by 0x548D8DB: nana::font_factory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, nana::detail::font_style const&, std::experimental::filesystem::v1::__cxx11::path) (platform_abstraction.cpp:337)
==10565== by 0x548DAFF: nana::platform_abstraction::make_font(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, double, nana::detail::font_style const&) (platform_abstraction.cpp:364)
==10565== by 0x548D740: nana::platform_abstraction::default_font(std::shared_ptr<nana::font_interface> const&) (platform_abstraction.cpp:267)
==10565== by 0x5670799: nana::paint::font::font() (graphics.cpp:76)
==10565== by 0x5675714: nana::paint::graphics::implementation::implementation() (in /usr/local/lib/libnana.so)
==10565== by 0x5670EEB: nana::paint::graphics::graphics() (graphics.cpp:216)
==10565== by 0x554D740: nana::detail::drawer::drawer() (drawer.cpp:153)
==10565==
==10565== 416 (256 direct, 160 indirect) bytes in 1 blocks are definitely lost in loss record 1,235 of 1,398
==10565== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10565== by 0x6F910B9: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.9.0)
==10565== by 0x6F91829: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.9.0)
==10565== by 0x6F91BEB: FcPatternAddDouble (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.9.0)
==10565== by 0x6723050: ??? (in /usr/lib/x86_64-linux-gnu/libXft.so.2.3.2)
==10565== by 0x672388C: ??? (in /usr/lib/x86_64-linux-gnu/libXft.so.2.3.2)
==10565== by 0x672325E: ??? (in /usr/lib/x86_64-linux-gnu/libXft.so.2.3.2)
==10565== by 0x67233A4: ??? (in /usr/lib/x86_64-linux-gnu/libXft.so.2.3.2)
==10565== by 0x67237AD: XftDefaultHasRender (in /usr/lib/x86_64-linux-gnu/libXft.so.2.3.2)
==10565== by 0x6723C8F: XftDefaultSubstitute (in /usr/lib/x86_64-linux-gnu/libXft.so.2.3.2)
==10565== by 0x6726344: XftFontMatch (in /usr/lib/x86_64-linux-gnu/libXft.so.2.3.2)
==10565== by 0x548D910: nana::font_factory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, nana::detail::font_style const&, std::experimental::filesystem::v1::__cxx11::path) (platform_abstraction.cpp:339)
==10565==
==10565== 1,512 bytes in 3 blocks are definitely lost in loss record 1,326 of 1,398
==10565== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10565== by 0x56AC267: operator new(unsigned long) (in /usr/local/lib/libnana.so)
==10565== by 0x4C7F72: __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<nana::drawerbase::checkbox::events_type, std::allocator<nana::drawerbase::checkbox::events_type>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (new_allocator.h:104)
==10565== by 0x4C7E16: std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<nana::drawerbase::checkbox::events_type, std::allocator<nana::drawerbase::checkbox::events_type>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<nana::drawerbase::checkbox::events_type, std::allocator<nana::drawerbase::checkbox::events_type>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) (alloc_traits.h:491)
==10565== by 0x4C7C09: std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<nana::drawerbase::checkbox::events_type, std::allocator<nana::drawerbase::checkbox::events_type>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<nana::drawerbase::checkbox::events_type, std::allocator<nana::drawerbase::checkbox::events_type>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<nana::drawerbase::checkbox::events_type, std::allocator<nana::drawerbase::checkbox::events_type>, (__gnu_cxx::_Lock_policy)2> >&) (allocated_ptr.h:102)
==10565== by 0x4C7AAA: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<nana::drawerbase::checkbox::events_type, std::allocator<nana::drawerbase::checkbox::events_type>>(std::_Sp_make_shared_tag, nana::drawerbase::checkbox::events_type*, std::allocator<nana::drawerbase::checkbox::events_type> const&) (shared_ptr_base.h:615)
==10565== by 0x4C796F: std::__shared_ptr<nana::drawerbase::checkbox::events_type, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<nana::drawerbase::checkbox::events_type>>(std::_Sp_make_shared_tag, std::allocator<nana::drawerbase::checkbox::events_type> const&) (shared_ptr_base.h:1097)
==10565== by 0x4C7891: std::shared_ptr<nana::drawerbase::checkbox::events_type>::shared_ptr<std::allocator<nana::drawerbase::checkbox::events_type>>(std::_Sp_make_shared_tag, std::allocator<nana::drawerbase::checkbox::events_type> const&) (shared_ptr.h:319)
==10565== by 0x4C77AF: std::shared_ptr<nana::drawerbase::checkbox::events_type> std::allocate_shared<nana::drawerbase::checkbox::events_type, std::allocator<nana::drawerbase::checkbox::events_type>>(std::allocator<nana::drawerbase::checkbox::events_type> const&) (shared_ptr.h:620)
==10565== by 0x4C76B8: std::shared_ptr<nana::drawerbase::checkbox::events_type> std::make_shared<nana::drawerbase::checkbox::events_type>() (shared_ptr.h:636)
==10565== by 0x4C7624: nana::widget_object<nana::category::widget_tag, nana::drawerbase::checkbox::drawer, nana::drawerbase::checkbox::events_type, nana::widget_geometrics>::_m_notify_destroy() (widget.hpp:249)
==10565== by 0x55D8162: nana::widget::inner_widget_notifier::destroy() (widget.cpp:41)
==10565==
==10565== 2,208 bytes in 4 blocks are definitely lost in loss record 1,339 of 1,398
==10565== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10565== by 0x56AC267: operator new(unsigned long) (in /usr/local/lib/libnana.so)
==10565== by 0x4BC890: __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<nana::drawerbase::textbox::textbox_events, std::allocator<nana::drawerbase::textbox::textbox_events>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) (new_allocator.h:104)
==10565== by 0x4BC732: std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<nana::drawerbase::textbox::textbox_events, std::allocator<nana::drawerbase::textbox::textbox_events>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<nana::drawerbase::textbox::textbox_events, std::allocator<nana::drawerbase::textbox::textbox_events>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) (alloc_traits.h:491)
==10565== by 0x4BC525: std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<nana::drawerbase::textbox::textbox_events, std::allocator<nana::drawerbase::textbox::textbox_events>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<nana::drawerbase::textbox::textbox_events, std::allocator<nana::drawerbase::textbox::textbox_events>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<nana::drawerbase::textbox::textbox_events, std::allocator<nana::drawerbase::textbox::textbox_events>, (__gnu_cxx::_Lock_policy)2> >&) (allocated_ptr.h:102)
==10565== by 0x4BC3C6: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<nana::drawerbase::textbox::textbox_events, std::allocator<nana::drawerbase::textbox::textbox_events>>(std::_Sp_make_shared_tag, nana::drawerbase::textbox::textbox_events*, std::allocator<nana::drawerbase::textbox::textbox_events> const&) (shared_ptr_base.h:615)
==10565== by 0x4BC28B: std::__shared_ptr<nana::drawerbase::textbox::textbox_events, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<nana::drawerbase::textbox::textbox_events>>(std::_Sp_make_shared_tag, std::allocator<nana::drawerbase::textbox::textbox_events> const&) (shared_ptr_base.h:1097)
==10565== by 0x4BC1AD: std::shared_ptr<nana::drawerbase::textbox::textbox_events>::shared_ptr<std::allocator<nana::drawerbase::textbox::textbox_events>>(std::_Sp_make_shared_tag, std::allocator<nana::drawerbase::textbox::textbox_events> const&) (shared_ptr.h:319)
==10565== by 0x4BC0CB: std::shared_ptr<nana::drawerbase::textbox::textbox_events> std::allocate_shared<nana::drawerbase::textbox::textbox_events, std::allocator<nana::drawerbase::textbox::textbox_events>>(std::allocator<nana::drawerbase::textbox::textbox_events> const&) (shared_ptr.h:620)
==10565== by 0x4BBFC2: std::shared_ptr<nana::drawerbase::textbox::textbox_events> std::make_shared<nana::drawerbase::textbox::textbox_events>() (shared_ptr.h:636)
==10565== by 0x4BBF2E: nana::widget_object<nana::category::widget_tag, nana::drawerbase::textbox::drawer, nana::drawerbase::textbox::textbox_events, nana::widgets::skeletons::text_editor_scheme>::_m_notify_destroy() (widget.hpp:249)
==10565== by 0x55D8162: nana::widget::inner_widget_notifier::destroy() (widget.cpp:41)
==10565==
==10565== 2,567 (768 direct, 1,799 indirect) bytes in 1 blocks are definitely lost in loss record 1,342 of 1,398
==10565== at 0x4C2FD5F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10565== by 0x6F9100A: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.9.0)
==10565== by 0x6F9169D: ??? (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.9.0)
==10565== by 0x6F8E765: FcFontRenderPrepare (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.9.0)
==10565== by 0x6F8EA4F: FcFontMatch (in /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.9.0)
==10565== by 0x672635A: XftFontMatch (in /usr/lib/x86_64-linux-gnu/libXft.so.2.3.2)
==10565== by 0x548D910: nana::font_factory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, nana::detail::font_style const&, std::experimental::filesystem::v1::__cxx11::path) (platform_abstraction.cpp:339)
==10565== by 0x548DAFF: nana::platform_abstraction::make_font(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, double, nana::detail::font_style const&) (platform_abstraction.cpp:364)
==10565== by 0x548D740: nana::platform_abstraction::default_font(std::shared_ptr<nana::font_interface> const&) (platform_abstraction.cpp:267)
==10565== by 0x5670799: nana::paint::font::font() (graphics.cpp:76)
==10565== by 0x5675714: nana::paint::graphics::implementation::implementation() (in /usr/local/lib/libnana.so)
==10565== by 0x5670EEB: nana::paint::graphics::graphics() (graphics.cpp:216)
==10565==
==10565== LEAK SUMMARY:
==10565== definitely lost: 5,579 bytes in 23 blocks
==10565== indirectly lost: 2,069 bytes in 66 blocks
==10565== possibly lost: 288 bytes in 1 blocks
==10565== still reachable: 1,782,952 bytes in 6,768 blocks
==10565== suppressed: 0 bytes in 0 blocks
==10565== Reachable blocks (those to which a pointer was found) are not shown.
==10565== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==10565==
==10565== For counts of detected and suppressed errors, rerun with: -v
==10565== Use --track-origins=yes to see where uninitialised values come from
==10565== ERROR SUMMARY: 111 errors from 20 contexts (suppressed: 0 from 0)
Pwera commented
Problem was in the std::vector<text_section> line(std::size_t pos) const
method of text_editor.cpp
class
std::cout<<"this->sections_.size = "<<this->sections_.size()<<'\n'; //NEW LINE
if (!(this->sections_.empty())) { //NEW LINE
sections.emplace_back(this->sections_[pos]);
}
this->sections_.size = 0
this->sections_.size = 0
this->sections_.size = 1
this->sections_.size = 1