From e75341d37baffc2e421c43b33531724616d6d839 Mon Sep 17 00:00:00 2001 From: Dmitry Kalyanov Date: Tue, 17 Mar 2009 23:37:33 +0300 Subject: [PATCH] include interface properties in class constructor args --- glib/gobject.generating.lisp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/glib/gobject.generating.lisp b/glib/gobject.generating.lisp index a7c9121..c49f122 100644 --- a/glib/gobject.generating.lisp +++ b/glib/gobject.generating.lisp @@ -147,7 +147,10 @@ (&rest properties)) (setf properties (mapcar #'parse-property properties)) (let* ((superclass-properties (get superclass 'properties)) - (combined-properties (append superclass-properties properties))) + (interface-properties (map-append (lambda (iface-name) + (get (gethash iface-name *known-interfaces*) 'properties)) + interfaces)) + (combined-properties (append superclass-properties properties interface-properties))) `(progn (defclass ,name (,superclass ,@(mapcar #'interface->lisp-class-name interfaces)) ()) (register-object-type ,g-type-name ',name) @@ -270,9 +273,10 @@ (:export t ,@(when (foreign-symbol-pointer probable-type-initializer) `(:type-initializer ,probable-type-initializer))) - ,@(mapcar (lambda (property) - (property->property-definition name property)) - properties)))) + ,@(append (mapcar (lambda (property) + (property->property-definition name property)) + properties) + (cdr (find g-name *additional-properties* :key 'car :test 'string=)))))) (defun get-g-class-definitions-for-root-1 (type) (unless (member (ensure-g-type type) *generation-exclusions* :test '=) -- 1.7.10.4