Index: /branches/ide-1.0/ccl/examples/cocoa-inspector.lisp
===================================================================
--- /branches/ide-1.0/ccl/examples/cocoa-inspector.lisp	(revision 6670)
+++ /branches/ide-1.0/ccl/examples/cocoa-inspector.lisp	(revision 6671)
@@ -81,5 +81,6 @@
 (defparameter *cocoa-inspector-nswindows-table* (make-hash-table :test 'eql))
 
-; this is what a window should map to - an object that manages all the data a window might be displaying
+;;; this is what a window should map to - an object that manages all
+;;; the data a window might be displaying
 (defclass cocoa-inspector ()
   ((object-vector :initform (make-array 0 :adjustable t :fill-pointer 0) :accessor object-vector)
@@ -87,5 +88,5 @@
    (focal-point :initform 0 :accessor focal-point)))
 
-;; note that ELT pays attention to the fill pointer, while AREF doesn't!
+;;; note that ELT pays attention to the fill pointer, while AREF doesn't!
 (defmethod object ((cinspector cocoa-inspector))
   (elt (object-vector cinspector) (focal-point cinspector)))
@@ -93,5 +94,10 @@
   (elt (object-vector cinspector) n))
 (defmethod inspector ((cinspector cocoa-inspector))
-  (elt (inspector-vector cinspector) (focal-point cinspector)))
+  ;; This can return nil.
+  (let* ((i (focal-point cinspector))
+         (v (inspector-vector cinspector))
+         (n (length v)))
+    (if (< i n)
+      (aref v i))))
 (defmethod nth-inspector ((cinspector cocoa-inspector) n)
   (elt (inspector-vector cinspector) n))
@@ -342,5 +348,5 @@
   (let* ((cinspector (gethash (inspector-window self) *cocoa-inspector-nswindows-table*))
          (column (#/selectedColumn sender)))
-    (when (<= 0 column)
+    (when (< -1 column (length (object-vector cinspector)))
       ;; this seems to work, but I'm not really paying attention to
       ;; thread stuff...
@@ -355,6 +361,7 @@
         (if cinspector
           (let ((inspector (inspector cinspector)))
-            (inspector::inspector-line-count inspector))
-          0))
+            (if inspector
+              (inspector::inspector-line-count inspector)
+              0))))
       0))
 
@@ -452,4 +459,6 @@
 	;; being handled as two single actions
 	(let* ((browser (inspector-browser windowcontroller)))
+          (#/setColumnResizingType: browser #$NSBrowserUserColumnResizing)
+          (#/setPrefersAllColumnUserResizing: browser nil)
 	  (#/setDoubleAction: browser (@selector #/browserDoubleAction:))
 	  (#/setIgnoresMultiClick: browser t))
