Opened 16 years ago
Closed 10 years ago
#3970 closed bug (fixed)
B[Outline]ListView Redraw problems
Reported by: | darkwyrm | Owned by: | axeld |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | Kits/Interface Kit | Version: | R1/pre-alpha1 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
There seems to be a problem with either BListView or BOutlineListView redraw when using BListView::InvalidateItem. It can be reproduced simply by running Paladin and compiling a project.
As files are compiled, they should be lighting up in blue, but as of hrev30852, they are not. This has been a problem for quite a while, but I just now got around to filing the report. Clicking on Force Rebuild from the Build menu should cause all visible items in the project to be redrawn in a light gray color, and this doesn't happen either. In both instances, the code in Paladin is iterating over the items and calling InvalidateItem().
This issue does not occur in R5 or Zeta.
I've nailed down the exact problem. It actually is a result of the particular implementation of BStringItem in Haiku.
When the above code is executed on R5 or Zeta, setting the high color before calling the parent class' DrawItem method results in drawing the item with the color set before the call is made. Haiku's implementation differs in that it modifies the high color before the string is drawn. In short, this is a behavioral difference in Haiku from R5/Zeta.