+2014-06-30 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsmenu.m (update_frame_tool_bar): Set wait_for_tool_bar to NO
+ when setNeedsDisplay is called so we don't trigger redisplay for every
+ tool bar update.
+
+ * nsterm.m (any_help_event_p): New variable.
+ (mouseMoved:): Set any_help_event_p to YES if help event is
+ generated. Remove else with empty help event that triggered redisplay
+ for every mouse move.
+ (windowDidResignKey:): If any_help_event_p, generate empty help
+ event.
+
2014-06-29 Dmitry Antipov <dmantipov@yandex.ru>
* xfns.c (Qsuppress_icon): Remove; no real users.
static BOOL ns_do_open_file = NO;
static BOOL ns_last_use_native_fullscreen;
+/* Non-zero means that a HELP_EVENT has been generated since Emacs
+ start. */
+
+static BOOL any_help_event_p = NO;
+
static struct {
struct input_event *q;
int nr, cap;
/* NOTE: help_echo_{window,pos,object} are set in xdisp.c
(note_mouse_highlight), which is called through the
note_mouse_movement () call above */
+ any_help_event_p = YES;
gen_help_event (help_echo_string, frame, help_echo_window,
help_echo_object, help_echo_pos);
}
- else
- {
- help_echo_string = Qnil;
- gen_help_event (Qnil, frame, Qnil, Qnil, 0);
- }
if (emacsframe->mouse_moved && send_appdefined)
ns_send_appdefined (-1);
x_set_frame_alpha (emacsframe);
}
+ if (any_help_event_p)
+ {
+ Lisp_Object frame;
+ XSETFRAME (frame, emacsframe);
+ help_echo_string = Qnil;
+ gen_help_event (Qnil, frame, Qnil, Qnil, 0);
+ }
+
if (emacs_event && is_focus_frame)
{
[self deleteWorkingText];