Package: eterm Version: 0.9.6-1 Severity: normal Tags: patch File: /usr/bin/Esetroot
If the default visual on a screen is PseudoColor then Esetroot gets an error. This can be seen with the Xvfb test server, xvfb-run -a -s '-cc 33' Esetroot /usr/share/Eterm/pix/tile/circuit.jpg => X Error of failed request: BadColor (invalid Colormap parameter) Major opcode of failed request: 84 (X_AllocColor) Resource id in failed request: 0x0 Serial number of failed request: 10 Current serial number in output stream: 10 gdb "break exit" shows #0 __GI_exit (status=status@entry=1) at exit.c:98 #1 0xb7e5be6e in _XDefaultError (dpy=0x804d008, event=0xbfffeecc) at ../../src/XlibInt.c:1414 #2 0xb7e5bfa6 in _XError (dpy=dpy@entry=0x804d008, rep=rep@entry=0x805c6b8) at ../../src/XlibInt.c:1463 #3 0xb7e58ca6 in handle_error (dpy=dpy@entry=0x804d008, err=0x805c6b8, in_XReply=in_XReply@entry=1) at ../../src/xcb_io.c:213 #4 0xb7e59ea3 in _XReply (dpy=dpy@entry=0x804d008, rep=rep@entry=0xbffff000, extra=extra@entry=0, discard=discard@entry=1) at ../../src/xcb_io.c:699 #5 0xb7e3e490 in XAllocColor (dpy=0x804d008, cmap=0, def=0xbffff084) at ../../src/GetHColor.c:48 #6 0xb7f6e27a in ?? () from /usr/lib/i386-linux-gnu/libImlib2.so.1 #7 0xb7f6f310 in ?? () from /usr/lib/i386-linux-gnu/libImlib2.so.1 #8 0xb7f70bdb in ?? () from /usr/lib/i386-linux-gnu/libImlib2.so.1 #9 0xb7f70c88 in ?? () from /usr/lib/i386-linux-gnu/libImlib2.so.1 #10 0xb7f85ec2 in ?? () from /usr/lib/i386-linux-gnu/libImlib2.so.1 #11 0xb7f70f61 in ?? () from /usr/lib/i386-linux-gnu/libImlib2.so.1 #12 0xb7f6022b in imlib_render_pixmaps_for_whole_image_at_size () from /usr/lib/i386-linux-gnu/libImlib2.so.1 #13 0x08049648 in ?? () #14 0xb7c8a8c5 in __libc_start_main (main=0x8048ef0, argc=2, ubp_av=0xbffff924, init=0x8049fe0, fini=0x8049fd0, rtld_fini=0xb7fee0c0 <_dl_fini>, stack_end=0xbffff91c) at libc-start.c:260 #15 0x08049b11 in ?? () I think cmap=0 means imlib_context_set_colormap() has not been called. You'd probably like imlib to give some better message there than to call XAllocColor() with cmap=0, but in any case I expect Esetroot should pass the root colormap. I get some joy from the line below.
--- Esetroot.c.orig 2011-03-16 16:16:59.000000000 +1100 +++ Esetroot.c 2013-11-06 06:05:10.000000000 +1100 @@ -180,6 +180,7 @@ } imlib_context_set_display(Xdisplay); imlib_context_set_visual(DefaultVisual(Xdisplay, DefaultScreen(Xdisplay))); + imlib_context_set_colormap(DefaultColormap(Xdisplay, DefaultScreen(Xdisplay))); im = imlib_load_image_immediately(fname); if (!im) { fprintf(stderr, "%s: Unable to load image file \"%s\".\n", *argv, fname);
-- System Information: Debian Release: jessie/sid APT prefers unstable APT policy: (990, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.32-5-686 (SMP w/1 CPU core) Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages eterm depends on: ii libast2 0.7-6+b1 ii libc6 2.17-93 ii libfreetype6 2.4.9-1.1 ii libice6 2:1.0.8-2 ii libimlib2 1.4.5-3 ii libsm6 2:1.2.1-2 ii libx11-6 2:1.6.2-1 ii libxext6 2:1.3.2-1 ii multiarch-support 2.17-93 ii zlib1g 1:1.2.8.dfsg-1 eterm recommends no packages. eterm suggests no packages. -- no debconf information