[Eclipse-cvs] CVS update: eclipse/virtual-screen.lisp

Iban Hatchondo ihatchondo at common-lisp.net
Mon Nov 24 16:42:59 UTC 2003


Update of /project/eclipse/cvsroot/eclipse
In directory common-lisp.net:/tmp/cvs-serv18618

Modified Files:
	virtual-screen.lisp 
Log Message:
surround the map-or-unmap calls in change-vscreen with a with-server-grabbed to improve a bit performances.


Date: Mon Nov 24 11:42:59 2003
Author: ihatchondo

Index: eclipse/virtual-screen.lisp
diff -u eclipse/virtual-screen.lisp:1.13 eclipse/virtual-screen.lisp:1.14
--- eclipse/virtual-screen.lisp:1.13	Mon Nov 24 08:12:01 2003
+++ eclipse/virtual-screen.lisp	Mon Nov 24 11:42:59 2003
@@ -1,5 +1,5 @@
 ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*-
-;;; $Id: virtual-screen.lisp,v 1.13 2003/11/24 13:12:01 ihatchondo Exp $
+;;; $Id: virtual-screen.lisp,v 1.14 2003/11/24 16:42:59 ihatchondo Exp $
 ;;;
 ;;; Copyright (C) 2002 Iban HATCHONDO
 ;;; contact : hatchond at yahoo.fr
@@ -42,6 +42,8 @@
 		     (member :_net_wm_window_type_dock netwm-type)))))))
 
 (defun map-or-unmap-vscreen (fun scr-num)
+  (declare (optimize (speed 3) (safety 0)))
+  (declare (type function fun))
   (loop for widget being each hash-value in *widget-table*
 	when (application-p widget) do
 	  (with-slots (window master) widget
@@ -109,9 +111,10 @@
 	      (when (application-p widget)
 		(setf (application-wants-focus-p widget) t))))
 	  (xlib:set-input-focus *display* :pointer-root :pointer-root)
-	  (with-pointer-grabbed (window nil)
-	    (map-or-unmap-vscreen #'xlib:unmap-window cur)
-	    (map-or-unmap-vscreen #'xlib:map-window new)))
+	  (xlib:with-server-grabbed (*display*)
+	    (with-pointer-grabbed (window nil)
+	      (map-or-unmap-vscreen #'xlib:unmap-window cur)
+	      (map-or-unmap-vscreen #'xlib:map-window new))))
 	(setf (gnome:win-workspace window) new
 	      (netwm:net-current-desktop window) new)
 	(when *change-desktop-message-active-p*





More information about the Eclipse-cvs mailing list