Hi Panicz, I don't think you did read the paste (3 parts) carefully, since the first part of the paste is a goops example [no guile-gnome[clutter] code] that does work, as expected.
> My first impression is that the error might be caused by using the > combination of #:allocation #:virtual and #:init-keyword for the "colour" > slot. Your impression is wrong, please try the code from the 1st part of the paste. > Since #:init-keyword initializes slot value with a given value, and > virtual slots have no actual value, the semantics of such operation is > rather unclear. This is also wrong and there is nothing unclear here: when one uses the #:virtual allocation option, one must also provide both #:slot-ref #:slot-set! options to specify how to read and write values for this slot [see the manual]. so, no possible ambiguity, if one also uses #:init-keyword, the system must call, at the right initialization time, the provided code for the #:slot-set! option, which is what goops does perfectly. The problem is with/in guile-gnome, which for some reason I am unable clearly identify and debug by myself, breaks goops. > If your intention is to use the keyword as an argument to the constructor, > you should rather provide a custom "initialize" method (and drop the > "init-keyword" for the colour slot): I don't agree, one should not have to provide any additional code, this a guile-gnome related bug. Happy hacking, David
pgpVlvUPsVFuh.pgp
Description: OpenPGP digital signature