diff --git a/src/conio/x_events.c b/src/conio/x_events.c index 5b2713190437c38ea7c2ab3703ccc8516abf2135..6eb812791fd373e41cfc52ad50de1c438dc74d3c 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);