diff options
| author | Jason Rumney | 2009-03-15 14:53:53 +0000 |
|---|---|---|
| committer | Jason Rumney | 2009-03-15 14:53:53 +0000 |
| commit | f7b146dc3b698dd09b143159f5da464ae734a6a7 (patch) | |
| tree | 0d87add93aab3878464e5b73239bd26b65a3cf2e /src | |
| parent | 7fab235accca360995dac1bce6c3ca5a038de3d1 (diff) | |
| download | emacs-f7b146dc3b698dd09b143159f5da464ae734a6a7.tar.gz emacs-f7b146dc3b698dd09b143159f5da464ae734a6a7.zip | |
* w32term.h (WM_EMACS_PAINT): New message.
* w32term.c (w32_read_socket): Use it instead of WM_PAINT.
* w32fns.c (w32_wnd_proc): Change WM_PAINT to WM_EMACS_PAINT
before passing to lisp thread. (Bug#950)
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 7 | ||||
| -rw-r--r-- | src/w32fns.c | 7 | ||||
| -rw-r--r-- | src/w32term.c | 2 | ||||
| -rw-r--r-- | src/w32term.h | 3 |
4 files changed, 16 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index d1ae1373793..e222b8bb8ce 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2009-03-15 Jason Rumney <jasonr@gnu.org> | ||
| 2 | |||
| 3 | * w32term.h (WM_EMACS_PAINT): New message. | ||
| 4 | * w32term.c (w32_read_socket): Use it instead of WM_PAINT. | ||
| 5 | * w32fns.c (w32_wnd_proc): Change WM_PAINT to WM_EMACS_PAINT | ||
| 6 | before passing to lisp thread. (Bug#950) | ||
| 7 | |||
| 1 | 2009-03-14 David Reitter <david.reitter@gmail.com> | 8 | 2009-03-14 David Reitter <david.reitter@gmail.com> |
| 2 | 9 | ||
| 3 | * nsterm.m (ns_shutdown_properly, -terminate): Remove global state | 10 | * nsterm.m (ns_shutdown_properly, -terminate): Remove global state |
diff --git a/src/w32fns.c b/src/w32fns.c index 97b9adea2ce..bf261a754de 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -2841,7 +2841,12 @@ w32_wnd_proc (hwnd, msg, wParam, lParam) | |||
| 2841 | EndPaint (hwnd, &paintStruct); | 2841 | EndPaint (hwnd, &paintStruct); |
| 2842 | leave_crit (); | 2842 | leave_crit (); |
| 2843 | 2843 | ||
| 2844 | my_post_msg (&wmsg, hwnd, msg, wParam, lParam); | 2844 | /* Change the message type to prevent Windows from |
| 2845 | combining WM_PAINT messages in the Lisp thread's queue, | ||
| 2846 | since Windows assumes that each message queue is | ||
| 2847 | dedicated to one frame and does not bother checking | ||
| 2848 | that hwnd matches before combining them. */ | ||
| 2849 | my_post_msg (&wmsg, hwnd, WM_EMACS_PAINT, wParam, lParam); | ||
| 2845 | 2850 | ||
| 2846 | return 0; | 2851 | return 0; |
| 2847 | } | 2852 | } |
diff --git a/src/w32term.c b/src/w32term.c index 34fc450217f..e16f07f088c 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -4105,7 +4105,7 @@ w32_read_socket (sd, expected, hold_quit) | |||
| 4105 | 4105 | ||
| 4106 | switch (msg.msg.message) | 4106 | switch (msg.msg.message) |
| 4107 | { | 4107 | { |
| 4108 | case WM_PAINT: | 4108 | case WM_EMACS_PAINT: |
| 4109 | f = x_window_to_frame (dpyinfo, msg.msg.hwnd); | 4109 | f = x_window_to_frame (dpyinfo, msg.msg.hwnd); |
| 4110 | 4110 | ||
| 4111 | if (f) | 4111 | if (f) |
diff --git a/src/w32term.h b/src/w32term.h index a40cf460665..8181d610cde 100644 --- a/src/w32term.h +++ b/src/w32term.h | |||
| @@ -609,7 +609,8 @@ do { \ | |||
| 609 | #define WM_EMACS_SHOW_CARET (WM_EMACS_START + 17) | 609 | #define WM_EMACS_SHOW_CARET (WM_EMACS_START + 17) |
| 610 | #define WM_EMACS_HIDE_CARET (WM_EMACS_START + 18) | 610 | #define WM_EMACS_HIDE_CARET (WM_EMACS_START + 18) |
| 611 | #define WM_EMACS_SETCURSOR (WM_EMACS_START + 19) | 611 | #define WM_EMACS_SETCURSOR (WM_EMACS_START + 19) |
| 612 | #define WM_EMACS_END (WM_EMACS_START + 20) | 612 | #define WM_EMACS_PAINT (WM_EMACS_START + 20) |
| 613 | #define WM_EMACS_END (WM_EMACS_START + 21) | ||
| 613 | 614 | ||
| 614 | #define WND_FONTWIDTH_INDEX (0) | 615 | #define WND_FONTWIDTH_INDEX (0) |
| 615 | #define WND_LINEHEIGHT_INDEX (4) | 616 | #define WND_LINEHEIGHT_INDEX (4) |