mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-01 15:03:39 +02:00
publically define GSignalInvocationHint structure that gets passed in to
Fri Oct 27 16:33:41 2000 Tim Janik <timj@gtk.org> * gsignal.[hc]: publically define GSignalInvocationHint structure that gets passed in to closure invocations. added signal details. renamed GSignalType to GSignalFlags to comply with conventions. quite some cleanups and minor fixes. avoid uneccessary handler list walks upon invokation of after handlers. relookup handler list for restarted emissions. preliminary abort normal handler invokation if after handler is encountered. * glib-genmarshal.c: * gclosure.[hc]: moved invocation_hint to the end of the g_closure_invoke() arguments as sugegsted by kenelson. also made it a gpointer to be more generic. the invocation_hint is a caller specific thing that can be used to pass additional data in to closure invocations as documented with the caller invoking the closure.
This commit is contained in:
@@ -248,10 +248,10 @@ generate_marshal (const gchar *signame,
|
||||
ind = fprintf (fout, "extern void ");
|
||||
ind += fprintf (fout, "%s_%s (", marshaller_prefix, signame);
|
||||
fprintf (fout, "GClosure *closure,\n");
|
||||
fprintf (fout, "%sguint invocation_hint,\n", indent (ind));
|
||||
fprintf (fout, "%sGValue *return_value,\n", indent (ind));
|
||||
fprintf (fout, "%sguint n_param_values,\n", indent (ind));
|
||||
fprintf (fout, "%sconst GValue *param_values,\n", indent (ind));
|
||||
fprintf (fout, "%sgpointer invocation_hint,\n", indent (ind));
|
||||
fprintf (fout, "%sgpointer marshal_data);\n", indent (ind));
|
||||
}
|
||||
if (gen_cbody)
|
||||
@@ -260,10 +260,10 @@ generate_marshal (const gchar *signame,
|
||||
fprintf (fout, "void\n");
|
||||
ind = fprintf (fout, "%s_%s (", marshaller_prefix, signame);
|
||||
fprintf (fout, "GClosure *closure,\n");
|
||||
fprintf (fout, "%sguint invocation_hint,\n", indent (ind));
|
||||
fprintf (fout, "%sGValue *return_value,\n", indent (ind));
|
||||
fprintf (fout, "%sguint n_param_values,\n", indent (ind));
|
||||
fprintf (fout, "%sconst GValue *param_values,\n", indent (ind));
|
||||
fprintf (fout, "%sgpointer invocation_hint,\n", indent (ind));
|
||||
fprintf (fout, "%sgpointer marshal_data)\n", indent (ind));
|
||||
fprintf (fout, "{\n");
|
||||
|
||||
|
Reference in New Issue
Block a user