On Fri, May 02, 2008 at 12:08:10PM -0400, Jorge Arellano Cid wrote:
On Fri, May 02, 2008 at 01:48:43PM +0100, Jeremy Henty wrote:
lout::misc::StringBuffer::clear() omits to invalidate the internal cached string,
I know how hard it gets to fix this kind of bugs sometimes.
It only appears if you don't add anything to the StringBuffer between clearing it and reading it, so it is hidden in almost all normal use.
BTW, does this mean the last selection patch shows no bugs anymore?
There is one remaining issue with selections but I think it's not to do with my patch. If several resource items are marked selected then only the last one is selected on the FLTK menu widget. I think the problem is that FltkSelectionResource::addItem selects the item widget by calling set_item() on the menu widget, and that's only the right thing to do for a fltk::Choice . For a fltk::Browser you just want to call Widget::set_selected() on the menu item. I guess the fix is to have a virtual hook in FltkSelectionResource and have each of FltkListResource and FltkOptionMenuResource override the hook to do the right thing. *If* I'm right then my selection patch is good as it stands. I'll have a go at a patch and see if it works. I'd be glad of any tips for doing this. The fltk::Menu internals are confusing and I'm also not familiar with the WidgetStack machinery in FltkSelectionResource . Regards, Jeremy Henty