<div dir="ltr">Thanks for the debugging and bug fix, it will hopefully be in R16B03.<div><br></div><div>/Dan</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Nov 21, 2013 at 10:16 AM, Sergei Golovan <span dir="ltr"><<a href="mailto:sgolovan@nes.ru" target="_blank">sgolovan@nes.ru</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Dan,<br>
<div class="im"><br>
On Wed, Nov 20, 2013 at 10:57 PM, Sergei Golovan <<a href="mailto:sgolovan@nes.ru">sgolovan@nes.ru</a>> wrote:<br>
> On Mon, Nov 18, 2013 at 11:52 AM, Sergei Golovan <<a href="mailto:sgolovan@nes.ru">sgolovan@nes.ru</a>> wrote:<br>
>><br>
>> 4) Segfault of dialyzer. dialyzer --wx segfaults immediately after I<br>
>> click any of the "Add", "Add Dir", or "Add Recursively" button. It<br>
>> works fine with 2.8.<br>
<br>
</div>Apparently, wxItemContainer::Set doesn't tolerate NULL clientData<br>
anymore. After I removed the clientData argument from Set call the<br>
segfault is gone (the code still works with wxWidgets 2.8):<br>
<br>
-----------------------------------<br>
--- a/lib/wx/c_src/gen/wxe_funcs.cpp<br>
+++ b/lib/wx/c_src/gen/wxe_funcs.cpp<br>
@@ -15137,7 +15137,7 @@<br>
  }<br>
  bp += (8-((0+ itemsASz) & 7 )) & 7;<br>
  if(!This) throw wxe_badarg(0);<br>
- This->Set(items,(void **) NULL);<br>
+ This->Set(items);<br>
  break;<br>
 }<br>
 case wxListBox_HitTest: { // wxListBox::HitTest<br>
-----------------------------------<br>
<br>
Here is a small excerpt from the backtrace with debug symbols enabled:<br>
<br>
#0  0x00007f7d253e11da in wxItemContainer::AssignNewItemClientData<br>
(this=0x7f7cc40e0cc0, pos=0, clientData=0x0, n=0,<br>
type=wxClientData_Void)<br>
    at ../src/common/ctrlsub.cpp:253<br>
#1  0x00007f7d253e129a in wxItemContainer::DoInsertItemsInLoop<br>
(this=this@entry=0x7f7cc40e0cc0, items=..., pos=1, pos@entry=0,<br>
<div class="im">    clientData=clientData@entry=0x0,<br>
type=type@entry=wxClientData_Void) at ../src/common/ctrlsub.cpp:142<br>
</div>#2  0x00007f7d2538e084 in wxListBox::DoInsertItems<br>
(this=0x7f7cc40e0a50, items=..., pos=0, clientData=0x0,<br>
type=wxClientData_Void)<br>
    at ../src/gtk/listbox.cpp:453<br>
#3  0x00007f7d34bd2a64 in AppendItems (type=wxClientData_Void,<br>
clientData=0x0, items=..., this=0x7f7cc40e0cc0) at<br>
/usr/include/wx-3.0/wx/ctrlsub.h:113<br>
#4  AppendItems (clientData=0x0, items=..., this=0x7f7cc40e0cc0) at<br>
/usr/include/wx-3.0/wx/ctrlsub.h:126<br>
#5  Append (clientData=0x0, items=..., this=0x7f7cc40e0cc0) at<br>
/usr/include/wx-3.0/wx/ctrlsub.h:207<br>
#6  wxItemContainer::Set (this=this@entry=0x7f7cc40e0cc0, items=...,<br>
clientData=clientData@entry=0x0) at<br>
/usr/include/wx-3.0/wx/ctrlsub.h:265<br>
#7  0x00007f7d34b994a1 in WxeApp::wxe_dispatch<br>
(this=this@entry=0x7f7cc4000980, Ecmd=...) at gen/wxe_funcs.cpp:15140<br>
<br>
Cheers!<br>
<span class="HOEnZb"><font color="#888888">--<br>
Sergei Golovan<br>
</font></span></blockquote></div><br></div>