Fix some memory leaks

This commit is contained in:
BenCat07 2018-05-22 17:43:37 +02:00
parent a8fc8b75b1
commit aa37e735a7
6 changed files with 9 additions and 7 deletions

View File

@ -54,4 +54,5 @@
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/> <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</storageModule> </storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/> <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
</cproject> </cproject>

View File

@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuildCommandParser" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser" keep-relative-paths="false" name="CDT GCC Build Output Parser" parameter="(g?cc)|([gc]\+\+)|(clang)" prefer-non-shared="true"/> <provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuildCommandParser" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser" keep-relative-paths="false" name="CDT GCC Build Output Parser" parameter="(g?cc)|([gc]\+\+)|(clang)" prefer-non-shared="true"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="1065738691104269017" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true"> <provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-399610185494826542" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/> <language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/> <language-scope id="org.eclipse.cdt.core.g++"/>
</provider> </provider>

View File

@ -540,6 +540,6 @@ int main(int argc, char **argv)
fprintf(file, "#ifdef __cplusplus\n" fprintf(file, "#ifdef __cplusplus\n"
"}\n" "}\n"
"#endif\n"); "#endif\n");
fclose(file);
return 0; return 0;
} }

View File

@ -93,6 +93,7 @@ void text_buffer_printf(text_buffer_t *self, vec2 *pen, ...)
markup = va_arg(args, markup_t *); markup = va_arg(args, markup_t *);
if (markup == NULL) if (markup == NULL)
{ {
va_end(args);
return; return;
} }
text = va_arg(args, char *); text = va_arg(args, char *);

View File

@ -77,7 +77,6 @@ void glez_font_string_size(glez_font_t font, const char *string, float *out_x,
/* Texture-related functions */ /* Texture-related functions */
#define GLEZ_TEXTURE_COUNT 64
#define GLEZ_TEXTURE_INVALID ((glez_texture_t) 0xFFFFFFFF) #define GLEZ_TEXTURE_INVALID ((glez_texture_t) 0xFFFFFFFF)
glez_texture_t glez_texture_load_png_rgba(const char *path); glez_texture_t glez_texture_load_png_rgba(const char *path);

View File

@ -19,7 +19,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <libpng/png.h> #include <libpng/png.h>
static internal_texture_t loaded_textures[GLEZ_TEXTURE_COUNT]; static internal_texture_t loaded_textures[64];
void internal_textures_init() void internal_textures_init()
{ {
@ -60,6 +60,7 @@ int internal_texture_load_png_rgba(const char *name, internal_texture_t *out)
if (setjmp(png_jmpbuf(pngstr))) if (setjmp(png_jmpbuf(pngstr)))
{ {
png_destroy_read_struct(&pngstr, &pnginfo, &pngend); png_destroy_read_struct(&pngstr, &pnginfo, &pngend);
fclose(file);
return -1; return -1;
} }
png_init_io(pngstr, file); png_init_io(pngstr, file);
@ -112,7 +113,7 @@ int internal_texture_load_png_rgba(const char *name, internal_texture_t *out)
internal_texture_t *internal_texture_get(glez_texture_t handle) internal_texture_t *internal_texture_get(glez_texture_t handle)
{ {
assert(handle < GLEZ_TEXTURE_COUNT); assert(handle < 64);
assert(loaded_textures[handle].init); assert(loaded_textures[handle].init);
return &loaded_textures[handle]; return &loaded_textures[handle];
@ -151,7 +152,7 @@ glez_texture_t glez_texture_load_png_rgba(const char *path)
return GLEZ_TEXTURE_INVALID; return GLEZ_TEXTURE_INVALID;
} }
for (glez_texture_t i = 0; i < GLEZ_TEXTURE_COUNT; ++i) for (glez_texture_t i = 0; i < 64; ++i)
{ {
if (loaded_textures[i].init == 0) if (loaded_textures[i].init == 0)
{ {