aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJuanma Barranquero2013-07-18 18:50:05 +0200
committerJuanma Barranquero2013-07-18 18:50:05 +0200
commit945c5bb194ecdc4f3be4223dcfcd88077391975b (patch)
tree6245bb6e2f1b76640c3ed1568aff7ce9c43d63fd /src
parentabd2f2a44e9225cdc89dc6643190dd13785bb48e (diff)
downloademacs-945c5bb194ecdc4f3be4223dcfcd88077391975b.tar.gz
emacs-945c5bb194ecdc4f3be4223dcfcd88077391975b.zip
Followup to 2013-07-16T11:41:06Z!jan.h.d@swipnet.se.
* lisp/frame.el (blink-cursor-timer-function, blink-cursor-suspend): Add check for W32. * src/keyboard.c (kbd_buffer_get_event): * src/w32term.c (x_focus_changed): Port FOCUS_(IN|OUT)_EVENT changes to W32.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/keyboard.c8
-rw-r--r--src/w32term.c15
3 files changed, 22 insertions, 7 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 8a1c163998b..de80ac168bd 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
12013-07-18 Juanma Barranquero <lekktu@gmail.com>
2
3 * keyboard.c (kbd_buffer_get_event):
4 * w32term.c (x_focus_changed): Port FOCUS_(IN|OUT)_EVENT changes to W32.
5 Followup to 2013-07-16T11:41:06Z!jan.h.d@swipnet.se.
6
12013-07-18 Paul Eggert <eggert@cs.ucla.edu> 72013-07-18 Paul Eggert <eggert@cs.ucla.edu>
2 8
3 * filelock.c: Fix unlikely file descriptor leaks. 9 * filelock.c: Fix unlikely file descriptor leaks.
diff --git a/src/keyboard.c b/src/keyboard.c
index 07dce85ff29..f025d6c5dfa 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -4066,7 +4066,7 @@ kbd_buffer_get_event (KBOARD **kbp,
4066 } 4066 }
4067 else if (event->kind == FOCUS_OUT_EVENT) 4067 else if (event->kind == FOCUS_OUT_EVENT)
4068 { 4068 {
4069#if defined(HAVE_NS) || defined (HAVE_X11) 4069#if defined (HAVE_NS) || defined (HAVE_X11) || defined (WINDOWSNT)
4070 4070
4071#ifdef HAVE_NS 4071#ifdef HAVE_NS
4072 struct ns_display_info *di; 4072 struct ns_display_info *di;
@@ -4076,11 +4076,11 @@ kbd_buffer_get_event (KBOARD **kbp,
4076 Lisp_Object frame = event->frame_or_window; 4076 Lisp_Object frame = event->frame_or_window;
4077 bool focused = false; 4077 bool focused = false;
4078 4078
4079 for (di = x_display_list; di && ! focused; di = di->next) 4079 for (di = x_display_list; di && ! focused; di = FRAME_X_DISPLAY_INFO (di)->next)
4080 focused = di->x_highlight_frame != 0; 4080 focused = FRAME_X_DISPLAY_INFO (di)->x_highlight_frame = 0;
4081 4081
4082 if (! focused) obj = make_lispy_focus_out (frame); 4082 if (! focused) obj = make_lispy_focus_out (frame);
4083#endif /* HAVE_NS || HAVE_X11 */ 4083#endif /* HAVE_NS || HAVE_X11 || WINDOWSNT */
4084 4084
4085 kbd_fetch_ptr = event + 1; 4085 kbd_fetch_ptr = event + 1;
4086 } 4086 }
diff --git a/src/w32term.c b/src/w32term.c
index 732a4f4bfef..2fe3fe07462 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -2912,9 +2912,15 @@ x_focus_changed (int type, int state, struct w32_display_info *dpyinfo,
2912 && CONSP (Vframe_list) 2912 && CONSP (Vframe_list)
2913 && !NILP (XCDR (Vframe_list))) 2913 && !NILP (XCDR (Vframe_list)))
2914 { 2914 {
2915 bufp->kind = FOCUS_IN_EVENT; 2915 bufp->arg = Qt;
2916 XSETFRAME (bufp->frame_or_window, frame);
2917 } 2916 }
2917 else
2918 {
2919 bufp->arg = Qnil;
2920 }
2921
2922 bufp->kind = FOCUS_IN_EVENT;
2923 XSETFRAME (bufp->frame_or_window, frame);
2918 } 2924 }
2919 2925
2920 frame->output_data.x->focus_state |= state; 2926 frame->output_data.x->focus_state |= state;
@@ -2929,7 +2935,10 @@ x_focus_changed (int type, int state, struct w32_display_info *dpyinfo,
2929 { 2935 {
2930 dpyinfo->w32_focus_event_frame = 0; 2936 dpyinfo->w32_focus_event_frame = 0;
2931 x_new_focus_frame (dpyinfo, 0); 2937 x_new_focus_frame (dpyinfo, 0);
2932 } 2938
2939 bufp->kind = FOCUS_OUT_EVENT;
2940 XSETFRAME (bufp->frame_or_window, frame);
2941 }
2933 2942
2934 /* TODO: IME focus? */ 2943 /* TODO: IME focus? */
2935 } 2944 }