diff -ur openbox-3.3-rc2/openbox/prop.c openbox-3.3-rc2.bak/openbox/prop.c --- openbox-3.3-rc2/openbox/prop.c 2004-03-21 02:03:00.000000000 +0100 +++ openbox-3.3-rc2.bak/openbox/prop.c 2005-10-12 13:45:58.000000000 +0200 @@ -206,7 +206,7 @@ data[i] = xdata[i]; break; case 16: - ((guint16*)data)[i] = ((guint16*)xdata)[i]; + ((guint16*)data)[i] = ((gushort*)xdata)[i]; break; case 32: ((guint32*)data)[i] = ((gulong*)xdata)[i]; @@ -245,7 +245,7 @@ (*data)[i] = xdata[i]; break; case 16: - ((guint16*)*data)[i] = ((guint16*)xdata)[i]; + ((guint16*)*data)[i] = ((gushort*)xdata)[i]; break; case 32: ((guint32*)*data)[i] = ((gulong*)xdata)[i]; @@ -385,15 +385,27 @@ void prop_set32(Window win, Atom prop, Atom type, guint32 val) { + gulong lval = val; XChangeProperty(ob_display, win, prop, type, 32, PropModeReplace, - (guchar*)&val, 1); + (guchar*)&lval, 1); } void prop_set_array32(Window win, Atom prop, Atom type, guint32 *val, guint num) { + gulong *gval; + int i; + + gval = g_new(gulong, num); + + for(i = 0; i < num; i++) { + gval[i] = val[i]; + } + XChangeProperty(ob_display, win, prop, type, 32, PropModeReplace, - (guchar*)val, num); + (guchar*)gval, num); + + g_free(gval); } void prop_set_string_utf8(Window win, Atom prop, gchar *val)