diff --git a/src/ChangeLog b/src/ChangeLog index c1e29dd206c..2c142c5edb7 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -8,7 +8,8 @@ * cmds.c (Fself_insert_command): Use SELECTED_FRAME. * keyboard.c (gobble_input): If there is no terminal input error, make sure the pointer is visible for all frames on this terminal. - * xterm.c (x_free_frame_resources): Always enable pointer visibility. + * xterm.c (x_free_frame_resources): Enable pointer visibility if + it was previously disabled. 2014-05-28 Stefan Monnier diff --git a/src/xterm.c b/src/xterm.c index 6ee764aeebc..ed5d0382eae 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -9235,7 +9235,8 @@ x_free_frame_resources (struct frame *f) { /* Always exit with visible pointer to avoid weird issue with Xfixes (Bug#17609). */ - FRAME_DISPLAY_INFO (f)->toggle_visible_pointer (f, 0); + if (f->pointer_invisible) + FRAME_DISPLAY_INFO (f)->toggle_visible_pointer (f, 0); /* We must free faces before destroying windows because some font-driver (e.g. xft) access a window while finishing a