# HG changeset patch # User Andrew Innes # Date 977410711 0 # Node ID d140f5fb33071163f6d89fac3e7cfaa396cdd3f5 # Parent 9c0d7d8966820d7efa3b8dcac74bbcfef596c2c4 (x_update_begin): Regenerate the palette here, rather than for each window. diff -r 9c0d7d896682 -r d140f5fb3307 src/w32term.c --- a/src/w32term.c Thu Dec 21 14:58:09 2000 +0000 +++ b/src/w32term.c Thu Dec 21 14:58:31 2000 +0000 @@ -544,16 +544,21 @@ /* Start an update of frame F. This function is installed as a hook for update_begin, i.e. it is called when update_begin is called. This function is called prior to calls to x_update_window_begin for - each window being updated. Currently, there is nothing to do here - because all interesting stuff is done on a window basis. */ + each window being updated. */ static void x_update_begin (f) struct frame *f; { - /* Nothing to do. We have to do something though, otherwise the - function gets optimized away and the hook is no longer valid. */ - struct frame *cf = f; + struct w32_display_info *display_info = FRAME_W32_DISPLAY_INFO (f); + + /* Regenerate display palette before drawing if list of requested + colors has changed. */ + if (display_info->regen_palette) + { + w32_regenerate_palette (f); + display_info->regen_palette = FALSE; + } } @@ -573,14 +578,6 @@ BLOCK_INPUT; - /* Regenerate display palette before drawing if list of requested - colors has changed. */ - if (display_info->regen_palette) - { - w32_regenerate_palette (f); - display_info->regen_palette = FALSE; - } - if (f == display_info->mouse_face_mouse_frame) { /* Don't do highlighting for mouse motion during the update. */