guile-devel
[Top][All Lists]
Advanced

[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

Attachment: pgpsQTXnkKFmU.pgp
Description: OpenPGP digital signature


reply via email to

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