mirror of
https://github.com/Oibaf66/fbzx-wii.git
synced 2024-11-24 09:09:20 +01:00
Fixed freeing image surface and font at exit
This commit is contained in:
parent
1581b79cc7
commit
956c79e747
@ -124,6 +124,20 @@ void VirtualKeyboard_init(SDL_Surface *screen)
|
||||
vkb_is_init = 1;
|
||||
}
|
||||
|
||||
void VirtualKeyboard_fini()
|
||||
{
|
||||
if (vkb_is_init != 1) return;
|
||||
|
||||
SDL_FreeSurface (image_kbd);
|
||||
SDL_FreeSurface (image_sym);
|
||||
SDL_FreeSurface (image_caps);
|
||||
SDL_FreeSurface (image_kbd_small);
|
||||
SDL_FreeSurface (image_sym_small);
|
||||
SDL_FreeSurface (image_caps_small);
|
||||
vkb_is_init = -1;
|
||||
ordenador.vk_is_active=0;
|
||||
}
|
||||
|
||||
void draw_vk()
|
||||
{
|
||||
|
||||
|
@ -45,6 +45,7 @@ typedef struct Virtual_Keyboard
|
||||
} VirtualKeyboard_struct;
|
||||
|
||||
void VirtualKeyboard_init(SDL_Surface *screen);
|
||||
void VirtualKeyboard_fini(void);
|
||||
struct virtkey* get_key();
|
||||
struct virtkey* get_key_internal();
|
||||
void draw_vk();
|
||||
|
@ -39,6 +39,7 @@
|
||||
#include "microdrive.h"
|
||||
#include "menu_sdl.h"
|
||||
#include "tape_browser.h"
|
||||
#include "VirtualKeyboard.h"
|
||||
#include <dirent.h>
|
||||
|
||||
|
||||
@ -611,6 +612,9 @@ void end_system() {
|
||||
if(ordenador.tap_file!=NULL)
|
||||
fclose(ordenador.tap_file);
|
||||
|
||||
VirtualKeyboard_fini();
|
||||
menu_deinit();
|
||||
font_fini();
|
||||
SDL_Quit();
|
||||
|
||||
if (!chdir(path_tmp)) {chdir("/"); remove_dir(path_tmp);} //remove the tmp directory if it exists
|
||||
@ -1409,6 +1413,7 @@ int main(int argc,char *argv[])
|
||||
|
||||
font_init();
|
||||
menu_init(ordenador.screen);
|
||||
VirtualKeyboard_init(ordenador.screen);
|
||||
|
||||
//Load the splash screen
|
||||
if (ordenador.zaurus_mini==0) if (load_zxspectrum_picture()) SDL_FreeSurface (image);
|
||||
|
@ -1465,14 +1465,28 @@ void font_init()
|
||||
free(font_path);
|
||||
}
|
||||
|
||||
void font_fini()
|
||||
{
|
||||
TTF_CloseFont(menu_font16);
|
||||
TTF_CloseFont(menu_font20);
|
||||
TTF_CloseFont(menu_font8);
|
||||
TTF_CloseFont(menu_font10);
|
||||
|
||||
TTF_Quit();
|
||||
}
|
||||
|
||||
void menu_init(SDL_Surface *screen)
|
||||
{
|
||||
real_screen = screen;
|
||||
|
||||
VirtualKeyboard_init(screen);
|
||||
is_inited = 1;
|
||||
}
|
||||
|
||||
void menu_deinit()
|
||||
{
|
||||
real_screen = 0;
|
||||
is_inited = 0;
|
||||
}
|
||||
|
||||
int menu_is_inited(void)
|
||||
{
|
||||
return is_inited;
|
||||
|
@ -62,10 +62,14 @@ int msgInfo(char *text, int duration, SDL_Rect *rc);
|
||||
|
||||
int msgYesNo(char *text, int def,int x, int y);
|
||||
|
||||
void font_init();
|
||||
void font_init(void);
|
||||
|
||||
void font_fini(void);
|
||||
|
||||
void menu_init(SDL_Surface *screen);
|
||||
|
||||
void menu_deinit(void);
|
||||
|
||||
int menu_is_inited(void);
|
||||
|
||||
int ext_matches(const char *name, const char *ext);
|
||||
|
Loading…
Reference in New Issue
Block a user