Я пытаюсь напечатать значение переменной i
на консоли из моего обратного вызова.
functon, но вместо печати 23 он продолжает печатать какой-то адрес 11652528 и т.д ...
Я довольно много искал в сети, и, согласно старому учебнику GTK (где фактический G_CALLBACK
Макрос был GTK_SIGNAL_FUNC
), это должно работать.
Кто-нибудь имеет представление, где ошибка ??
#include <stdlib.h>
#include <gtk/gtk.h>
#include <string.h>
void f_window(GtkWidget* widget, gpointer data)
{
g_print("%d\n",GPOINTER_TO_INT(data));
}
int main(int argc, char **argv)
{
gint i=23;
GtkWidget * MainWindow = NULL;
gtk_init(&argc, &argv);
MainWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(G_OBJECT(MainWindow),"delete-event",G_CALLBACK(f_window),GINT_TO_POINTER(i));
gtk_widget_show_all(MainWindow);
gtk_main();
gtk_exit(EXIT_SUCCESS);
return EXIT_SUCCESS;
}
заранее спасибо !!!