mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-18 18:05:07 +00:00
(w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
Combine the regions returned by BeginPaint and GetUpdateRect.
This commit is contained in:
parent
4d6e81995c
commit
aa35b6ad49
@ -1,3 +1,12 @@
|
||||
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
|
||||
|
14
src/w32fns.c
14
src/w32fns.c
@ -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",
|
||||
|
Loading…
Reference in New Issue
Block a user