Commit aa35b6ad authored by Jason Rumney's avatar Jason Rumney

(w32_wnd_proc) <WM_PAINT>: Initialize update_rect.

Combine the regions returned by BeginPaint and GetUpdateRect.
parent 4d6e8199
2002-01-24 Jason Rumney <jasonr@gnu.org>
* w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
If region left to draw is not what was expected, mark the frame as
garbaged.
* w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
Combine the regions returned by BeginPaint and GetUpdateRect.
2002-01-23 Jason Rumney <jasonr@gnu.org>
* w32term.c (x_update_window_begin): Only hide caret if
......
......@@ -4157,6 +4157,7 @@ w32_wnd_proc (hwnd, msg, wParam, lParam)
{
PAINTSTRUCT paintStruct;
RECT update_rect;
bzero (&update_rect, sizeof (update_rect));
f = x_window_to_frame (dpyinfo, hwnd);
if (f == 0)
......@@ -4168,18 +4169,15 @@ w32_wnd_proc (hwnd, msg, wParam, lParam)
/* MSDN Docs say not to call BeginPaint if GetUpdateRect
fails. Apparently this can happen under some
circumstances. */
if (!w32_strict_painting || GetUpdateRect (hwnd, &update_rect, FALSE))
if (GetUpdateRect (hwnd, &update_rect, FALSE) || !w32_strict_painting)
{
enter_crit ();
BeginPaint (hwnd, &paintStruct);
if (w32_strict_painting)
/* The rectangles returned by GetUpdateRect and BeginPaint
do not always match. GetUpdateRect seems to be the
more reliable of the two. */
wmsg.rect = update_rect;
else
wmsg.rect = paintStruct.rcPaint;
/* The rectangles returned by GetUpdateRect and BeginPaint
do not always match. Play it safe by assuming both areas
are invalid. */
UnionRect (&(wmsg.rect), &update_rect, &(paintStruct.rcPaint));
#if defined (W32_DEBUG_DISPLAY)
DebPrint (("WM_PAINT (frame %p): painting %d,%d-%d,%d\n",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment