Update of /project/eclipse/cvsroot/eclipse/lib/clx-ext In directory cl-net:/tmp/cvs-serv8701/lib/clx-ext
Modified Files: clx-patch.lisp Log Message: Fix: added some declaration type, and null verification so the clx patch should not be necessary anymore. Fix: wm-normal-hints returns some inproper values in fields that should be ignored. Now, we replace those obsolote fields values by the window geometry.
--- /project/eclipse/cvsroot/eclipse/lib/clx-ext/clx-patch.lisp 2009/11/17 17:29:13 1.7 +++ /project/eclipse/cvsroot/eclipse/lib/clx-ext/clx-patch.lisp 2010/04/02 09:57:53 1.8 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp -*- -;;; $Id: clx-patch.lisp,v 1.7 2009/11/17 17:29:13 ihatchondo Exp $ +;;; $Id: clx-patch.lisp,v 1.8 2010/04/02 09:57:53 ihatchondo Exp $ ;;; ;;; This file contains the patch fixing a bug in CLX as distributed ;;; with vanilla CMUCL versions up to 18d. @@ -56,27 +56,27 @@ ;; one is not of the proper type but this should save us from lots of ;; testing.
-(macrolet ((make-mumble-equal (type) - ;; Since caching is only done for objects created by the - ;; client, we must always compare ID and display for - ;; non-identical mumbles. - (let ((predicate (xintern type '-equal)) - (id (xintern type '-id)) - (dpy (xintern type '-display))) - `(within-definition (,type make-mumble-equal) - (defun ,predicate (a b) - (declare (type (or null ,type) a b)) - (when (and a b) - (or (eql a b) - (and (= (,id a) (,id b)) - (eq (,dpy a) (,dpy b)))))))))) - (make-mumble-equal window) - (make-mumble-equal pixmap) - (make-mumble-equal cursor) - (make-mumble-equal font) - (make-mumble-equal gcontext) - (make-mumble-equal colormap) - (make-mumble-equal drawable)) +;; (macrolet ((make-mumble-equal (type) +;; ;; Since caching is only done for objects created by the +;; ;; client, we must always compare ID and display for +;; ;; non-identical mumbles. +;; (let ((predicate (xintern type '-equal)) +;; (id (xintern type '-id)) +;; (dpy (xintern type '-display))) +;; `(within-definition (,type make-mumble-equal) +;; (defun ,predicate (a b) +;; (declare (type (or null ,type) a b)) +;; (when (and a b) +;; (or (eql a b) +;; (and (= (,id a) (,id b)) +;; (eq (,dpy a) (,dpy b)))))))))) +;; (make-mumble-equal window) +;; (make-mumble-equal pixmap) +;; (make-mumble-equal cursor) +;; (make-mumble-equal font) +;; (make-mumble-equal gcontext) +;; (make-mumble-equal colormap) +;; (make-mumble-equal drawable))
;; It seems that sometimes some id are still present in the clx display ;; internal cache even when those resources have been destroyed. This has