Определяется сигнал так:
Код: Выделить всё
gint tt = 23;
gtk_signal_connect (GTK_OBJECT (tree_views[T_SPECIALITY]), "row-activated",
GTK_SIGNAL_FUNC (test2), GINT_TO_POINTER (tt));И сам сигнал:
Код: Выделить всё
void test2 (GtkWidget *widget, gpointer user_data)
{
printf ("test = %d,\n", GPOINTER_TO_INT (user_data));
}Всё отлично подключается, событие работает, но user_data нормально НЕ получается.
результат сигнала: test = 136461632, и такая ерунда
Казалось бы вот официальный пример для функции gtk_signal_connect:
Код: Выделить всё
static void button_clicked_int (GtkButton* button, gpointer func_data)
{
g_print ("button pressed: %d\n", GPOINTER_TO_INT (func_data));
}
/* By calling this function, you will make the g_print above
* execute, printing the number passed as `to_print'. */
static void attach_print_signal (GtkButton* button, gint to_print)
{
gtk_signal_connect (GTK_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (button_clicked_int),
GINT_TO_POINTER (to_print));
}Может проблема в том, что интерфейс в Glade'е описан? Но в нём нет такого сигнала для этого виджета.
Не могу понять что в этих 3х строках не так.
Помогите. За ранее благодарен.