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=""/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
</cproject>

View File

@ -4,8 +4,8 @@
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<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.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.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="-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.g++"/>
</provider>

View File

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

View File

@ -93,6 +93,7 @@ void text_buffer_printf(text_buffer_t *self, vec2 *pen, ...)
markup = va_arg(args, markup_t *);
if (markup == NULL)
{
va_end(args);
return;
}
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 */
#define GLEZ_TEXTURE_COUNT 64
#define GLEZ_TEXTURE_INVALID ((glez_texture_t) 0xFFFFFFFF)
glez_texture_t glez_texture_load_png_rgba(const char *path);

View File

@ -19,7 +19,7 @@
#include <stdlib.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()
{
@ -60,6 +60,7 @@ int internal_texture_load_png_rgba(const char *name, internal_texture_t *out)
if (setjmp(png_jmpbuf(pngstr)))
{
png_destroy_read_struct(&pngstr, &pnginfo, &pngend);
fclose(file);
return -1;
}
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)
{
assert(handle < GLEZ_TEXTURE_COUNT);
assert(handle < 64);
assert(loaded_textures[handle].init);
return &loaded_textures[handle];
@ -151,7 +152,7 @@ glez_texture_t glez_texture_load_png_rgba(const char *path)
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)
{