* Excessive redraw of tool bar lines
@ 2005-11-12 3:05 YAMAMOTO Mitsuharu
0 siblings, 0 replies; only message in thread
From: YAMAMOTO Mitsuharu @ 2005-11-12 3:05 UTC (permalink / raw)
I found that the rightmost icons and the trailing spaces in the tool
bar lines are drawn on every redraw (except simple cursor motions)
even when the tool bar items are not changed. I think it also occurs
in the usual text lines where the face is extended to the end of line.
Does the following patch do the right thing?
BTW, "Quartz Debug.app" on Mac OS X is useful to find such a needless
redraw.
YAMAMOTO Mitsuharu
mituharu@math.s.chiba-u.ac.jp
Index: src/dispnew.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/dispnew.c,v
retrieving revision 1.358
diff -c -r1.358 dispnew.c
*** src/dispnew.c 7 Oct 2005 21:47:49 -0000 1.358
--- src/dispnew.c 12 Nov 2005 02:53:00 -0000
***************
*** 4361,4367 ****
/* If the desired row extends its face to the text area end,
make sure we write at least one glyph, so that the face
extension actually takes place. */
! if (MATRIX_ROW_EXTENDS_FACE_P (desired_row))
--desired_stop_pos;
stop = min (current_row->used[TEXT_AREA], desired_stop_pos);
--- 4361,4370 ----
/* If the desired row extends its face to the text area end,
make sure we write at least one glyph, so that the face
extension actually takes place. */
! if (MATRIX_ROW_EXTENDS_FACE_P (desired_row)
! && (desired_stop_pos < current_row->used[TEXT_AREA]
! || (desired_stop_pos == current_row->used[TEXT_AREA]
! && !MATRIX_ROW_EXTENDS_FACE_P (current_row))))
--desired_stop_pos;
stop = min (current_row->used[TEXT_AREA], desired_stop_pos);
***************
*** 4480,4486 ****
has to be cleared, if and only if we did a write_glyphs
above. This is made sure by setting desired_stop_pos
appropriately above. */
! xassert (i < desired_row->used[TEXT_AREA]);
}
else if (MATRIX_ROW_EXTENDS_FACE_P (current_row))
{
--- 4483,4492 ----
has to be cleared, if and only if we did a write_glyphs
above. This is made sure by setting desired_stop_pos
appropriately above. */
! xassert (i < desired_row->used[TEXT_AREA]
! || ((desired_row->used[TEXT_AREA]
! == current_row->used[TEXT_AREA])
! && MATRIX_ROW_EXTENDS_FACE_P (current_row)));
}
else if (MATRIX_ROW_EXTENDS_FACE_P (current_row))
{
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-11-12 3:05 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-11-12 3:05 Excessive redraw of tool bar lines YAMAMOTO Mitsuharu
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.