You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
func FrameNew(label string) (*Frame, error) {
var cstr *C.char
if label != "" {
cstr = C.CString(label)
defer C.free(unsafe.Pointer(cstr))
}
c := C.gtk_frame_new((*C.gchar)(cstr))
if c == nil {
return nil, nilPtrErr
}
obj := glib.Take(unsafe.Pointer(c))
return wrapFrame(obj), nil
}
The Gir files do indicate nullable parameters (nullable="1"). So code generation should be possible.
<parameter name="label"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve">the text to use as the label of the frame</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
Would appreciate if you could get this working and a possible workaround if possible until then :)
The text was updated successfully, but these errors were encountered:
I'm not sure that treating an empty string as a special case is the best approach. It may work for gtk_frame_new, but perhaps there are other situations were it wouldn't have the desired effect?
Maybe a better approach would be honour the nullable attribute in the in api, and stay closer to the C function signature.
So the signature would change from
Some Gtk functions take string parameters that can be null, such as the one below.
In the above case we are unable to omit/disable the label widget, as we are unable to pass NULL to the C function.
Gobbi's implementation currently does'nt take into account the nullable string parameters.
The Gotk3 library handles this correctly.
The Gir files do indicate nullable parameters (
nullable="1"
). So code generation should be possible.Would appreciate if you could get this working and a possible workaround if possible until then :)
The text was updated successfully, but these errors were encountered: