FXComboTableItem bug
Reported by lyle (at lylejohnson) | November 11th, 2009 @ 06:55 PM
Originally reported by Jason Thomas (jmthomas@ball.com):
I think there is a bug in FXComboTableItem when using it with FXTable. I was getting a Seg Fault before making the following change:
class FXComboTableItem < FXTableItem
# Create input control for editing this item
def getControlFor(table)
combo = FXComboBox.new(table, 1, nil, 0, COMBOBOX_STATIC, 0, 0, 0, 0,
table.marginLeft, table.marginRight,
table.marginTop, table.marginBottom)
combo.create
combo.justify = justify
combo.font = table.font
combo.backColor = table.backColor
combo.textColor = table.textColor
combo.selBackColor = table.selBackColor
combo.selTextColor = table.selTextColor
selections.each do |selection|
combo.appendItem(selection)
end
combo.numVisible = [20, combo.numItems].min
combo
end
end
The original code used combo.fillItems(selections) instead of combo.appendItem so I think that's where the problem is.
Comments and changes to this ticket
-
lyle (at lylejohnson) November 11th, 2009 @ 06:55 PM
- Tag set to rubyforge
-
lyle (at lylejohnson) November 11th, 2009 @ 06:56 PM
Lyle replied:
Jason, I'm having trouble reproducing this one. Which operating system are you FXRuby running on?
-
lyle (at lylejohnson) November 11th, 2009 @ 06:56 PM
Lyle added:
Anecdotal evidence (i.e. a subsequent bug report from Ernst Tanaka) confirms that something about the FXComboBox#fillItems method is broken.
-
lyle (at lylejohnson) November 11th, 2009 @ 06:57 PM
Tim Smith added that:
FXComboTableItem#fillItems seg-faults for me in the following code on WinXP, Ruby 1.8.6, FXRuby 1.6.14. appendItem does not seg-fault.
app = FXApp.new main_window = FXMainWindow.new app, 'Test' combo_box = FXComboBox.new main_window, 20 items = ['item 1', 'item 2'] combo_box.fillItems items #items.each {|item| combo_box.appendItem item} app.create main_window.show PLACEMENT_SCREEN app.run
-
lyle (at lylejohnson) November 11th, 2009 @ 06:58 PM
Added a test for this, which passes on Mac OS X. Will try on Windows.
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
FXRuby is a library for developing powerful and sophisticated cross-platform graphical user interfaces (GUIs) for your Ruby applications. It’s based on the FOX Toolkit, a popular open source C++ library developed by Jeroen van der Zijp. What that means for you as an application developer is that you’re able to write code in the Ruby programming language that you already know and love, while at the same time taking advantage of the performance and functionality of a featureful, highly optimized C++ toolkit.