Regression in update region handling
dmitry at codeweavers.com
Mon Jan 24 06:46:14 CST 2005
"Alexandre Julliard" <julliard at wine.dyndns.org> wrote:
> It's probably a regression around GetUpdateRect and related functions.
> The easiest way to fix it would be to get me a copy of that app, if
> that's possible.
Haven't the code demonstrating the problem already been sent to the list?
----- Original Message -----
From: "Nick Hornback" <vidar268 at yahoo.com>
To: <wine-devel at winehq.org>
Sent: Tuesday, January 11, 2005 7:20 AM
Subject: Re: Fwd: Foobar2000 audio player Regression
> I just mentioned the problem on foobars irc channel,
> and someone posted some sample WM_PAINT code that I
> believe is what you might have been looking for
> (BeginPaint isn't used anywhere). According to the
> foobar devs, and I've heard this from previous threads
> in the foobar forums when wine had issues with
> repainting the playlist, is that BeginPaint is not
> nessesary, and that seems to be a recuring problem
> with wine.
> Attached is the code that was posted in the irc
> channel. I'm not enough of a dev to make sense of it,
> but hopefully it'll help.
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> case WM_PAINT:
> RECT rcPaint;
> HDC hdc;
> } ps;
> if (!GetUpdateRect(wnd,&ps.rcPaint,0))
> ps.hdc = GetDC(wnd);
> int min,max;
> min = display_offset + (ps.rcPaint.top/item_height);
> max = display_offset + (ps.rcPaint.bottom/item_height) + 2;
> int n;
> if (max>get_count()) max = get_count();
> for(n=min;n<max;n++) repaint(n,ps.hdc,&ps.rcPaint);
> int blank_top = (get_count() - display_offset) * item_height;
> if (blank_top < ps.rcPaint.bottom)
> RECT temp = ps.rcPaint;
> temp.top = blank_top;
> HBRUSH br = CreateSolidBrush(cfg_playlist_background);
More information about the wine-devel