Loaders: Remove unnecessary calls to __imlib_FreeData()

__imlib_LoadImageWrapper() does it when required so no need for
doing it in every loader.
This commit is contained in:
Kim Woelders 2022-03-29 20:05:48 +02:00
parent 51f683c0c6
commit 3aeceb6a7b
17 changed files with 12 additions and 63 deletions

View File

@ -55,29 +55,21 @@ __imlib_AllocateData(ImlibImage * im)
__EXPORT__ void
__imlib_FreeData(ImlibImage * im)
{
if (im->data)
{
if (im->data_memory_func)
im->data_memory_func(im->data, im->w * im->h * sizeof(uint32_t));
else
free(im->data);
if (!im->data)
return;
im->data = NULL;
}
im->w = 0;
im->h = 0;
if (im->data_memory_func)
im->data_memory_func(im->data, im->w * im->h * sizeof(uint32_t));
else
free(im->data);
im->data = NULL;
}
__EXPORT__ void
__imlib_ReplaceData(ImlibImage * im, unsigned int *new_data)
{
if (im->data)
{
if (im->data_memory_func)
im->data_memory_func(im->data, im->w * im->h * sizeof(uint32_t));
else
free(im->data);
}
__imlib_FreeData(im);
im->data = new_data;
im->data_memory_func = NULL;
}
@ -330,16 +322,9 @@ __imlib_LoadImageWrapper(const ImlibLoader * l, ImlibImage * im, int load_data)
DP("%s: Failed (rc=%d)\n", __func__, rc);
im->w = im->h = 0;
if (im->data)
{
DP("%s: Loader %s: Free im->data\n", __func__, l->formats[0]);
__imlib_FreeData(im);
}
if (im->format)
{
free(im->format);
im->format = NULL;
}
__imlib_FreeData(im);
free(im->format);
im->format = NULL;
}
return rc;

View File

@ -104,8 +104,6 @@ load2(ImlibImage * im, int load_data)
rc = LOAD_SUCCESS;
quit:
if (rc <= 0)
__imlib_FreeData(im);
munmap(fdata, im->fsize);
return rc;

View File

@ -756,8 +756,6 @@ load2(ImlibImage * im, int load_data)
rc = LOAD_SUCCESS;
quit:
if (rc <= 0)
__imlib_FreeData(im);
munmap(fdata, im->fsize);
return rc;

View File

@ -79,8 +79,6 @@ load2(ImlibImage * im, int load_data)
rc = LOAD_SUCCESS;
quit:
if (rc <= 0)
__imlib_FreeData(im);
munmap(fdata, im->fsize);
return rc;

View File

@ -298,8 +298,6 @@ load2(ImlibImage * im, int load_data)
DGifCloseFile(gif);
#endif
if (rc <= 0)
__imlib_FreeData(im);
munmap(fdata, im->fsize);
return rc;

View File

@ -142,9 +142,6 @@ load2(ImlibImage * im, int load_data)
rc = LOAD_SUCCESS;
quit:
if (rc <= 0)
__imlib_FreeData(im);
/* Free memory if it is still allocated.
* Working this way means explicitly setting pointers to NULL if they were
* freed beforehand to avoid freeing twice. */

View File

@ -440,8 +440,6 @@ load2(ImlibImage * im, int load_data)
quit:
ico_delete(&ico);
if (rc <= 0)
__imlib_FreeData(im);
munmap(fdata, im->fsize);
return rc;
}

View File

@ -243,8 +243,6 @@ load2(ImlibImage * im, int load_data)
quit:
jpeg_destroy_decompress(&jds);
free(jdata.data);
if (rc <= 0)
__imlib_FreeData(im);
return rc;
}

View File

@ -561,9 +561,6 @@ load2(ImlibImage * im, int load_data)
* We either had a successful decode, the user cancelled, or we couldn't get
* the memory for im->data or plane[0].
*----------*/
if (rc <= 0)
__imlib_FreeData(im);
free(plane[0]);
freeilbm(&ilbm);

View File

@ -563,8 +563,6 @@ load2(ImlibImage * im, int load_data)
quit:
png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
if (rc <= 0)
__imlib_FreeData(im);
munmap(fdata, im->fsize);
return rc;

View File

@ -463,9 +463,6 @@ load2(ImlibImage * im, int load_data)
free(data);
munmap(fdata, im->fsize);
if (rc == 0)
__imlib_FreeData(im);
return rc;
}

View File

@ -191,8 +191,6 @@ load2(ImlibImage * im, int load_data)
cairo_surface_destroy(surface);
if (cr)
cairo_destroy(cr);
if (rc <= 0)
__imlib_FreeData(im);
if (rsvg)
g_object_unref(rsvg);
munmap(fdata, im->fsize);

View File

@ -462,8 +462,6 @@ load2(ImlibImage * im, int load_data)
rc = LOAD_SUCCESS;
quit:
if (rc <= 0)
__imlib_FreeData(im);
munmap(fdata, im->fsize);
return rc;

View File

@ -346,8 +346,6 @@ load2(ImlibImage * im, int load_data)
quit:
if (rast)
_TIFFfree(rast);
if (rc <= 0)
__imlib_FreeData(im);
if (rgba_image.image)
TIFFRGBAImageEnd((TIFFRGBAImage *) & rgba_image);
if (tif)

View File

@ -96,8 +96,6 @@ load2(ImlibImage * im, int load_data)
rc = LOAD_SUCCESS;
quit:
if (rc <= 0)
__imlib_FreeData(im);
if (demux)
WebPDemuxDelete(demux);
munmap(fdata, im->fsize);

View File

@ -208,8 +208,6 @@ load2(ImlibImage * im, int load_data)
rc = LOAD_SUCCESS;
quit:
if (rc <= 0)
__imlib_FreeData(im);
munmap(fdata, im->fsize);
return rc;

View File

@ -464,9 +464,6 @@ load2(ImlibImage * im, int load_data)
rc = LOAD_SUCCESS;
quit:
if (rc <= 0)
__imlib_FreeData(im);
free(cmap);
free(line);