chiark / gitweb /
Bug fix
authorespen <espen>
Wed, 12 Jan 2005 13:26:03 +0000 (13:26 +0000)
committerespen <espen>
Wed, 12 Jan 2005 13:26:03 +0000 (13:26 +0000)
glib/gobject.lisp

index f1f04d3818f6c43ced39021420c436ba9e69daa4..c6bfe269a71f2eb042588c3a6f7552b53cdf84c3 100644 (file)
@@ -15,7 +15,7 @@
 ;; License along with this library; if not, write to the Free Software
 ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-;; $Id: gobject.lisp,v 1.27 2005-01-03 16:40:45 espen Exp $
+;; $Id: gobject.lisp,v 1.28 2005-01-12 13:26:03 espen Exp $
 
 (in-package "GLIB")
 
@@ -345,9 +345,9 @@ (defun default-slot-accessor (class-name slot-name type)
     (if (eq type 'boolean) "-P" ""))))
 
 
-(defun slot-definition-from-property (class property &optional args)
+(defun slot-definition-from-property (class property &optional slot-name args)
   (with-slots (name flags value-type documentation) property
-    (let* ((slot-name (default-slot-name name))
+    (let* ((slot-name (or slot-name (default-slot-name name)))
           (slot-type (or (getf args :type) (type-from-number value-type) value-type))
           (accessor (default-slot-accessor class slot-name slot-type)))
       
@@ -405,7 +405,7 @@ (defun slot-definitions (class properties slots)
        ((getf (rest slot) :merge)
        (setf 
         (rest slot) 
-        (rest (slot-definition-from-property class property (rest slot)))))))
+        (rest (slot-definition-from-property class property (first slot) (rest slot)))))))
   (delete-if #'(lambda (slot) (getf (rest slot) :ignore)) slots))