diff --git a/src/emu/video.c b/src/emu/video.c index b81604c9847..49a7c02ea22 100644 --- a/src/emu/video.c +++ b/src/emu/video.c @@ -310,8 +310,9 @@ void video_manager::save_snapshot(screen_device *screen, emu_file &file) png_add_text(&pnginfo, "System", text2); // now do the actual work - const rgb_t *palette = (screen->palette() != NULL) ? screen->palette()->palette()->entry_list_adjusted() : NULL; - png_error error = png_write_bitmap(file, &pnginfo, m_snap_bitmap, screen->palette()->entries(), palette); + const rgb_t *palette = (screen !=NULL && screen->palette() != NULL) ? screen->palette()->palette()->entry_list_adjusted() : NULL; + int entries = (screen !=NULL && screen->palette() != NULL) ? screen->palette()->entries() : 0; + png_error error = png_write_bitmap(file, &pnginfo, m_snap_bitmap, entries, palette); if (error != PNGERR_NONE) mame_printf_error("Error generating PNG for snapshot: png_error = %d\n", error);