This is really a workaround patch, the proper fix would be to have WindowMaker know about Composite, and take advantage of its features.
Author: Paulo Cesar Pereira de Andrade <[email protected]> (transplanted from ce1b81cb49375becb2268da560cb586f9aaf7bb6) src/main.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-)
# HG changeset patch # User John H. Robinson, IV <[email protected]> # Date 1225082572 25200 # Node ID 14b34aa3c4b19b45899b82fd9ecd4afc9048fece # Parent 24b27834385dc0d0224f4da821153eb8775477ba Workaround for Composite problems when default depth is not 24. This is really a workaround patch, the proper fix would be to have WindowMaker know about Composite, and take advantage of its features. Author: Paulo Cesar Pereira de Andrade <[email protected]> (transplanted from ce1b81cb49375becb2268da560cb586f9aaf7bb6) diff --git a/src/main.c b/src/main.c --- a/src/main.c +++ b/src/main.c @@ -751,6 +751,16 @@ exit(1); } + if (wVisualID < 0) + /* + * If unspecified, use default visual instead of waiting + * for wrlib/context.c:bestContext() that may end up choosing + * the "fake" 24 bits added by the Composite extension. + * This is required to avoid all sort of corruptions when + * composite is enabled, and at a depth other than 24. + */ + wVisualID = (int)DefaultVisual(dpy, DefaultScreen(dpy))->visualid; + /* check if the user specified a complete display name (with screen). * If so, only manage the specified screen */ if (DisplayName)
