On Thu, 13 Jul 2000, gerard patel wrote:

> At 09:16 AM 6/28/00 -0400, you wrote:
> 
> <snip>
> >I think a better approach to avoid the extra repaint (and possibly remove
> >some flickers) will be to use WM_SYNCPAINT message.

Hmm...
http://msdn.microsoft.com/library/psdk/gdi/pantdraw_3ptg.htm

Can't we also solve the previously reported problem with the service
thread blocking while sending WM_NCPAINT/WM_ERASEBKGND (and deadlocking)
while we're at it?

That is, we'd do:

Service thread:
0. Receive Expose
1. Invalidate window rectangle
2. SendNotifyMessage(wnd,WM_SYNCPAINT,0,0);
3. Forget it and move on to doing other stuff

DefWndProc:
0. Receive WM_SYNCPAINT
1. Check update region
2. Send ERASEBKGND and NCPAINT messages as necessary...

Right now, the service thread sends ERASEBKGND and NCPAINT messages
itself, which is a deadlock condition in multimedia apps. This would solve
those, too...

Reply via email to