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: Mon, 26 Jan 2015 23:00:44 -0200

Hello Andy,

> > It would be really nice if someone can help me with the following 
> > unexpected bug:
>> ...

> What is the bug?  

I don't think I could better summarize then what I did in the subject:

        guile-clutter unexpected bug while using #:virtual slot allocation for a
        <clutter-actor> subclass

> The top part that you list that does not use  guile-gnome works fine

Indeed, I wrote it to make it clear to you [and who would read my message
eventually] that I was well aware, reporting it, that it was _not_ a goops bug, 
but a
guile-gnome bug :)

> and I don't want to bring guile-gnome into consideration when looking for 
> GOOPS
> bugs :)

Sure, I wouldn't either :)

> Can you still reproduce the bug on stable-2.0 or master?

Yes, on stable-2.0 [no master here yet, apart from myself of course :)]

>  Can you make a test case without guile-gnome?

No, it is a guile-gnome problem/bug, so here below, a very short test case (*)

Thanks,
David

(*) I agree with you that this is less important then goops bugs of course, and 
I
would be particularly interested to get the setters inheritance bug solved 
before
anything else [if not done already as I write this answer :)].  Beside I found 
a way
to circumvent this problem, not perfect but ok, so no rush for this one.

;; module virtual-slot.scm starts here
(define-module (virtual-slot)
  #:use-module (oop goops)
  #:use-module (gnome-2)
  #:use-module (gnome clutter)

  #:export (<virtual>
            !colour))


(define-class <virtual> (<clutter-actor>)
  (colour #:accessor !colour
          #:init-keyword #:colour
          #:allocation #:virtual
          #:slot-ref (lambda (obj)
                       (get-background-color obj))
          #:slot-set! (lambda (obj value)
                        (set-background-color obj value))))
;; module ends here

...
,use (oop goops)
,use (gnome-2)
,use (gnome clutter)
,use (virtual-slot)
(make <virtual> #:colour (clutter-color-from-string "Red"))

=> ERROR: Throw to key `gruntime-error' with args `("%scm->gtype-instance" 
"Object
~A has been destroyed." (#<<virtual> 251db20>) ())'.

Attachment: pgpK5aF6KVuiS.pgp
Description: OpenPGP digital signature


reply via email to

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