Re: Using g_signal_connect in an event handler
- From: David Nečas (Yeti) <yeti physics muni cz>
- To: gtk-app-devel-list gnome org
- Subject: Re: Using g_signal_connect in an event handler
- Date: Tue, 17 Oct 2006 14:17:28 +0200
On Tue, Oct 17, 2006 at 01:51:47PM +0200, Lorenzo Marcon wrote:
int main(int argc, char *argv[]) {
...
gpointer data[5];
...
data[0] = (gpointer) gtk_entry_get_text (GTK_ENTRY (entry));
data[1] = (gpointer) notebook;
data[2] = (gpointer) progress_bar;
data[3] = (gpointer) &stop;
data[4] = (gpointer) window;
This is quite cumbersome. Why don't you at least create
a struct and pass a pointer to that? You can pass any
pointer as the callback data.
gboolean enter_callback(GtkWidget *widget, gpointer *data) {
...
g_signal_connect (G_OBJECT (event_box), "button-press-event", G_CALLBACK
(x_click_callback), data[1]);
....
}
gboolean x_click_callback(GtkWidget *event_box, gpointer data) {
//Here I get segfault if I try to remove the tab.
}
Because the prototype of the signal handler is different, it
gets the event as the second argument. See
http://developer.gnome.org/doc/API/2.0/gtk/GtkWidget.html#GtkWidget-button-press-event
Yeti
--
Whatever.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]