On Fri, Jun 6, 2008 at 12:32 PM, Fred Kiefer <[EMAIL PROTECTED]> wrote:
> Matt Rice wrote:
>>
>> I did notice an NSTableView bug though, and its reproducable afaict
>> with any editable tableview if you edit a field after editing its row
>> never set as needing display, you have to click a row to get things to
>> redraw.
>>
>
> Matt,
>
> I did not quite understand this description (Did you mean "cell" where you
> wrote "row"?), but if you have a fix for this, it surely is welcome.


no, i meant if you double click a cell, then type something and hit
enter or tab keys

after that the whole row is not redrawn (except for the field editor)
and sometimes the whole tableview is blanked out the behaviour changes
on different apps.

I think we can kind of rule out NSTableView I tested the last known
version that I know worked

(r24478 of -make,base,gui,back) and that worked still...

then i tested the svn head versions of make,base,gui,back
with the r24478 version of NSTableView and that produced the same results.

NSTableView drawing right now is fairly susceptible to attacks by
things setting it as needing display besides itself.

see NSTableView.m (-drawRect:)

it blanks out the background of the entire rect
with

[self drawBackgroundInClipRect:aRect];
and highlights the selection then draws the grid.

but if you look at -drawRow:clipRect:

if (i != _editedColumn || rowIndex != _editedRow)
       {
          does drawing stuff..
       }

this code is fairly old and uncommented what i recall it doing is
not drawing the edited row or column because it doesn't want to draw
over top of the field editor.

anyhow from the same version of NSTableView both working and not
working it seems as though NSTableView doesn't set the edited row rect
as needing display but either the field editor, or NSTextFieldCell or
something else maybe is setting it as needing display that is my
guess... anyways

i've tried it with the cairo backend and the art backend
you can reproduce it with gorm by going

document->new application,
select NSFirst
select 'Classes' from the toolbar
in the attributes inspector, select actions
add a few actions
edit the action name.
hit enter


_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to