aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJason Rumney2009-03-15 14:53:53 +0000
committerJason Rumney2009-03-15 14:53:53 +0000
commitf7b146dc3b698dd09b143159f5da464ae734a6a7 (patch)
tree0d87add93aab3878464e5b73239bd26b65a3cf2e /src
parent7fab235accca360995dac1bce6c3ca5a038de3d1 (diff)
downloademacs-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/ChangeLog7
-rw-r--r--src/w32fns.c7
-rw-r--r--src/w32term.c2
-rw-r--r--src/w32term.h3
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 @@
12009-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
12009-03-14 David Reitter <david.reitter@gmail.com> 82009-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)