[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] trunk r117450: Remove unnecessary redisplays in NS port.
From: |
Jan D. |
Subject: |
[Emacs-diffs] trunk r117450: Remove unnecessary redisplays in NS port. |
Date: |
Mon, 30 Jun 2014 12:38:14 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 117450
revision-id: address@hidden
parent: address@hidden
committer: Jan D. <address@hidden>
branch nick: trunk
timestamp: Mon 2014-06-30 14:38:09 +0200
message:
Remove unnecessary redisplays in NS port.
* 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.
modified:
src/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1438
src/nsmenu.m nsmenu.m-20091113204419-o5vbwnq5f7feedwu-8744
src/nsterm.m nsterm.m-20091113204419-o5vbwnq5f7feedwu-8747
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2014-06-29 16:12:08 +0000
+++ b/src/ChangeLog 2014-06-30 12:38:09 +0000
@@ -1,3 +1,16 @@
+2014-06-30 Jan Djärv <address@hidden>
+
+ * 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 <address@hidden>
* xfns.c (Qsuppress_icon): Remove; no real users.
=== modified file 'src/nsmenu.m'
--- a/src/nsmenu.m 2014-06-04 14:59:09 +0000
+++ b/src/nsmenu.m 2014-06-30 12:38:09 +0000
@@ -1152,7 +1152,10 @@
FRAME_TOOLBAR_HEIGHT (f) = 0;
if (view->wait_for_tool_bar && FRAME_TOOLBAR_HEIGHT (f) > 0)
+ {
+ view->wait_for_tool_bar = NO;
[view setNeedsDisplay: YES];
+ }
unblock_input ();
}
=== modified file 'src/nsterm.m'
--- a/src/nsterm.m 2014-06-11 17:57:51 +0000
+++ b/src/nsterm.m 2014-06-30 12:38:09 +0000
@@ -283,6 +283,11 @@
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;
@@ -5688,14 +5693,10 @@
/* 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);
@@ -5973,6 +5974,14 @@
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];
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r117450: Remove unnecessary redisplays in NS port.,
Jan D. <=