Re: [Vala] Problem creating VAPI file for XcbIcccm (extra data)



2013/12/12 rastersoft <raster rastersoft com>

BTW: The whole VAPI file is this:

using Xcb;

[CCode (lower_case_cprefix = "xcb_icccm_", cheader_filename =
"xcb/xcb_icccm.h")]
namespace XcbIcccm {

    public Xcb.GetPropertyCookie get_wm_class(Connection conn, Window
window);
    public Xcb.GetPropertyCookie get_wm_class_unchecked(Connection conn,
Window window);

    [CCode (cname = "xcb_icccm_get_wm_class_reply_t", has_type_id =
false)]
    public struct WmClassFromReply {
        string instance_name;
        string class_name;
    }

    [CCode (cname = "xcb_icccm_get_wm_class_from_reply")]
    public void get_wm_class_from_reply(out WmClassFromReply reply,
GetPropertyReply input);
}


El 12/12/13 23:20, rastersoft escribió:

Hi all:

I'm creating a VAPI file for xcb_icccm and I have a problem:

I defined the function xcb_icccm_get_wm_class_from_reply as:

    [CCode (cname = "xcb_icccm_get_wm_class_from_reply")]
    public void get_wm_class_from_reply(out WmClassFromReply reply,
GetPropertyReply input);

Unfortunately, when I try to compile a program that uses it, I receive
this error:

    CMakeFiles/valawm.dir/window.c.o: In function
`vala_wm_vala_window_map_request':
    window.c:(.text+0xbca): undefined reference to
`xcb_icccm_wm_class_from_reply_destroy'
    window.c:(.text+0xc6e): undefined reference to
`xcb_icccm_wm_class_from_reply_destroy'
    collect2: error: ld returned 1 exit status

It seems that Vala presumes that there must be a "destroy" call that
complements the "get" call. But there is no such call.

How can I fix this?

Thanks.


Hi,

try annotating your definition of 'WmClassFromReply' with
[CCode (has_destroy_function = false)]

Jonas


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]