[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #26949] NSTableView missing 'display' after cell selection
From: |
Fred Kiefer |
Subject: |
[bug #26949] NSTableView missing 'display' after cell selection |
Date: |
Sun, 05 Jul 2009 09:28:48 +0000 |
User-agent: |
Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.10 (like Gecko) SUSE |
Update of bug #26949 (project gnustep):
Status: None => Confirmed
Assigned to: None => FredKiefer
_______________________________________________________
Follow-up Comment #1:
Thank you for this bug report. I was able to reproduce this behaviour in
Gorm.
I think there really is an issue here, but we need to think about it a bit
more. Your suggested solution to add a call to displayIfNeeded is not what we
should do here. Any direct call to display is something that should be avoided
as much as possible in all the gui classes. display causes an imediate redraw
of the full gui object and this might be rather heavy. What we prefer to do is
call setNeedsDisplay: or even better setNeedsDisplayInRect:. But in this
specific case it is not the table view that needs to display itself. What
needs to get redrawn is the text editor that is used to display (and edit) the
selected cell. Your call causes that to display as it is a sub view of the
table view. But normally the code that sets up the editor should already mark
it as needing a redisplay. So there must be something in that process which
messes up. Most of the code is in NSCell
_setupTextWithFrame:inView:editor:delegate:range: if you want to have a look.
As a cheap solution, we could just display the text object at the place,
where you added the display of the table view, but even that would be wrong.
If the whole mechanism of autodisplay is broken, we have to fix that and not
just work around it.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?26949>
_______________________________________________
Nachricht geschickt von/durch Savannah
http://savannah.gnu.org/