All pastes #63448 Raw Edit

Stuff

public c v1 · immutable
#63448 ·published 2006-06-09 22:44 UTC
rendered paste body
#include <gtk/gtk.h>#include <stdio.h>void callback (char *data, void *p, void *p2) {   printf ("Callback being called: data = %p (%s)\n", data, data);   printf ("                       p    = %p\n", p);   printf ("                       p2   = %p\n", p2);   printf ("   p  is object? %d\n", G_IS_OBJECT (p));   printf ("   p2 is object? %d\n", G_IS_OBJECT (p2));   gtk_main_quit();}void callback2 (char *data, GtkWidget *p) {   printf ("Callback being called: data = %p (%s)\n", data, data);   printf ("                       ptr  = %p\n", p);   printf ("   is object? %d\n", G_IS_OBJECT (p));}int main (int argc, char **argv) {    GtkWidget *w, *b;    GClosure *c, *c2;    char *data = "Some data";    printf ("data = %p\n", data);    /* Init and create new window */     gtk_init (&argc, &argv);    w = gtk_window_new (GTK_WINDOW_TOPLEVEL);    b = gtk_button_new_with_label ("A quite long title for a button");    gtk_container_add (GTK_CONTAINER(w), b);    gtk_widget_show_all (w);    printf ("window = %p\n", w);    printf ("button = %p\n", b);        /* Create closures and connect */    c = g_cclosure_new_swap (G_CALLBACK(callback), data, NULL);    g_signal_connect_closure (w, "delete-event", c, 0);    c2 = g_cclosure_new_swap (G_CALLBACK(callback2), data, NULL);    g_signal_connect_closure (b, "clicked", c2, 0);        gtk_main ();    return 0;}