[Openmcl-cvs-notifications] r15263 - in /release/1.8/source: ./ cocoa-ide/cocoa-listener.lisp

rme at clozure.com rme at clozure.com
Tue Mar 20 19:14:21 CDT 2012


Author: rme
Date: Tue Mar 20 19:14:21 2012
New Revision: 15263

Log:
Fix for listener buffer name conflicts from trunk.

Modified:
    release/1.8/source/   (props changed)
    release/1.8/source/cocoa-ide/cocoa-listener.lisp

Propchange: release/1.8/source/
---------------------------------------------------------------------------=
---
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Mar 20 19:14:21 2012
@@ -4,4 +4,4 @@
 /branches/rme-logops:13875-13886
 /branches/working-0711/ccl:7970-13192,13197-13198,13202,13208,13214,13235-=
13236,13239,13263,13277-13278,13290,13293-13294,13302-13306,13331-13332,133=
39,13361-13364,13379,13383,13386,13388,13409,13435-13436,13438,13440-13442,=
13460-13461,13465,13467,13476,13487,13490,13492-13493,13502-13528,13545-135=
47,13549,13557-13558
 /release/1.5/source:13667
-/trunk/source:15221-15223,15225-15226,15228,15249,15259
+/trunk/source:15221-15223,15225-15226,15228,15249,15255,15259

Modified: release/1.8/source/cocoa-ide/cocoa-listener.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- release/1.8/source/cocoa-ide/cocoa-listener.lisp (original)
+++ release/1.8/source/cocoa-ide/cocoa-listener.lisp Tue Mar 20 19:14:21 20=
12
@@ -426,7 +426,14 @@
 (objc:defmethod (#/isDocumentEdited :<BOOL>) ((self hemlock-listener-docum=
ent))
   nil)
 =

-
+(defun listener-window-count ()
+  (let ((count 0)
+        (all-windows (#/windows *NSApp*)))
+    (dotimes (i (#/count all-windows) count)
+      (let* ((w (#/objectAtIndex: all-windows i))
+             (wc (#/windowController w)))
+        (when (typep wc 'hemlock-listener-window-controller)
+          (incf count))))))
 =

 (objc:defmethod #/init ((self hemlock-listener-document))
   (let* ((doc (call-next-method)))
@@ -442,7 +449,7 @@
         (hi::set-buffer-modeline-fields buffer hemlock::*listener-modeline=
-fields*)))
     doc))
 =

-(def-cocoa-default *initial-listener-x-pos* :float -100.0f0 "X position of=
 upper-left corner of initial listener")
+(def-cocoa-default *initial-listener-x-pos* :float 100.0f0 "X position of =
upper-left corner of initial listener")
 =

 (def-cocoa-default *initial-listener-y-pos* :float 100.0f0 "Y position of =
upper-left corner of initial listener")
 =

@@ -450,9 +457,10 @@
 (defloadvar *next-listener-y-pos* nil) ; likewise
 =

 (objc:defmethod (#/dealloc :void) ((self hemlock-listener-document))
-  (if (zerop (decf *cocoa-listener-count*))
+  (when (zerop (listener-window-count))
     (setq *next-listener-x-pos* nil
-          *next-listener-y-pos* nil))
+          *next-listener-y-pos* nil
+          *cocoa-listener-count* 0))
   (let* ((p (hemlock-document-process self)))
     (when p
       (setf (hemlock-document-process self) nil)



More information about the Openmcl-cvs-notifications mailing list