gkrellm crashes because it cannot read pixmap in _XSETROOT_ID generated by xfwm4
Submitted by ada..@..tz.org
Assigned to Xfce Bug Triage
Description
This is from https://bugzilla.redhat.com/show_bug.cgi?id=1672117
gkrellm has the old-school pseudo-transparency mode where it can read the root background and display it as part of its background. It does this by reading the pixmap in _XSETROOT_ID. For some reason, recent xfwm4 sets a bad pixmap for _XSETROOT_ID, which crashes gkrellm. I believe this happened as part of the work on https://bugzilla.xfce.org/show_bug.cgi?id=15709.
Here is what you get from gkrellm when it tries to read the background:
(gkrellm:3773): Gdk-ERROR **: 19:08:34.988: The program 'gkrellm' received an X Window System error. This probably reflects a bug in the program. The error was 'BadPixmap (invalid Pixmap parameter)'. (Details: serial 2494 error_code 4 request_code 56 minor_code 0) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) Trace/breakpoint trap (core dumped)
I think maybe it is as simple as setting _XSETROOT_ID to 0x0, which is what happens after I run fvwm-root. I don't really know all the semantics. https://metacpan.org/pod/X11::Protocol::XSetRoot seemed to be a useful document.
Version: 4.14.0