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

rme at clozure.com rme at clozure.com
Wed Mar 28 16:21:34 CDT 2012


Author: rme
Date: Wed Mar 28 16:21:34 2012
New Revision: 15284

Log:
Restarts window fix from trunk.

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

Propchange: release/1.8/source/
---------------------------------------------------------------------------=
---
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Mar 28 16:21:34 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,15252,15255-15256,15259,=
15265-15266,15270,15277
+/trunk/source:15221-15223,15225-15226,15228,15249,15252,15255-15256,15259,=
15265-15266,15270,15277,15281

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 Wed Mar 28 16:21:34 20=
12
@@ -602,7 +602,12 @@
          (process (ccl::tcr->process tcr)))
     (make-instance 'sequence-window-controller
       :sequence (cdr (ccl::bt.restarts context))
+      :before-close-function #'(lambda (wc)
+                                 (declare (ignore wc))
+                                 (setf (car (ccl::bt.restarts context)) ni=
l))
       :result-callback #'(lambda (r)
+                           (execute-in-gui #'(lambda ()
+                                               (#/close (car (ccl::bt.rest=
arts context)))))
                            (process-interrupt
                             process
                             #'invoke-restart-interactively

Modified: release/1.8/source/cocoa-ide/cocoa-utils.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-utils.lisp (original)
+++ release/1.8/source/cocoa-ide/cocoa-utils.lisp Wed Mar 28 16:21:34 2012
@@ -25,7 +25,8 @@
      (sequence :initform nil :initarg :sequence :type sequence :reader seq=
uence-window-controller-sequence)
      (result-callback :initarg :result-callback)
      (display :initform #'(lambda (item stream) (prin1 item stream)) :init=
arg :display)
-     (title :initform "Sequence dialog" :initarg :title))
+     (title :initform "Sequence dialog" :initarg :title)
+     (before-close-function :initarg :before-close-function :initform nil))
   (:metaclass ns:+ns-object))
 =

 =

@@ -36,6 +37,7 @@
          (contentframe (#/frame contentview))
          (scrollview (make-instance 'ns:ns-scroll-view :with-frame content=
frame)))
     (#/setWindow: self w)
+    (#/release w)
     (#/setDelegate: w self)
     (#/setWindowController: w self)
     (#/setHasVerticalScroller: scrollview t)
@@ -72,12 +74,16 @@
       self)))
 =

 (objc:defmethod (#/dealloc :void) ((self sequence-window-controller))
+  (objc:remove-lisp-slots self)
   (call-next-method))
 =

 (objc:defmethod (#/windowWillClose: :void) ((self sequence-window-controll=
er)
 					    notification)
   (declare (ignore notification))
   (#/setDataSource: (slot-value self 'table-view) +null-ptr+)
+  (with-slots (before-close-function) self
+    (when (functionp before-close-function)
+      (funcall before-close-function self)))
   (#/autorelease self))
 =

 (objc:defmethod (#/sequenceDoubleClick: :void)



More information about the Openmcl-cvs-notifications mailing list