diff options
| author | Andrew Innes | 2000-12-21 14:58:55 +0000 |
|---|---|---|
| committer | Andrew Innes | 2000-12-21 14:58:55 +0000 |
| commit | 99012074ba9561666dd32d3f6645b8f29c7a444b (patch) | |
| tree | 8a6fe8f2eeb0d5306a3a2d40d853ada115084733 /src | |
| parent | 90f4a9f8e2a4424d1ff19208aa088cfdf6fa4df9 (diff) | |
| download | emacs-99012074ba9561666dd32d3f6645b8f29c7a444b.tar.gz emacs-99012074ba9561666dd32d3f6645b8f29c7a444b.zip | |
(x_update_begin): Regenerate the palette here, rather
than for each window.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 9 | ||||
| -rw-r--r-- | src/w32term.c | 23 |
2 files changed, 19 insertions, 13 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 21915f30049..1001433b82d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2000-12-21 Andrew Innes <andrewi@gnu.org> | ||
| 2 | |||
| 3 | * w32term.c (x_update_begin): Regenerate the palette here, rather | ||
| 4 | than for each window. | ||
| 5 | |||
| 6 | * w32xfns.c (select_palette): Avoid calling SelectPalette if | ||
| 7 | palette is NULL, since this corrupts memory! Also get | ||
| 8 | display_info reference from frame. | ||
| 9 | |||
| 1 | 2000-12-21 Jason Rumney <jasonr@gnu.org> | 10 | 2000-12-21 Jason Rumney <jasonr@gnu.org> |
| 2 | 11 | ||
| 3 | * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap. | 12 | * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap. |
diff --git a/src/w32term.c b/src/w32term.c index cf25b7e1080..c32b71ea1c2 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -544,16 +544,21 @@ w32_clear_window (f) | |||
| 544 | /* Start an update of frame F. This function is installed as a hook | 544 | /* Start an update of frame F. This function is installed as a hook |
| 545 | for update_begin, i.e. it is called when update_begin is called. | 545 | for update_begin, i.e. it is called when update_begin is called. |
| 546 | This function is called prior to calls to x_update_window_begin for | 546 | This function is called prior to calls to x_update_window_begin for |
| 547 | each window being updated. Currently, there is nothing to do here | 547 | each window being updated. */ |
| 548 | because all interesting stuff is done on a window basis. */ | ||
| 549 | 548 | ||
| 550 | static void | 549 | static void |
| 551 | x_update_begin (f) | 550 | x_update_begin (f) |
| 552 | struct frame *f; | 551 | struct frame *f; |
| 553 | { | 552 | { |
| 554 | /* Nothing to do. We have to do something though, otherwise the | 553 | struct w32_display_info *display_info = FRAME_W32_DISPLAY_INFO (f); |
| 555 | function gets optimized away and the hook is no longer valid. */ | 554 | |
| 556 | struct frame *cf = f; | 555 | /* Regenerate display palette before drawing if list of requested |
| 556 | colors has changed. */ | ||
| 557 | if (display_info->regen_palette) | ||
| 558 | { | ||
| 559 | w32_regenerate_palette (f); | ||
| 560 | display_info->regen_palette = FALSE; | ||
| 561 | } | ||
| 557 | } | 562 | } |
| 558 | 563 | ||
| 559 | 564 | ||
| @@ -573,14 +578,6 @@ x_update_window_begin (w) | |||
| 573 | 578 | ||
| 574 | BLOCK_INPUT; | 579 | BLOCK_INPUT; |
| 575 | 580 | ||
| 576 | /* Regenerate display palette before drawing if list of requested | ||
| 577 | colors has changed. */ | ||
| 578 | if (display_info->regen_palette) | ||
| 579 | { | ||
| 580 | w32_regenerate_palette (f); | ||
| 581 | display_info->regen_palette = FALSE; | ||
| 582 | } | ||
| 583 | |||
| 584 | if (f == display_info->mouse_face_mouse_frame) | 581 | if (f == display_info->mouse_face_mouse_frame) |
| 585 | { | 582 | { |
| 586 | /* Don't do highlighting for mouse motion during the update. */ | 583 | /* Don't do highlighting for mouse motion during the update. */ |