diff --git a/desktop_version/src/Graphics.cpp b/desktop_version/src/Graphics.cpp index 177eee53..0be484d1 100644 --- a/desktop_version/src/Graphics.cpp +++ b/desktop_version/src/Graphics.cpp @@ -177,6 +177,7 @@ void Graphics::Makebfont() font_positions[codepoint] = pos; ++pos; } + FILESYSTEM_freeMemory(&charmap); } } @@ -2821,6 +2822,7 @@ bool Graphics::onscreen(int t) } void Graphics::reloadresources() { + grphx.destroy(); grphx = GraphicsResources(); grphx.init(); @@ -2831,7 +2833,6 @@ void Graphics::reloadresources() { } \ name.clear(); - CLEAR_ARRAY(images) CLEAR_ARRAY(tiles) CLEAR_ARRAY(tiles2) CLEAR_ARRAY(tiles3) @@ -2849,6 +2850,8 @@ void Graphics::reloadresources() { maketelearray(); Makebfont(); + images.clear(); + images.push_back(grphx.im_image0); images.push_back(grphx.im_image1); images.push_back(grphx.im_image2); diff --git a/desktop_version/src/GraphicsResources.cpp b/desktop_version/src/GraphicsResources.cpp index d7b2107d..c4f52615 100644 --- a/desktop_version/src/GraphicsResources.cpp +++ b/desktop_version/src/GraphicsResources.cpp @@ -108,7 +108,7 @@ void GraphicsResources::init(void) } -GraphicsResources::~GraphicsResources(void) +void GraphicsResources::destroy(void) { SDL_FreeSurface(im_tiles); SDL_FreeSurface(im_tiles2); diff --git a/desktop_version/src/GraphicsResources.h b/desktop_version/src/GraphicsResources.h index 16c694d7..265e0234 100644 --- a/desktop_version/src/GraphicsResources.h +++ b/desktop_version/src/GraphicsResources.h @@ -7,7 +7,7 @@ class GraphicsResources { public: void init(void); - ~GraphicsResources(void); + void destroy(void); SDL_Surface* im_tiles; SDL_Surface* im_tiles2;