diff options
author | 2014-03-20 21:30:40 +0000 | |
---|---|---|
committer | 2014-03-20 21:30:40 +0000 | |
commit | 729e588ea148195dcc5ed1ba75d2da8607b023da (patch) | |
tree | ed479d03069a1f83a384a6f7e80b28533a0a0ef7 /src/emu/render.c | |
parent | 7c2f6824e16340348a4296e0dec64c33008e70e8 (diff) |
fix crash with -gamma (nw)
I think this is correct.. or at least more correct than it was, there's no way the existing code could work.
Diffstat (limited to 'src/emu/render.c')
-rw-r--r-- | src/emu/render.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/emu/render.c b/src/emu/render.c index 9bdda5219c7..8f8e2be37cd 100644 --- a/src/emu/render.c +++ b/src/emu/render.c @@ -559,6 +559,8 @@ const rgb_t *render_texture::get_adjusted_palette(render_container &container) // otherwise, ensure we have memory allocated and compute the adjusted result ourself numentries = m_bitmap->palette()->num_colors() * m_bitmap->palette()->num_groups(); m_bcglookup.resize(numentries); + + adjusted = m_bitmap->palette()->entry_list_adjusted(); for (int index = 0; index < numentries; index++) { UINT8 r = container.apply_brightness_contrast_gamma(adjusted[index].r()); @@ -566,6 +568,7 @@ const rgb_t *render_texture::get_adjusted_palette(render_container &container) UINT8 b = container.apply_brightness_contrast_gamma(adjusted[index].b()); m_bcglookup[index] = rgb_t(adjusted[index].a(), r, g, b); } + return m_bcglookup; case TEXFORMAT_RGB32: @@ -751,7 +754,7 @@ const rgb_t *render_container::bcg_lookup_table(int texformat, palette_t *palett { case TEXFORMAT_PALETTE16: case TEXFORMAT_PALETTEA16: - return (palette != NULL && palette == &m_palclient->palette()) ? m_bcglookup : NULL; + return (m_palclient != NULL && palette != NULL && palette == &m_palclient->palette()) ? m_bcglookup : NULL; case TEXFORMAT_RGB32: case TEXFORMAT_ARGB32: |