[mcclim-devel] Multi-screen displays with differing depth

Martin ``rydis'' Rydstr|m rydis at cd.chalmers.se
Sun Dec 26 09:14:00 UTC 2004


... cause problems with McCLIM, giving wrong colours. Fix:
---
Index: port.lisp
===================================================================
RCS file: /project/mcclim/cvsroot/mcclim/Backends/CLX/port.lisp,v
retrieving revision 1.100
diff -u -r1.100 port.lisp
--- port.lisp   11 Dec 2004 21:15:22 -0000      1.100
+++ port.lisp   26 Dec 2004 09:09:34 -0000
@@ -1063,8 +1063,7 @@
     (or (gethash color table)
        (setf (gethash color table)
              (multiple-value-bind (r g b) (color-rgb color)
-               (xlib:alloc-color (xlib:screen-default-colormap
-                                  (first (xlib:display-roots (clx-port-display port))))
+               (xlib:alloc-color (xlib:screen-default-colormap (clx-port-screen port))
                                  (xlib:make-color :red r :green g :blue b)))))))
 
 (defmethod port-mirror-width ((port clx-port) sheet)
---

(The problem being that, in my case, :0.0 and :0.1 have different depths,
and the colour gets mixed up on :0.1. An example of what it looks like
without the fix:
<URL: http://rydis.no-ip.org:11147/tmp/snaps/20041225-06:21:37-snap.png >)

Regards,

'mr

-- 
[Emacs] is written in Lisp, which is the only computer language that is
beautiful.  -- Neal Stephenson, _In the Beginning was the Command Line_



More information about the mcclim-devel mailing list