créer et émettre gtk signal

Je suis en train de créer et d'émettre un GTK signal:

g_signal_new("child-finished",
    G_TYPE_OBJECT,
    G_SIGNAL_RUN_FIRST,
    0,
    NULL, NULL,
    NULL,           //*** I think this is where I need to change it
    G_TYPE_NONE, 0);
g_signal_connect(G_OBJECT(myWindow), "child-finished", G_CALLBACK(MyCallback), NULL);

Voici mon code qui émet le signal:

gtk_signal_emit_by_name(referenceToMyWindow, "child-finished");

Et voici mon code qui gère le signal:

void MyCallback(GtkWidget *w, GdkEvent *e)
{
    //handler code here
}

Lorsque j'exécute le code, j'obtiens l'erreur suivante:

GLib-GObject-CRITICAL **: g_closure_invoquer: assertion `fermeture->le maréchal || fermeture->meta_marshal' a échoué

Je sais qu'il a quelque chose à voir avec le passage d'un marshaller à la g_signal_new fonction, mais je ne sais pas ce qu'est un marshaller est, je ne peux pas comprendre la documentation, et les exemples en ligne sont peu et loin entre. Comment dois-je déclarer et de connecter mon propre signal?

OriginalL'auteur aaronstacy | 2009-10-12