(debian/testing | intel 32bit | xfwm4 4.11.2git)
After updating my build from git master, I found several broken behaviours (although wm is not crashing). I did a git bisect, and found the guilty commit to be "Use 32 unsigned integer for opacity" http://git.xfce.org/xfce/xfwm4/commit/?id=b3b014a3ae58efe9b4eecdc9bd75316eb552e7c1
After some experimentation I found this part of the commit to be causing the problem:
(hints.c line 245)
- *value = *((long *) data) & 0xffffffff;
+ *value = *((long *) data) & ((1L << real_format) - 1);
That mask on the right evaluates correctly only when real_format < 32. Using ((1LL << real_format) - 1) ensures enough width, and then xfwm4 runs okay.
The similar mask on line 510 hasn't caused problems, but may need attention.
Fixed with commit ffc10a0, thanks!