Comparing hash values is the Wrong thing to do if any extra updates cause
flickering.
Instead, keep around a copy of the whole subwindow structure (e.g. in a weak
hash table) and compare them with `equal'.
ben
Andy Piper wrote:
At 05:23 PM 3/6/00 -0800, Martin Buchholz wrote:
>>>>>> "Andy" == Andy Piper <andy(a)xemacs.org> writes:
>
>>> I still get annoying flickering on each mouse event if I do M-x occur
>>> followed by moving the mouse around in the *Occur* buffer.
Ok, try this. I think this is the Right Fix.
andy
2000-03-08 Andy Piper <andy(a)xemacs.org>
* gutter.c (output_gutter): add some debug.
* glyphs.h (struct Lisp_Image_Instance): add display_hash.
(IMAGE_INSTANCE_DISPLAY_HASH): new macro.
(XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
* redisplay-output.c (compare_runes): use display_hash to
determine if glyphs really are not the same.
* glyphs.c (update_subwindow): check display_hash to see if
anything really needs to be updated. If not then do
nothing. Record the display_hash after updating.
(image_instance_equal): compare the image_instance face also.
------------------------------------------------------------------------
Name: flick.patch
flick.patch Type: Plain Text (text/plain)
Encoding: quoted-printable
------------------------------------------------------------------------
--------------------------------------------------------------
Dr Andy Piper
Senior Consultant Architect, BEA Systems Ltd
--
Ben
In order to save my hands, I am cutting back on my mail. I also write
as succinctly as possible -- please don't be offended. If you send me
mail, you _will_ get a response, but please be patient, especially for
XEmacs-related mail. If you need an immediate response and it is not
apparent in your message, please say so. Thanks for your understanding.
See also
http://www.666.com/ben/typing.html.