From fa05a42f5a35eb12fe5b57daad67299923a01fc1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net>
Date: Tue, 7 Jan 2025 04:14:30 -0500
Subject: [PATCH] Fix initial setting of _NET_WM_ICON

Previously, did not include the size, so was a 0x0 icon.
---
 src/conio/x_events.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/conio/x_events.c b/src/conio/x_events.c
index 5b27131904..6eb812791f 100644
--- a/src/conio/x_events.c
+++ b/src/conio/x_events.c
@@ -1077,7 +1077,14 @@ static int init_window()
 		x11.XSetWMProperties(dpy, win, NULL, NULL, 0, 0, NULL, wmhints, classhints);
 		x11.XFree(wmhints);
 	}
-	set_win_property(ATOM__NET_WM_ICON, XA_CARDINAL, 32, PropModeReplace, ciolib_initial_icon, ciolib_initial_icon_width * ciolib_initial_icon_width);
+	uint32_t *tmp_icon = malloc(ciolib_initial_icon_width * ciolib_initial_icon_width * 4 + 2);
+	if (tmp_icon) {
+		memcpy(&tmp_icon[2], ciolib_initial_icon, ciolib_initial_icon_width * ciolib_initial_icon_width);
+		tmp_icon[0] = ciolib_initial_icon_width;
+		tmp_icon[1] = ciolib_initial_icon_width;
+		set_win_property(ATOM__NET_WM_ICON, XA_CARDINAL, 32, PropModeReplace, tmp_icon, ciolib_initial_icon_width * ciolib_initial_icon_width + 2);
+		free(tmp_icon);
+	}
 
 	pid_l = getpid();
 	set_win_property(ATOM__NET_WM_PID, XA_CARDINAL, 32, PropModeReplace, &pid_l, 1);
-- 
GitLab