refactoring ListCtrl caused segmentation fault

Michael Barron barronmo at gmail.com
Sun Jan 13 22:13:58 PST 2008


I'm refactoring a CheckListCtrl and am now getting a crash, "Segmentation
fault (core dumped)".  The old code worked fine.

Old:

        self.list =3D CheckListCtrl(self)
    self.list.InsertColumn(0, 'Name', width=3D250)
    self.list.InsertColumn(1, 'Dose', width=3D180)
    self.list.InsertColumn(2, 'Tablets', width=3D60)
    self.list.InsertColumn(3, 'Frequency', width=3D80)
    self.list.InsertColumn(4, '#', width=3D40)
    self.list.InsertColumn(5, 'Refills', width=3D60)
    self.list.InsertColumn(6, 'Number', width=3D0)
    self.list.InsertColumn(7, 'Date', width=3D100)
    meds =3D med_find(ptID)
    for i in meds:
            index =3D self.list.InsertStringItem(sys.maxint, i['med_name'])

            self.list.SetStringItem(index, 1, i['dose'])
            self.list.SetStringItem(index, 2, str(i['number_tablets']))
            self.list.SetStringItem(index, 3, i['frequency'])
            self.list.SetStringItem(index, 4, str(i['number_pills']))
            self.list.SetStringItem(index, 5, str(i['refills']))
    self.list.SetStringItem(index, 6, str(i['med_number']))
    self.list.SetStringItem(index, 7, str(i['script_date']))

New:

class CheckListCtrl(wx.ListCtrl, CheckListCtrlMixin,
ListCtrlAutoWidthMixin):
    def __init__(self, parent):
        wx.ListCtrl.__init__(self, parent, -1, style=3Dwx.LC_REPORT |
wx.SUNKEN_BORDER)
        CheckListCtrlMixin.__init__(self)
        ListCtrlAutoWidthMixin.__init__(self)

def buildCheckListCtrl(instance, columns, data):
    ctrl =3D CheckListCtrl(instance)
    index =3D 0
    for columnName, columnWidth in columns:
        ctrl.InsertColumn(index, columnName, width =3D columnWidth)
        index =3D index + 1
    for i in data:
        keys =3D i.keys()
        col =3D 1
            newindex =3D ctrl.InsertStringItem(sys.maxint, i[keys[0]])
        for k in keys[1:]:
        ctrl.SetStringItem(newindex, col, str(i[k]))
        col =3D col + 1
        return ctrl

I would love to understand why the change is causing a problem.  I am new to
Python and wxPython.  Unforturnately I cannot find the core dump file on the
system I am using, Ubuntu 7.04.  Thanks in advance for any help.

Mike
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.wxwidgets.org/pipermail/wxpython-users/attachments/200801=
14/fe5a4222/attachment.htm


More information about the wxpython-users mailing list