Any idea what I'm doing wrong?
wxwidgets 3.1
ubuntu 16
stack trace
Code: Select all
Thread 21 "wxApp" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffaf7fd700 (LWP 11713)]
malloc_consolidate (av=av@entry=0x7ffff1c95b00 <main_arena>) at malloc.c:4204
4204 malloc.c: No such file or directory.
(gdb) bt
#0 malloc_consolidate (av=av@entry=0x7ffff1c95b00 <main_arena>)
at malloc.c:4204
#1 0x00007ffff1957d7f in _int_malloc (
av=av@entry=0x7ffff1c95b00 <main_arena>, bytes=bytes@entry=2080)
at malloc.c:3485
#2 0x00007ffff1958b8e in _int_memalign (
av=av@entry=0x7ffff1c95b00 <main_arena>, alignment=alignment@entry=1024,
bytes=bytes@entry=1008) at malloc.c:4456
#3 0x00007ffff195cebd in _mid_memalign (address=<optimized out>, bytes=1008,
alignment=1024) at malloc.c:3155
#4 __posix_memalign (memptr=0x7fffaf7f94a0, alignment=<optimized out>,
size=1008) at malloc.c:5068
#5 0x00007fffee0f4c32 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6 0x00007fffee0f58cb in g_slice_alloc ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7 0x00007fffea9586b2 in ?? ()
from /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0
#8 0x00007fffea959788 in ?? ()
from /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0
#9 0x00007fffee89346e in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#10 0x00007fffee7ee4e3 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#11 0x00007fffee7f2534 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#12 0x00007fffee88eef3 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#13 0x00007fffee943f94 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#14 0x00007fffee9441df in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#15 0x00007fffee944297 in gtk_widget_get_preferred_width ()
from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#16 0x00007fffee9445d0 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#17 0x00007ffff2bc8b18 in wxControl::GTKGetPreferredSize(_GtkWidget*) const ()
from /usr/local/lib/libwx_gtk3u_core-3.1.so.0
#18 0x00007ffff2bc8baf in wxControl::DoGetBestSize() const ()
from /usr/local/lib/libwx_gtk3u_core-3.1.so.0
#19 0x00007ffff2c06d65 in wxStaticText::DoGetBestSize() const ()
from /usr/local/lib/libwx_gtk3u_core-3.1.so.0
#20 0x00007ffff2d5cd7e in wxWindowBase::GetBestSize() const ()
from /usr/local/lib/libwx_gtk3u_core-3.1.so.0
#21 0x00007ffff2c073f6 in wxStaticText::GTKDoSetLabel(void (wxStaticText::*)(_GtkLabel*, wxString const&), wxString const&) ()
from /usr/local/lib/libwx_gtk3u_core-3.1.so.0
#22 0x00007ffff2c074c1 in wxStaticText::SetLabel(wxString const&) ()
from /usr/local/lib/libwx_gtk3u_core-3.1.so.0
the code that causes error
Code: Select all
wxString str = "";
for (auto i : _strs) {
wxString fmt= wxString::Format("%s%s\n", StaticObj::Instance()->m_public_text, i.to_string());
str += fmt;
}
m_last5strs->SetLabelText(str);
the gui init
Code: Select all
void CDialogAccept::CreateControls()
{
if (!wxXmlResource::Get()->LoadFrame(this, GetParent(), wxT("ID_D_DIALOG_ACCEPT")))
wxLogError(wxT("Missing wxXmlResource::Get()->Load() in OnInit()?"));
m_lbldrawing = XRCCTRL(*this, "ID_C_STATUS_2", wxStaticText);
m_last5str = XRCCTRL(*this, "ID_C_STATUS_4", wxStaticText);
}
Code: Select all
<object class="wxFrame" name="ID_D_DIALOG_ACCEPT" subclass="CDialogAccept">
<style>wxNO_BORDER</style>
<exstyle>wxWS_EX_BLOCK_EVENTS</exstyle>
<bg>#0000FF</bg>
<size>469,319</size>
<title>OPERATOR MONEY__ACCEPT</title>
<centered>1</centered>
<object class="wxBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<flag>wxGROW|wxLEFT|wxRIGHT</flag>
<border>10</border>
<object class="CMenuHeader" name="ID_PANEL_TITLE">
<size>-1,50</size>
<style>wxNO_BORDER</style>
<exstyle>wxWS_EX_VALIDATE_RECURSIVELY</exstyle>
<bg>#0000FF</bg>
<hasPaging>1</hasPaging>
<m_PageTitle>ACCEPT</m_PageTitle>
</object>
</object>
<object class="sizeritem">
<flag>wxGROW|wxLEFT|wxRIGHT</flag>
<border>10</border>
<option>11</option>
<object class="wxPanel" name="ID_PANEL_BODY">
<font>
<size>12</size>
<family>swiss</family>
<weight>bold</weight>
<face>Arial</face>
</font>
<style>wxNO_BORDER|wxTAB_TRAVERSAL</style>
<exstyle>wxWS_EX_VALIDATE_RECURSIVELY</exstyle>
<bg>#000000</bg>
<object class="wxBoxSizer">
<orient>wxVERTICAL</orient>
<object class="sizeritem">
<flag>wxGROW|wxALL</flag>
<border>10</border>
<object class="wxPanel" name="ID_PANEL">
<style>wxNO_BORDER|wxTAB_TRAVERSAL</style>
<exstyle>wxWS_EX_VALIDATE_RECURSIVELY</exstyle>
<object class="wxBoxSizer">
<orient>wxHORIZONTAL</orient>
<object class="sizeritem">
<flag>wxALIGN_CENTER_VERTICAL|wxFIXED_MINSIZE</flag>
<border>30</border>
<object class="wxStaticText" name="ID_C_STATUS_1">
<size>100,-1</size>
<font>
<size>14</size>
<family>swiss</family>
<weight>bold</weight>
<face>Arial</face>
</font>
<style>wxST_NO_AUTORESIZE|wxNO_BORDER</style>
<fg>#00FF00</fg>
<label>SLOT #1</label>
</object>
</object>
<object class="sizeritem">
<flag>wxGROW|wxLEFT</flag>
<border>10</border>
<object class="wxStaticText" name="ID_C_STATUS_2">
<size>360,30</size>
<style>wxNO_BORDER</style>
<label></label>
</object>
</object>
<object class="spacer">
<flag>wxALIGN_CENTER_VERTICAL|wxALL</flag>
<border>5</border>
<option>1</option>
<size>5,5</size>
</object>
</object>
</object>
</object>
<object class="sizeritem">
<flag>wxGROW|wxLEFT</flag>
<border>25</border>
<object class="wxStaticText" name="ID_C_STATUS_3">
<font>
<size>16</size>
<family>swiss</family>
<weight>bold</weight>
<face>Arial</face>
</font>
<style>wxNO_BORDER</style>
<fg>#00FF00</fg>
<label>LAST 5 BILLS</label>
</object>
</object>
<object class="sizeritem">
<flag>wxGROW|wxLEFT|wxRIGHT</flag>
<border>25</border>
<object class="wxStaticText" name="ID_C_STATUS_4">
<font>
<size>16</size>
<family>swiss</family>
<weight>bold</weight>
<face>Arial</face>
</font>
<style>wxNO_BORDER</style>
<fg>#FFFFFF</fg>
<label></label>
</object>
</object>
</object>
</object>
</object>
</object>
</object>