[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: goops - guile-clutter unexpected bug while using #:virtual slot allo
From: |
David Pirotte |
Subject: |
Re: goops - guile-clutter unexpected bug while using #:virtual slot allocation for a <clutter-actor> subclass |
Date: |
Sat, 20 Dec 2014 04:16:57 -0200 |
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
pgpsQTXnkKFmU.pgp
Description: OpenPGP digital signature