summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/core.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/core.c b/src/core.c
index 94571599..7876325b 100644
--- a/src/core.c
+++ b/src/core.c
@@ -763,18 +763,21 @@ void ToggleFullscreen(void)
void SetWindowIcon(Image image)
{
#if defined(PLATFORM_DESKTOP)
- ImageFormat(&image, UNCOMPRESSED_R8G8B8A8);
+ Image imicon = ImageCopy(image);
+ ImageFormat(&imicon, UNCOMPRESSED_R8G8B8A8);
- GLFWimage icon[1];
+ GLFWimage imicon[1] = { 0 };
- icon[0].width = image.width;
- icon[0].height = image.height;
- icon[0].pixels = (unsigned char *)image.data;
+ icon[0].width = imicon.width;
+ icon[0].height = imicon.height;
+ icon[0].pixels = (unsigned char *)imicon.data;
- // NOTE: We only support one image icon
+ // NOTE 1: We only support one image icon
+ // NOTE 2: The specified image data is copied before this function returns
glfwSetWindowIcon(window, 1, icon);
// TODO: Support multi-image icons --> image.mipmaps
+ UnloadImage(imicon);
#endif
}