Index: apps/bootmenu-ipodclassic/main.c |
— | — | @@ -73,76 +73,72 @@ |
74 | 74 | }
|
75 | 75 | close(fd);
|
76 | 76 | }
|
77 | | - if (success && execimage(buffer, false, 1, &theme_arg) != NULL)
|
78 | | - bootinfo.valid = true;
|
| 77 | + if (success && execimage(buffer, false, 1, &theme_arg) != NULL) return;
|
79 | 78 | }
|
80 | 79 |
|
| 80 | + settings_init();
|
| 81 | +
|
| 82 | + struct emcorelib_header* libboot = loadlib(LIBBOOT_IDENTIFIER,
|
| 83 | + LIBBOOT_API_VERSION, "libboot ");
|
| 84 | + boot = (struct libboot_api*)libboot->api;
|
| 85 | +
|
| 86 | + if (!buttons)
|
| 87 | + switch (settings.fastboot_item)
|
| 88 | + {
|
| 89 | + case 1:
|
| 90 | + fastboot_rockbox();
|
| 91 | + break;
|
| 92 | +
|
| 93 | + case 2:
|
| 94 | + fastboot_umsboot();
|
| 95 | + break;
|
| 96 | +
|
| 97 | + case 3:
|
| 98 | + bootinfo.valid = true;
|
| 99 | + break;
|
| 100 | + }
|
| 101 | +
|
81 | 102 | if (!bootinfo.valid)
|
82 | 103 | {
|
83 | | - settings_init();
|
| 104 | + struct emcorelib_header* libpng = loadlib(LIBPNG_IDENTIFIER,
|
| 105 | + LIBPNG_API_VERSION, "libpng ");
|
| 106 | + struct libpng_api* png = (struct libpng_api*)libpng->api;
|
| 107 | + bg = loadpng(png, background_png, background_png_size,
|
| 108 | + (void* (*)(struct png_info*))(png->png_decode_rgb));
|
| 109 | + icons = loadpng(png, icons_png, icons_png_size,
|
| 110 | + (void* (*)(struct png_info*))(png->png_decode_rgba));
|
| 111 | + rbxlogo = loadpng(png, rockbox_png, rockbox_png_size,
|
| 112 | + (void* (*)(struct png_info*))(png->png_decode_rgb));
|
| 113 | + release_library(libpng);
|
| 114 | + library_unload(libpng);
|
84 | 115 |
|
85 | | - struct emcorelib_header* libboot = loadlib(LIBBOOT_IDENTIFIER,
|
86 | | - LIBBOOT_API_VERSION, "libboot ");
|
87 | | - boot = (struct libboot_api*)libboot->api;
|
| 116 | + struct emcorelib_header* libui = loadlib(LIBUI_IDENTIFIER,
|
| 117 | + LIBUI_API_VERSION, "libui ");
|
| 118 | + ui = (struct libui_api*)libui->api;
|
88 | 119 |
|
89 | | - if (!buttons)
|
90 | | - switch (settings.fastboot_item)
|
91 | | - {
|
92 | | - case 1:
|
93 | | - fastboot_rockbox();
|
94 | | - break;
|
95 | | -
|
96 | | - case 2:
|
97 | | - fastboot_umsboot();
|
98 | | - break;
|
99 | | -
|
100 | | - case 3:
|
101 | | - bootinfo.valid = true;
|
102 | | - break;
|
103 | | - }
|
| 120 | + framebuf = malloc(320 * 240 * 3);
|
| 121 | + if (!framebuf) panicf(PANIC_KILLTHREAD, "Could not allocate framebuffer!");
|
| 122 | + framebuf2 = malloc(320 * 240 * 3);
|
| 123 | + if (!framebuf2) panicf(PANIC_KILLTHREAD, "Could not allocate framebuffer 2!");
|
104 | 124 |
|
105 | | - if (!bootinfo.valid)
|
106 | | - {
|
107 | | - struct emcorelib_header* libpng = loadlib(LIBPNG_IDENTIFIER,
|
108 | | - LIBPNG_API_VERSION, "libpng ");
|
109 | | - struct libpng_api* png = (struct libpng_api*)libpng->api;
|
110 | | - bg = loadpng(png, background_png, background_png_size,
|
111 | | - (void* (*)(struct png_info*))(png->png_decode_rgb));
|
112 | | - icons = loadpng(png, icons_png, icons_png_size,
|
113 | | - (void* (*)(struct png_info*))(png->png_decode_rgba));
|
114 | | - rbxlogo = loadpng(png, rockbox_png, rockbox_png_size,
|
115 | | - (void* (*)(struct png_info*))(png->png_decode_rgb));
|
116 | | - release_library(libpng);
|
117 | | - library_unload(libpng);
|
118 | | -
|
119 | | - struct emcorelib_header* libui = loadlib(LIBUI_IDENTIFIER,
|
120 | | - LIBUI_API_VERSION, "libui ");
|
121 | | - ui = (struct libui_api*)libui->api;
|
122 | | -
|
123 | | - framebuf = malloc(320 * 240 * 3);
|
124 | | - if (!framebuf) panicf(PANIC_KILLTHREAD, "Could not allocate framebuffer!");
|
125 | | - framebuf2 = malloc(320 * 240 * 3);
|
126 | | - if (!framebuf2) panicf(PANIC_KILLTHREAD, "Could not allocate framebuffer 2!");
|
| 125 | + mainchooser_init();
|
| 126 | + toolchooser_init();
|
| 127 | + settingchooser_init();
|
| 128 | + confirmchooser_init();
|
| 129 | +
|
| 130 | + run_mainchooser();
|
| 131 | +
|
| 132 | + free(framebuf2);
|
| 133 | + free(framebuf);
|
| 134 | + free(rbxlogo);
|
| 135 | + free(icons);
|
| 136 | + free(bg);
|
| 137 | + release_library(libui);
|
| 138 | + library_unload(libui);
|
| 139 | + }
|
127 | 140 |
|
128 | | - mainchooser_init();
|
129 | | - toolchooser_init();
|
130 | | - settingchooser_init();
|
131 | | - confirmchooser_init();
|
132 | | -
|
133 | | - run_mainchooser();
|
134 | | -
|
135 | | - free(framebuf2);
|
136 | | - free(framebuf);
|
137 | | - free(rbxlogo);
|
138 | | - free(icons);
|
139 | | - free(bg);
|
140 | | - release_library(libui);
|
141 | | - library_unload(libui);
|
142 | | - }
|
143 | | -
|
144 | | - release_library(libboot);
|
145 | | - library_unload(libboot);
|
146 | | - }
|
| 141 | + release_library(libboot);
|
| 142 | + library_unload(libboot);
|
147 | 143 |
|
148 | 144 | if (bootinfo.firmware)
|
149 | 145 | {
|
Index: apps/bootmenu-ipodnano2g/main.c |
— | — | @@ -74,86 +74,82 @@ |
75 | 75 | }
|
76 | 76 | close(fd);
|
77 | 77 | }
|
78 | | - if (success && execimage(buffer, false, 1, &theme_arg) != NULL)
|
79 | | - bootinfo.valid = true;
|
| 78 | + if (success && execimage(buffer, false, 1, &theme_arg) != NULL) return;
|
80 | 79 | }
|
81 | 80 |
|
82 | | - if (!bootinfo.valid)
|
83 | | - {
|
84 | | - settings_init();
|
| 81 | + settings_init();
|
85 | 82 |
|
86 | | - struct emcorelib_header* libboot = loadlib(LIBBOOT_IDENTIFIER,
|
87 | | - LIBBOOT_API_VERSION, "libboot ");
|
88 | | - boot = (struct libboot_api*)libboot->api;
|
| 83 | + struct emcorelib_header* libboot = loadlib(LIBBOOT_IDENTIFIER,
|
| 84 | + LIBBOOT_API_VERSION, "libboot ");
|
| 85 | + boot = (struct libboot_api*)libboot->api;
|
89 | 86 |
|
90 | | - if (!buttons)
|
91 | | - switch (settings.fastboot_item)
|
92 | | - {
|
93 | | - case 1:
|
94 | | - fastboot_crapple();
|
95 | | - break;
|
| 87 | + if (!buttons)
|
| 88 | + switch (settings.fastboot_item)
|
| 89 | + {
|
| 90 | + case 1:
|
| 91 | + fastboot_crapple();
|
| 92 | + break;
|
96 | 93 |
|
97 | | - case 2:
|
98 | | - fastboot_rockbox();
|
99 | | - break;
|
| 94 | + case 2:
|
| 95 | + fastboot_rockbox();
|
| 96 | + break;
|
100 | 97 |
|
101 | | - case 3:
|
102 | | - fastboot_diskmode();
|
103 | | - break;
|
| 98 | + case 3:
|
| 99 | + fastboot_diskmode();
|
| 100 | + break;
|
104 | 101 |
|
105 | | - case 4:
|
106 | | - fastboot_umsboot();
|
107 | | - break;
|
| 102 | + case 4:
|
| 103 | + fastboot_umsboot();
|
| 104 | + break;
|
108 | 105 |
|
109 | | - case 5:
|
110 | | - bootinfo.valid = true;
|
111 | | - break;
|
112 | | - }
|
| 106 | + case 5:
|
| 107 | + bootinfo.valid = true;
|
| 108 | + break;
|
| 109 | + }
|
113 | 110 |
|
114 | | - if (!bootinfo.valid)
|
115 | | - {
|
116 | | - struct emcorelib_header* libpng = loadlib(LIBPNG_IDENTIFIER,
|
117 | | - LIBPNG_API_VERSION, "libpng ");
|
118 | | - struct libpng_api* png = (struct libpng_api*)libpng->api;
|
119 | | - bg = loadpng(png, background_png, background_png_size,
|
120 | | - (void* (*)(struct png_info*))(png->png_decode_rgb));
|
121 | | - icons = loadpng(png, icons_png, icons_png_size,
|
122 | | - (void* (*)(struct png_info*))(png->png_decode_rgba));
|
123 | | - rbxlogo = loadpng(png, rockbox_png, rockbox_png_size,
|
124 | | - (void* (*)(struct png_info*))(png->png_decode_rgb));
|
125 | | - crapple = loadpng(png, crapple_png, crapple_png_size,
|
126 | | - (void* (*)(struct png_info*))(png->png_decode_rgba));
|
127 | | - release_library(libpng);
|
128 | | - library_unload(libpng);
|
| 111 | + if (!bootinfo.valid)
|
| 112 | + {
|
| 113 | + struct emcorelib_header* libpng = loadlib(LIBPNG_IDENTIFIER,
|
| 114 | + LIBPNG_API_VERSION, "libpng ");
|
| 115 | + struct libpng_api* png = (struct libpng_api*)libpng->api;
|
| 116 | + bg = loadpng(png, background_png, background_png_size,
|
| 117 | + (void* (*)(struct png_info*))(png->png_decode_rgb));
|
| 118 | + icons = loadpng(png, icons_png, icons_png_size,
|
| 119 | + (void* (*)(struct png_info*))(png->png_decode_rgba));
|
| 120 | + rbxlogo = loadpng(png, rockbox_png, rockbox_png_size,
|
| 121 | + (void* (*)(struct png_info*))(png->png_decode_rgb));
|
| 122 | + crapple = loadpng(png, crapple_png, crapple_png_size,
|
| 123 | + (void* (*)(struct png_info*))(png->png_decode_rgba));
|
| 124 | + release_library(libpng);
|
| 125 | + library_unload(libpng);
|
129 | 126 |
|
130 | | - struct emcorelib_header* libui = loadlib(LIBUI_IDENTIFIER,
|
131 | | - LIBUI_API_VERSION, "libui ");
|
132 | | - ui = (struct libui_api*)libui->api;
|
| 127 | + struct emcorelib_header* libui = loadlib(LIBUI_IDENTIFIER,
|
| 128 | + LIBUI_API_VERSION, "libui ");
|
| 129 | + ui = (struct libui_api*)libui->api;
|
133 | 130 |
|
134 | | - framebuf = malloc(176 * 132 * 3);
|
135 | | - if (!framebuf) panicf(PANIC_KILLTHREAD, "Could not allocate framebuffer!");
|
136 | | - framebuf2 = malloc(176 * 132 * 3);
|
137 | | - if (!framebuf2) panicf(PANIC_KILLTHREAD, "Could not allocate framebuffer 2!");
|
| 131 | + framebuf = malloc(176 * 132 * 3);
|
| 132 | + if (!framebuf) panicf(PANIC_KILLTHREAD, "Could not allocate framebuffer!");
|
| 133 | + framebuf2 = malloc(176 * 132 * 3);
|
| 134 | + if (!framebuf2) panicf(PANIC_KILLTHREAD, "Could not allocate framebuffer 2!");
|
138 | 135 |
|
139 | | - mainchooser_init();
|
140 | | - toolchooser_init();
|
141 | | - settingchooser_init();
|
142 | | - confirmchooser_init();
|
| 136 | + mainchooser_init();
|
| 137 | + toolchooser_init();
|
| 138 | + settingchooser_init();
|
| 139 | + confirmchooser_init();
|
143 | 140 |
|
144 | | - run_mainchooser();
|
| 141 | + run_mainchooser();
|
145 | 142 |
|
146 | | - free(framebuf2);
|
147 | | - free(framebuf);
|
148 | | - free(rbxlogo);
|
149 | | - free(icons);
|
150 | | - free(bg);
|
151 | | - release_library(libui);
|
152 | | - library_unload(libui);
|
153 | | - }
|
| 143 | + free(framebuf2);
|
| 144 | + free(framebuf);
|
| 145 | + free(rbxlogo);
|
| 146 | + free(icons);
|
| 147 | + free(bg);
|
| 148 | + release_library(libui);
|
| 149 | + library_unload(libui);
|
| 150 | + }
|
154 | 151 |
|
155 | | - release_library(libboot);
|
156 | | - library_unload(libboot);
|
157 | | - }
|
| 152 | + release_library(libboot);
|
| 153 | + library_unload(libboot);
|
158 | 154 |
|
159 | 155 | if (bootinfo.firmware)
|
160 | 156 | {
|