‮Сдвиг по фазе (kincajou) wrote,
‮Сдвиг по фазе
kincajou

Category:

GTK+XML

Не понимаю, в чём шляпа. Пишу так:
glade_xml_signal_connect_data (xml, "on_label1_control_button_clicked", GTK_SIGNAL_FUNC(on_label1_control_button_clicked), pud1 );,

где xml это файл со структурой интерфейса (создан при помощи Glade), on_label1_control_button_clicked - это сигнал (и его одноимённый обработчик), а pud1 - указатель на пользовательскую (т.е. мою) структуру данных, передаваемых в обработчик. Унутре оной структуры - указатель на label внутри окна. То есть сначала загружается xml, из него извлекаются в числе прочих указатели на метки (по именам, при помощи glade_xml_get_widget), эти указатели сохраняются в соответствующих полях некоей структуры, на которую pud1 уже и указывает. Но когда по соответствующему событию вызывается обработчик, то вместо нужного указателя он получает ахинею.

Нет, я бы ещё понял, если бы я передавал указатель на локальную переменную, уже давно испарившуюся из стека - тогда читались бы совсем не те данные, но ведь даже САМ УКАЗАТЕЛЬ куда-то "теряется" по дороге: передаётся одно, а принимается совсем другое.

То есть, в библиотеке с обработчиками у меня есть такой, например:
void on_label1_control_button_clicked (GtkWidget *widget, gpointer user_data);

И вроде должно быть так, что передаваемый pud1 должен в итоге попасть в user_data, а дальше уже дело самого обработчика, как эти данные трактовать. Но - не фурычит. Мало того, я пробовал передавать просто константы -- с тем же результатом, принимается что-то совсем иное.

Нипанятно.
Subscribe

  • (no subject)

    Как я застукал бычка (?) за вылазкой из норки

  • Hi-res/Crop

    Сейчас разглядел, насколько по-разному они выглядят. Может, это три разных представителя трёх разных видов крабов? Второго я нашёл вот…

  • Hi-res/Crop/Resize

    Был не очень прав насчёт этих таракашек - они есть, но теперь гораздо дальше от берега, чем раньше. Пришлось очень хорошо понырять, чтобы найти…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 16 comments

  • (no subject)

    Как я застукал бычка (?) за вылазкой из норки

  • Hi-res/Crop

    Сейчас разглядел, насколько по-разному они выглядят. Может, это три разных представителя трёх разных видов крабов? Второго я нашёл вот…

  • Hi-res/Crop/Resize

    Был не очень прав насчёт этих таракашек - они есть, но теперь гораздо дальше от берега, чем раньше. Пришлось очень хорошо понырять, чтобы найти…