Fix the fix for bug #14901.

src/keyboard.c (kbd_buffer_get_event): Use Display_Info instead of
 unportable 'struct x_display_info'.
 (DISPLAY_LIST_INFO): Delete macro: not needed, since Display_Info
 is a portable type.
This commit is contained in:
Eli Zaretskii 2013-07-19 13:55:36 +03:00
parent ac446ed806
commit 621dd9ac0c
2 changed files with 15 additions and 17 deletions

View file

@ -1,3 +1,10 @@
2013-07-19 Eli Zaretskii <eliz@gnu.org>
* keyboard.c (kbd_buffer_get_event): Use Display_Info instead of
unportable 'struct x_display_info'.
(DISPLAY_LIST_INFO): Delete macro: not needed, since Display_Info
is a portable type.
2013-07-19 Paul Eggert <eggert@cs.ucla.edu>
* sysdep.c [GNU_LINUX]: Fix fd and memory leaks and similar issues.

View file

@ -4066,28 +4066,19 @@ kbd_buffer_get_event (KBOARD **kbp,
}
else if (event->kind == FOCUS_OUT_EVENT)
{
#if defined HAVE_X11 || defined HAVE_NS
# define DISPLAY_LIST_INFO(di) (di)
#elif defined WINDOWSNT
# define DISPLAY_LIST_INFO(di) FRAME_X_DISPLAY_INFO (di)
#endif
#ifdef DISPLAY_LIST_INFO
#ifdef HAVE_WINDOW_SYSTEM
#ifdef HAVE_NS
struct ns_display_info *di;
#else
struct x_display_info *di;
#endif
Display_Info *di;
Lisp_Object frame = event->frame_or_window;
bool focused = false;
for (di = x_display_list;
di && ! focused;
di = DISPLAY_LIST_INFO (di)->next)
focused = DISPLAY_LIST_INFO (di)->x_highlight_frame != 0;
for (di = x_display_list; di && ! focused; di = di->next)
focused = di->x_highlight_frame != 0;
if (! focused) obj = make_lispy_focus_out (frame);
#endif /* DISPLAY_LIST_INFO */
if (!focused)
obj = make_lispy_focus_out (frame);
#endif /* HAVE_WINDOW_SYSTEM */
kbd_fetch_ptr = event + 1;
}