Opened 13 years ago

Closed 12 years ago

Last modified 12 years ago

#7639 closed bug (fixed)

Vertically resizing leaves redrawing artifacts

Reported by: humdinger Owned by: axeld
Priority: normal Milestone: R1
Component: Kits/Interface Kit Version: R1/Development
Keywords: BColumnListView Cc:
Blocked By: Blocking:
Platform: All

Description (last modified by humdinger)

This is R1/alpha hrev41843.

  • Open the Sounds prefs
  • Resize slowly vertically

-> vertical lines:

artifacts when resizing Sounds prefs

Attachments (2)

sounds-lines.png (24.6 KB ) - added by humdinger 13 years ago.
artifacts when resizing Sounds prefs
0001-Fix-7639.-Fixes-the-redraw-issue-in-ColumListView.patch (860 bytes ) - added by Janus 12 years ago.

Download all attachments as: .zip

Change History (9)

by humdinger, 13 years ago

Attachment: sounds-lines.png added

artifacts when resizing Sounds prefs

comment:1 by humdinger, 13 years ago

Description: modified (diff)

comment:2 by idefix, 13 years ago

Might be the same as ticket:3037.

comment:3 by diver, 13 years ago

I think that it's a redraw issue in ColumnListView.

comment:4 by x-ist, 12 years ago

It seems there is an off-by-one error in the passed-in invalidBounds parameter of OutlineView::Draw(BRect invalidBounds) in ColumnListView.cpp. I still have to investigate where exactly the miscalculation happens though.

If the method is changed like this:

void
OutlineView::Draw(BRect invalidBounds)
{
	invalidBounds.top -= 1;
	invalidBounds.left -= 1;

#if SMART_REDRAW
	BRegion invalidRegion;
	GetClippingRegion(&invalidRegion);
#endif

	...

the glitches disappear, and not only the horizontal ones at the bottom!

In line 3398 the focus row can then be drawn with the correct width

	StrokeRect(BRect(0, line, invalidBounds.right, line + rowHeight));

instead of

	StrokeRect(BRect(0, line, 10000.0, line + rowHeight));

which I suppose was done due to glitches upon resizing the window to the right.

comment:5 by Janus, 12 years ago

patch: 01

in reply to:  5 comment:6 by siarzhuk, 12 years ago

Resolution: fixed
Status: newclosed

Replying to Janus:

That looks reasonable. After applying your patch I cannot reproduce this vertical resize artifacts anymore. Thank you.

comment:7 by siarzhuk, 12 years ago

Ups, that was hrev45010. Excuse me, please...

Note: See TracTickets for help on using tickets.