From: Benjamin Otte Date: Tue, 7 Nov 2017 11:22:48 +0000 (+0100) Subject: x11: Correctly set icons X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~23^2~822 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=2177b191ba54abb10a13029751f4ae7ed150dfbc;p=gtk4.git x11: Correctly set icons X11 obviously doesn't use 4 bytes for a 4 bytes pixel. Rather, it uses unsigned long, which happens to be 8 bytes these days. --- diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index d4be4efd4f..a9f31fd65a 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -3241,7 +3241,7 @@ gdk_x11_window_set_icon_list (GdkWindow *window, gint width, height; GdkTexture *texture; GdkDisplay *display; - gint n; + gint i, n; if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL_OR_FOREIGN (window)) @@ -3280,6 +3280,12 @@ gdk_x11_window_set_icon_list (GdkWindow *window, *p++ = height; gdk_texture_download (texture, (guchar *) p, width * 4); + if (sizeof (gulong) > 4) + { + i = width * height; + while (i-- > 0) + p[i] = ((guint32 *) p)[i]; + } p += width * height; n--;