Visual D DClosure mixin error?
Bart
Bart at gmail.com
Fri Jun 21 13:55:57 UTC 2019
I'm getting DClosure mixin not found when trying to go to a
delegate on the stack.
DClosure.DClosure.d_closure_marshal!(bool
delegate(gdk.Event.Event,
gtk.Widget.Widget)).d_closure_marshal(gobject.c.types.GClosure *
closure, gobject.c.types.GValue * return_value, unsigned int
n_param_values, gobject.c.types.GValue * param_values, void *
invocation_hint, void * marshal_data) Line 123 D
This is a file in GtkD.
It says it's like 123 but it's actually line 121.
Dclosure.d
extern(C) static void d_closure_marshal(T)(GClosure* closure,
GValue* return_value, uint n_param_values, /*const*/ GValue*
param_values, void* invocation_hint, void* marshal_data)
{
DGClosure!(T)* cl = cast(DGClosure!(T)*)closure;
if ( Parameters!(T).length > n_param_values )
assert(false, "DClosure doesn't have enough parameters.");
if ( closure.derivativeFlag )
{
GValue[] swapped = new GValue[n_param_values];
swapped[0..n_param_values-1] = param_values[1..n_param_values];
swapped[n_param_values-1] = param_values[0];
param_values = swapped.ptr;
}
mixin(getCallbackCall!T()); // line 121 but stack trace says
it's 123.
}
Seems it can't find the line nor the mixin in file correctly.
The main mixin does not seem to have this code in it either but
it has other code related to other mixins from gtkD so it
Do you have gtk installed or are you willing to install it? The
closure is generated for most event handling in gtkD it seems
such as simple button click handling. Probably any gtkD example
will produce such a stack.
More information about the Digitalmars-d-ide
mailing list