From 4622ec978a8eb7bb369f574457c6359e295f16f9 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Tue, 5 Feb 2008 13:33:37 +0000 Subject: [PATCH] gtk/gtktree.lisp: Fixing string representations of tree paths. * The old ensure-tree-path returned a vector of strings, which is useless. Fixed to return a vector of integers, using parse-integer. * Make tree-model-get-iter apply ensure-tree-path to its argument. * Enable ensure-tree-iter to coerce string representations of paths. --- gtk/gtktree.lisp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gtk/gtktree.lisp b/gtk/gtktree.lisp index 4404530..d884dd0 100644 --- a/gtk/gtktree.lisp +++ b/gtk/gtktree.lisp @@ -348,7 +348,8 @@ (defun ensure-tree-path (path) (etypecase path - (string (coerce (clg-utils:split-string path :delimiter #\:) 'vector)) + (string (map 'vector #'parse-integer + (clg-utils:split-string path :delimiter #\:))) (vector path))) @@ -383,7 +384,7 @@ (defbinding tree-model-get-iter (model path &optional (iter (make-instance 'tree-iter))) boolean (model tree-model) (iter tree-iter :in/return) - (path tree-path)) + ((ensure-tree-path path) tree-path)) #?(pkg-exists-p "gtk+-2.0" :atleast-version "2.12.0") (defmethod allocate-foreign ((tree-iter tree-iter) &rest initargs) @@ -394,7 +395,7 @@ (defun ensure-tree-iter (model row) (etypecase row (tree-iter row) - (tree-path + ((or tree-path string) (multiple-value-bind (valid-p iter) (tree-model-get-iter model row) (if valid-p iter -- 2.11.0