the last parameter of XChangeProperty is the number of elements.. and when the element format is 32.. the element is "long" so we have 5 long elements here.

Yes this seems confusing as on mac+linux Long is either 32 or 64bits depending on the architecture, but this is how the X11 protocol is defined. Thus 5 is the correct value for the nelts here.  Not 5 or 10 depending on the architecture.

More info on the confusion https://bugs.freedesktop.org/show_bug.cgi?id=16802
This commit is contained in:
Edward Rudd 2015-02-10 16:28:56 -05:00
parent f72cfa3696
commit 8731123738

View File

@ -333,7 +333,7 @@ SetWindowBordered(Display *display, int screen, Window window, SDL_bool border)
X11_XChangeProperty(display, window, WM_HINTS, WM_HINTS, 32,
PropModeReplace, (unsigned char *) &MWMHints,
sizeof(MWMHints) / 4);
sizeof(MWMHints) / sizeof(long));
} else { /* set the transient hints instead, if necessary */
X11_XSetTransientForHint(display, window, RootWindow(display, screen));
}