Commit 97e7df27cfed973532d125125c9152ddffadbf64
1 parent
92b72cbc
Force display update on palette change or loadvm
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2915 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
10 additions
and
1 deletions
hw/tcx.c
... | ... | @@ -44,6 +44,8 @@ typedef struct TCXState { |
44 | 44 | |
45 | 45 | static void tcx_screen_dump(void *opaque, const char *filename); |
46 | 46 | static void tcx24_screen_dump(void *opaque, const char *filename); |
47 | +static void tcx_invalidate_display(void *opaque); | |
48 | +static void tcx24_invalidate_display(void *opaque); | |
47 | 49 | |
48 | 50 | /* XXX: unify with vga draw line functions */ |
49 | 51 | static inline unsigned int rgb_to_pixel8(unsigned int r, unsigned int g, unsigned b) |
... | ... | @@ -86,6 +88,10 @@ static void update_palette_entries(TCXState *s, int start, int end) |
86 | 88 | break; |
87 | 89 | } |
88 | 90 | } |
91 | + if (s->depth == 24) | |
92 | + tcx24_invalidate_display(s); | |
93 | + else | |
94 | + tcx_invalidate_display(s); | |
89 | 95 | } |
90 | 96 | |
91 | 97 | static void tcx_draw_line32(TCXState *s1, uint8_t *d, |
... | ... | @@ -391,7 +397,10 @@ static int tcx_load(QEMUFile *f, void *opaque, int version_id) |
391 | 397 | qemu_get_8s(f, &s->dac_index); |
392 | 398 | qemu_get_8s(f, &s->dac_state); |
393 | 399 | update_palette_entries(s, 0, 256); |
394 | - tcx_invalidate_display(s); | |
400 | + if (s->depth == 24) | |
401 | + tcx24_invalidate_display(s); | |
402 | + else | |
403 | + tcx_invalidate_display(s); | |
395 | 404 | |
396 | 405 | return 0; |
397 | 406 | } | ... | ... |