[erlang-questions] wxErlang and wxWidgets 3.0
Sergei Golovan
sgolovan@REDACTED
Thu Nov 21 10:16:04 CET 2013
Hi Dan,
On Wed, Nov 20, 2013 at 10:57 PM, Sergei Golovan <sgolovan@REDACTED> wrote:
> On Mon, Nov 18, 2013 at 11:52 AM, Sergei Golovan <sgolovan@REDACTED> wrote:
>>
>> 4) Segfault of dialyzer. dialyzer --wx segfaults immediately after I
>> click any of the "Add", "Add Dir", or "Add Recursively" button. It
>> works fine with 2.8.
Apparently, wxItemContainer::Set doesn't tolerate NULL clientData
anymore. After I removed the clientData argument from Set call the
segfault is gone (the code still works with wxWidgets 2.8):
-----------------------------------
--- a/lib/wx/c_src/gen/wxe_funcs.cpp
+++ b/lib/wx/c_src/gen/wxe_funcs.cpp
@@ -15137,7 +15137,7 @@
}
bp += (8-((0+ itemsASz) & 7 )) & 7;
if(!This) throw wxe_badarg(0);
- This->Set(items,(void **) NULL);
+ This->Set(items);
break;
}
case wxListBox_HitTest: { // wxListBox::HitTest
-----------------------------------
Here is a small excerpt from the backtrace with debug symbols enabled:
#0 0x00007f7d253e11da in wxItemContainer::AssignNewItemClientData
(this=0x7f7cc40e0cc0, pos=0, clientData=0x0, n=0,
type=wxClientData_Void)
at ../src/common/ctrlsub.cpp:253
#1 0x00007f7d253e129a in wxItemContainer::DoInsertItemsInLoop
(this=this@REDACTED=0x7f7cc40e0cc0, items=..., pos=1, pos@REDACTED=0,
clientData=clientData@REDACTED=0x0,
type=type@REDACTED=wxClientData_Void) at ../src/common/ctrlsub.cpp:142
#2 0x00007f7d2538e084 in wxListBox::DoInsertItems
(this=0x7f7cc40e0a50, items=..., pos=0, clientData=0x0,
type=wxClientData_Void)
at ../src/gtk/listbox.cpp:453
#3 0x00007f7d34bd2a64 in AppendItems (type=wxClientData_Void,
clientData=0x0, items=..., this=0x7f7cc40e0cc0) at
/usr/include/wx-3.0/wx/ctrlsub.h:113
#4 AppendItems (clientData=0x0, items=..., this=0x7f7cc40e0cc0) at
/usr/include/wx-3.0/wx/ctrlsub.h:126
#5 Append (clientData=0x0, items=..., this=0x7f7cc40e0cc0) at
/usr/include/wx-3.0/wx/ctrlsub.h:207
#6 wxItemContainer::Set (this=this@REDACTED=0x7f7cc40e0cc0, items=...,
clientData=clientData@REDACTED=0x0) at
/usr/include/wx-3.0/wx/ctrlsub.h:265
#7 0x00007f7d34b994a1 in WxeApp::wxe_dispatch
(this=this@REDACTED=0x7f7cc4000980, Ecmd=...) at gen/wxe_funcs.cpp:15140
Cheers!
--
Sergei Golovan
More information about the erlang-questions
mailing list