Ferada / cl-cffi-gtk

#cl-cffi-gtk on Freenode. A Lisp binding to GTK+3. SBCL/CCL/ABCL (ECL/CLISP unstable)
http://www.crategus.com/books/cl-cffi-gtk
41 stars 8 forks source link

g-action: No applicable method: G-BOXED-OPAQUE-POINTER #41

Closed Ambrevar closed 4 years ago

Ambrevar commented 4 years ago

I'd like to create a GAction: https://developer.gnome.org/gio/stable/GSimpleAction.html

I did this:

(gio:g-simple-action-new  "foo" glib:+g-variant-type-any+ )

which raised

There is no applicable method for the generic function
  #<STANDARD-GENERIC-FUNCTION GOBJECT::G-BOXED-OPAQUE-POINTER (1)>
when called with arguments
  ("*").
   [Condition of type SB-PCL::NO-APPLICABLE-METHOD-ERROR]

Backtrace:
 0: ((:METHOD NO-APPLICABLE-METHOD (T)) #<STANDARD-GENERIC-FUNCTION GOBJECT::G-BOXED-OPAQUE-POINTER (1)> "*") [fast-method]
 1: (SB-PCL::CALL-NO-APPLICABLE-METHOD #<STANDARD-GENERIC-FUNCTION GOBJECT::G-BOXED-OPAQUE-POINTER (1)> ("*"))
 2: ((:METHOD CFFI:TRANSLATE-TO-FOREIGN (T GOBJECT::BOXED-OPAQUE-FOREIGN-TYPE)) "*" #<GOBJECT::BOXED-OPAQUE-FOREIGN-TYPE {1004035383}>) [fast-method]
 3: ((:METHOD GOBJECT::BOXED-SET-G-VALUE (T GOBJECT::G-BOXED-OPAQUE-WRAPPER-INFO T)) #.(SB-SYS:INT-SAP #X7F093C11A708) #S(GOBJECT::G-BOXED-OPAQUE-WRAPPER-INFO :NAME GLIB:G-VARIANT-TYPE :TYPE "GVariantType..
 4: (GOBJECT::CALL-GOBJECT-CONSTRUCTOR "GSimpleAction" ("parameter-type" "name") ("*" "foo") (NIL NIL))
 5: (GOBJECT::CREATE-GOBJECT-FROM-CLASS #<GOBJECT:GOBJECT-CLASS GIO:G-SIMPLE-ACTION> (:NAME "foo" :PARAMETER-TYPE "*"))
 6: ((:METHOD MAKE-INSTANCE (GOBJECT:GOBJECT-CLASS)) #<GOBJECT:GOBJECT-CLASS GIO:G-SIMPLE-ACTION> :NAME "foo" :PARAMETER-TYPE "*") [fast-method]
 7: (SB-INT:SIMPLE-EVAL-IN-LEXENV (GIO:G-SIMPLE-ACTION-NEW "foo" GLIB:+G-VARIANT-TYPE-ANY+) #<NULL-LEXENV>)
 8: (EVAL (GIO:G-SIMPLE-ACTION-NEW "foo" GLIB:+G-VARIANT-TYPE-ANY+))
 9: ((LAMBDA NIL :IN SLYNK-MREPL::MREPL-EVAL-1))
 --more--

Am I doing something wrong? Bug?

Ferada commented 4 years ago

Should be (gio:g-simple-action-new "foo" (glib:g-variant-type-new glib:+g-variant-type-any+)) I think.

Ambrevar commented 4 years ago

This works indeed, thanks!