[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r99863: Don't abort try_window with f
From: |
YAMAMOTO Mitsuharu |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r99863: Don't abort try_window with fonts change when showing tooltip (Bug#2423). |
Date: |
Sat, 10 Apr 2010 19:52:30 +0900 |
User-agent: |
Bazaar (2.0.3) |
------------------------------------------------------------
revno: 99863
committer: YAMAMOTO Mitsuharu <address@hidden>
branch nick: trunk
timestamp: Sat 2010-04-10 19:52:30 +0900
message:
Don't abort try_window with fonts change when showing tooltip (Bug#2423).
* dispextern.h (TRY_WINDOW_CHECK_MARGINS)
(TRY_WINDOW_IGNORE_FONTS_CHANGE): New defines.
* xdisp.c (try_window): Change arg from CHECK_MARGINS to FLAGS.
Don't abort with fonts change if TRY_WINDOW_IGNORE_FONTS_CHANGE is
set in FLAGS. Callers with non-zero CHECK_MARGINS changed to use
TRY_WINDOW_CHECK_MARGINS.
* xfns.c (Fx_show_tip): Call try_window with TRY_WINDOW_IGNORE_FONTS_CHANGE.
modified:
src/ChangeLog
src/dispextern.h
src/xdisp.c
src/xfns.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2010-04-10 10:39:16 +0000
+++ b/src/ChangeLog 2010-04-10 10:52:30 +0000
@@ -1,6 +1,15 @@
2010-04-10 YAMAMOTO Mitsuharu <address@hidden>
- * xfns.c (Fx_show_tip): Undo last change.
+ * dispextern.h (TRY_WINDOW_CHECK_MARGINS)
+ (TRY_WINDOW_IGNORE_FONTS_CHANGE): New defines.
+
+ * xdisp.c (try_window): Change arg from CHECK_MARGINS to FLAGS.
+ Don't abort with fonts change if TRY_WINDOW_IGNORE_FONTS_CHANGE is
+ set in FLAGS. Callers with non-zero CHECK_MARGINS changed to use
+ TRY_WINDOW_CHECK_MARGINS.
+
+ * xfns.c (Fx_show_tip): Undo last change. Call try_window with
+ TRY_WINDOW_IGNORE_FONTS_CHANGE (Bug#2423).
2010-04-09 Jan Djärv <address@hidden>
=== modified file 'src/dispextern.h'
--- a/src/dispextern.h 2010-03-31 04:14:08 +0000
+++ b/src/dispextern.h 2010-04-10 10:52:30 +0000
@@ -2974,6 +2974,10 @@
XRectangle *));
#endif
+/* Flags passed to try_window. */
+#define TRY_WINDOW_CHECK_MARGINS (1 << 0)
+#define TRY_WINDOW_IGNORE_FONTS_CHANGE (1 << 1)
+
/* Defined in fringe.c */
int lookup_fringe_bitmap (Lisp_Object);
=== modified file 'src/xdisp.c'
--- a/src/xdisp.c 2010-04-08 21:14:33 +0000
+++ b/src/xdisp.c 2010-04-10 10:52:30 +0000
@@ -14203,7 +14203,7 @@
= try_window_reusing_current_matrix (w)))
{
IF_DEBUG (debug_method_add (w, "1"));
- if (try_window (window, startp, 1) < 0)
+ if (try_window (window, startp, TRY_WINDOW_CHECK_MARGINS) < 0)
/* -1 means we need to scroll.
0 means we need new matrices, but fonts_changed_p
is set in that case, so we will detect it below. */
@@ -14554,13 +14554,15 @@
Value is 1 if successful. It is zero if fonts were loaded during
redisplay which makes re-adjusting glyph matrices necessary, and -1
if point would appear in the scroll margins.
- (We check that only if CHECK_MARGINS is nonzero. */
+ (We check the former only if TRY_WINDOW_IGNORE_FONTS_CHANGE is
+ unset in FLAGS, and the latter only if TRY_WINDOW_CHECK_MARGINS is
+ set in FLAGS.) */
int
-try_window (window, pos, check_margins)
+try_window (window, pos, flags)
Lisp_Object window;
struct text_pos pos;
- int check_margins;
+ int flags;
{
struct window *w = XWINDOW (window);
struct it it;
@@ -14582,12 +14584,12 @@
{
if (display_line (&it))
last_text_row = it.glyph_row - 1;
- if (fonts_changed_p)
+ if (fonts_changed_p && !(flags & TRY_WINDOW_IGNORE_FONTS_CHANGE))
return 0;
}
/* Don't let the cursor end in the scroll margins. */
- if (check_margins
+ if ((flags & TRY_WINDOW_CHECK_MARGINS)
&& !MINI_WINDOW_P (w))
{
int this_scroll_margin;
=== modified file 'src/xfns.c'
--- a/src/xfns.c 2010-04-10 10:39:16 +0000
+++ b/src/xfns.c 2010-04-10 10:52:30 +0000
@@ -5228,7 +5228,7 @@
clear_glyph_matrix (w->desired_matrix);
clear_glyph_matrix (w->current_matrix);
SET_TEXT_POS (pos, BEGV, BEGV_BYTE);
- try_window (FRAME_ROOT_WINDOW (f), pos, 0);
+ try_window (FRAME_ROOT_WINDOW (f), pos, TRY_WINDOW_IGNORE_FONTS_CHANGE);
/* Compute width and height of the tooltip. */
width = height = 0;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r99863: Don't abort try_window with fonts change when showing tooltip (Bug#2423).,
YAMAMOTO Mitsuharu <=