chiark / gitweb /
Adding support for glib interfaces (GInterface)
[clg] / glib / gobject.lisp
index 8c549991905f2aadd544cffc91dea5babd2d8d03..2a11bce7b3fa6ba47e95e7a1d3a1189516162981 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.9 2001-10-21 21:52:53 espen Exp $
+;; $Id: gobject.lisp,v 1.10 2002-01-20 14:09:52 espen Exp $
 
 (in-package "GLIB")
 
@@ -201,7 +201,7 @@ (defun default-slot-accessor (class-name slot-name type)
 
 (defun expand-gobject-type (type-number &optional options
                            (metaclass 'gobject-class))
-  (let* ((super (supertype type-number))
+  (let* ((supers (cons (supertype type-number) (implements type-number)))
         (class  (type-from-number type-number))
         (override-slots (getf options :slots))
         (expanded-slots
@@ -251,7 +251,7 @@                      (default-slot-accessor class slot-name slot-type)))
          (push slot-def expanded-slots))))
     
     `(progn
-       (defclass ,class (,super)
+       (defclass ,class ,supers
         ,expanded-slots
         (:metaclass ,metaclass)
         (:alien-name ,(find-type-name type-number))))))