SkinScreen* skin_load_configuration(char* file, int portrait) { //printf("skin_config.c: >> skin_load_configuration\n"); SkinScreen *skin = (SkinScreen*) qemu_mallocz(sizeof(SkinScreen)); if(!skin) return NULL; skin->es = (EmulatedScreen*) qemu_mallocz(sizeof(EmulatedScreen)); //printf("skin_load_configuration 1\n"); if(!skin->es) { qemu_free(skin); return NULL; } skin->config = (SkinConfig*) qemu_mallocz(sizeof(SkinConfig)); //printf("skin_load_configuration 2\n"); if (!skin->config) { qemu_free(skin->es); qemu_free(skin); return NULL; } if (portrait) { skin->rotation_req = skin->rotation = on; } if(skin_load_file(skin, file)) { //printf("skin_config.c: skin_load_configuration, skin loaded '%s'\n", file); qemu_free(skin->config); qemu_free(skin->es); qemu_free(skin); skin = NULL; } if (skin && skin->keyboard.button) skin->keyboard.button->key.state = ESkinBtn_Active; return skin; }
SkinScreen* skin_reload_configuration(SkinScreen *skin, const char *file) { SkinConfig *old_config; old_config = skin->config; skin->config = (SkinConfig*) qemu_mallocz(sizeof(SkinConfig)); if (skin_load_file(skin, file)) { qemu_free(skin->config); skin->config = old_config; return NULL; } skin_layout_free(old_config->landscape); skin_layout_free(old_config->portrait); qemu_free(old_config); qemu_free(skin->path); skin->path = (char *)qemu_malloc(strlen(file) + 1); strcpy(skin->path, file); return skin; }
SkinScreen* skin_load_configuration(const char* file, int portrait) { //printf("skin_config.c: >> skin_load_configuration\n"); SkinScreen *skin = (SkinScreen*) qemu_mallocz(sizeof(SkinScreen)); skin->es = (EmulatedScreen*) qemu_mallocz(sizeof(EmulatedScreen)); //printf("skin_load_configuration 1\n"); skin->config = (SkinConfig*) qemu_mallocz(sizeof(SkinConfig)); //printf("skin_load_configuration 2\n"); if (portrait) skin->rotate_req = skin->rotate = on; skin->zoom_factor = 100; if (skin_load_file(skin, file)) { skin_screen_free(skin); skin = NULL; } else { //printf("skin_config.c: skin_load_configuration, skin loaded '%s'\n", file); skin->path = (char *)qemu_malloc(strlen(file) + 1); strcpy(skin->path, file); } return skin; }