guile-gtk-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: g-wrap-1.9.9 and guile-gnome-platform 2.15.93 fails


From: Andreas Rottmann
Subject: Re: g-wrap-1.9.9 and guile-gnome-platform 2.15.93 fails
Date: Fri, 17 Aug 2007 11:00:24 +0200
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux)

steve tell <address@hidden> writes:

> After building the recent g-wrap-1.9.9, I tried building
> guile-gnome-platform-2.15.93 with it, and ran into a problem:
>
>
>
> make[4]: Entering directory 
> `/usr/src/redhat/BUILD/guile-gnome-platform-2.15.93/
> glib/gnome/gw'
> guile  -c \
>           "(debug-set! stack 400000) \
>            (use-modules (gnome-0)) \
>            (use-modules (g-wrap)) \
>            (use-modules (gnome gw gobject-spec)) \
>            (generate-wrapset 'guile 'gnome-gobject 
> \"guile-gnome-gw-gobject\")"
> WARNING: (g-wrap util): imported module (srfi srfi-34) overrides core binding 
> `raise'
> WARNING: (g-wrap): imported module (srfi srfi-34) overrides core binding 
> `raise'
> WARNING: (g-wrap rti): imported module (srfi srfi-34) overrides core binding 
> `raise'
> WARNING: (g-wrap c-types): imported module (srfi srfi-34) overrides core 
> binding `raise'
> WARNING: (gnome gw support g-wrap): `declarations-cg' imported from both 
> (g-wrap c-codegen) and (g-wrap scm-codegen)
> ERROR: No class slot with name `allowed-options' in class #<<gw-type-class> 
> <gobject-object-type> 402489b0>
> make[4]: *** [guile-gnome-gw-gobject.c] Error 1
>
>
>
> The ERROR seems to be from this bit of code in support/gobject.scm:
>
> (for-each (lambda (null-ok-class)
>             (class-slot-set! null-ok-class 'allowed-options '(null-ok)))
>           (list <gobject-object-type> <gobject-boxed-type>
>                 <gobject-interface-type>))
>
>
> It gets past this if I reinstall g-wrap-1.9.9-RC1, but then chokes on
> some ffi.h issues (same ones I reported in RC1, and do seem fixed in the
> g-wrap release.)
>
> Anyone else seeing this "ERROR: No class slot with name `allowed-options'"
> and have any suggestions?
>
I've commited a fix to the bzr repo and attached the patch as well.

=== modified file 'ChangeLog'
--- ChangeLog   2007-08-14 23:05:58 +0000
+++ ChangeLog   2007-08-17 08:40:39 +0000
@@ -1,3 +1,10 @@
+2007-08-15  Andreas Rottmann  <address@hidden>
+
+       * gnome/gw/support/gobject.scm (<gobject-object-type>)
+       (<gobject-boxed-type>, <gobject-interface-type>): Properly set
+       allowed-options via class declaration keyword instead of explicit
+       slot access.
+
 2007-08-13  Andy Wingo  <address@hidden>
 
        * gnome/gw/support/gobject.scm (generate-wrapset): Make generated

=== modified file 'gnome/gw/support/gobject.scm'
--- gnome/gw/support/gobject.scm        2007-08-12 22:53:44 +0000
+++ gnome/gw/support/gobject.scm        2007-08-17 08:40:39 +0000
@@ -1,6 +1,6 @@
 ;; guile-gnome
 ;; Copyright (C) 2003,2004 Andy Wingo <wingo at pobox dot com>
-;; Copyright (C) 2004 Andreas Rottmann <rotty at debian dot org>
+;; Copyright (C) 2004,2007 Andreas Rottmann <rotty at debian dot org>
 
 ;; This program is free software; you can redistribute it and/or    
 ;; modify it under the terms of the GNU General Public License as   
@@ -194,7 +194,8 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Wrap objects.
 
-(define-class <gobject-object-type> (<gobject-classed-pointer-type>))
+(define-class <gobject-object-type> (<gobject-classed-pointer-type>)
+  #:allowed-options '(null-ok))
 
 (define-method (unwrap-null-checked (value <gw-value>)
                                     status-var
@@ -246,7 +247,8 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Wrap boxed types, represented on the scheme side by GValues.
 
-(define-class <gobject-boxed-type> (<gobject-classed-pointer-type>))
+(define-class <gobject-boxed-type> (<gobject-classed-pointer-type>)
+  #:allowed-options '(null-ok))
 
 (define-method (make-typespec (type <gobject-boxed-type>) (options <list>))
   (next-method type (cons 'unspecialized options)))
@@ -350,7 +352,8 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Wrap interfaces. We only understand interfaces implemented by objects.
 
-(define-class <gobject-interface-type> (<gobject-classed-pointer-type>))
+(define-class <gobject-interface-type> (<gobject-classed-pointer-type>)
+  #:allowed-options '(null-ok))
 
 (define-method (wrap-interface! (ws <gobject-wrapset-base>) . args)
   (let ((type (apply make <gobject-interface-type> args)))
@@ -516,11 +519,6 @@
                #:c-const-type-name (string-append "const " ctype))))
     (add-type-alias! ws ctype (name type))))
 
-(for-each (lambda (null-ok-class)
-            (class-slot-set! null-ok-class 'allowed-options '(null-ok)))
-          (list <gobject-object-type> <gobject-boxed-type>
-                <gobject-interface-type>))
-            
 ;; Used for functions that operate on classes, e.g.
 ;; gtk_widget_class_install_style_property,
 ;; gst_element_class_get_pad_template

Regards, Rotty
-- 
Andreas Rottmann         | address@hidden      | address@hidden | address@hidden
http://rotty.uttx.net    | GnuPG Key: http://rotty.uttx.net/gpg.asc
Fingerprint              | C38A 39C5 16D7 B69F 33A3  6993 22C8 27F7 35A9 92E7
v2sw7MYChw5pr5OFma7u7Lw2m5g/l7Di6e6t5BSb7en6g3/5HZa2Xs6MSr1/2p7 hackerkey.com

Life is a sexually transmitted disease.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]