Opened 7 years ago

Closed 5 years ago

Last modified 5 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:
Has a Patch: yes 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 7 years ago.
artifacts when resizing Sounds prefs
0001-Fix-7639.-Fixes-the-redraw-issue-in-ColumListView.patch (860 bytes) - added by Janus 5 years ago.

Download all attachments as: .zip

Change History (9)

Changed 7 years ago by humdinger

Attachment: sounds-lines.png added

artifacts when resizing Sounds prefs

comment:1 Changed 7 years ago by humdinger

Description: modified (diff)

comment:2 Changed 7 years ago by Jeroen Oortwijn

Might be the same as ticket:3037.

comment:3 Changed 7 years ago by diver

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

comment:4 Changed 5 years ago by x-ist

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 Changed 5 years ago by Janus

Has a Patch: set

comment:6 in reply to:  5 Changed 5 years ago by Siarzhuk Zharski

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 Changed 5 years ago by Siarzhuk Zharski

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

Note: See TracTickets for help on using tickets.