events from signals



Hi all,

I expect this is a silly question and I have missed something, but I
carn't figure out how to get an event once in an emission function.
Here is the emission funtion:

gboolean sd_gtk_container_mouse_press_hook(GtkObject *object,
						guint signal_id,
						guint n_params,
						GtkArg *params,
						gpointer data)
{
	GdkEvent *event=gdk_event_get();

	if (!event)
	{
		err_m("event = NULL");
		return(FALSE);
	}

err_m("have button event type = %d",event->type);

	sd_gtk_notify_container_event(GTK_WIDGET(object), event, data);

	/* return TRUE if you want the emission hook to be destroyed */
	return(FALSE);
}

this is the call:

gtk_signal_add_emission_hook (gtk_signal_lookup("button-press-event",
GTK_TYPE_WIDGET),
                                              
sd_gtk_container_mouse_press_hook,
                                               NULL);

As you can see I tryed to get the event by calling gdk_event_get this
does'nt seem to work. Is it possible to get the event at this stage?

The reason I want to do this is to pick up mouse press events within
a container so if they happened over a button I can still act on them
as the button default handle eats them otherwise and stops propagation.

Thanks for any help,
Ben.





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]