[wxruby-users] Segfault with GridCellChoiceEditor
Glen Holcomb
damnbigman at gmail.com
Tue Jul 29 09:28:15 EDT 2008
On Tue, Jul 29, 2008 at 4:37 AM, Alex Fenton <alex at pressure.to> wrote:
> Hi Glen
>
> Glen Holcomb wrote:
>
>> In my application I have a few Grid objects in a Notebook. The Grid
>> objects are populated via GridTableBase. Certain Grid cells need to have a
>> choice interface (I'm artificially enforcing foreign key constraints). All
>> this works to the point where you try to edit the value for that cell. The
>> choice box renders (i.e. the drop down arrow appears) then the application
>> segfaults. Unfortunately I'm stuck developing this in a Windows (XP)
>> environment so I can't do much with the segfault. Any help would be most
>> appreciated.
>>
> The problem here is the combination of GridTableBase and cell editors /
> renderers, which makes the memory management very tricky. It's noted as a
> bug here:
>
> http://rubyforge.org/tracker/index.php?func=detail&aid=19187&group_id=35&atid=218
>
> I don't know how to fix it in the library, but you should be able to work
> around it by storing the cell editor in an instance variable somewhere. Then
> ruby will mark it and preserve it from GC. From the code you posted on c.l.r
> (please do post code on this mailing list as well)
>
> def get_attr(row, col, attr_kind)
> attr = Wx::GridCellAttr.new
>
> if @db_table == "computers" and col == 4
> ## INSTEAD OF THIS
> # attr.set_editor(Wx::GridCellChoiceEditor.new(["CAD", "GIS", "CMT"]))
> ## TRY THIS
> @editors ||= []
> @editors << Wx::GridCellChoiceEditor.new(["CAD", "GIS", "CMT"])
> attr.set_editor(@editors.last)
> end
>
> attr
> end
>
> hth
> alex
>
>
>
>
> _______________________________________________
> wxruby-users mailing list
> wxruby-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/wxruby-users
>
Thanks Alex, I'll give that a shot and let you know how it turns out.
--
"Hey brother Christian with your high and mighty errand, Your actions speak
so loud, I can't hear a word you're saying."
-Greg Graffin (Bad Religion)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/wxruby-users/attachments/20080729/a12dc0f2/attachment-0001.html>
More information about the wxruby-users
mailing list