Re: Problem with gdk_pointer_is_grabbed() + test program
- From: Damon Chaplin <damon karuna freeserve co uk>
- To: Gtk Developers List <gtk-devel-list redhat com>
- Subject: Re: Problem with gdk_pointer_is_grabbed() + test program
- Date: Wed, 07 Apr 1999 20:38:47 +0100
Damon Chaplin wrote:
>
> gdk_pointer_is_grabbed() often returns 0 even if there is a grab.
I've just remembered that X does an automatic pointer grab if a
window selects both button_press & button_release events.
So gdk_pointer_is_grabbed() shouldn't be considered totally reliable.
> I was trying to make sure any pointer grab was released before
> calling abort() so I could debug my app. I knew there was a pointer
> grab, but gdk_pointer_is_grabbed() always returned 0.
Maybe this should be done automatically by GTK+/GLib.
How about adding this to GLib:
GVoidFunc g_abort_handler = NULL;
void
g_set_abort_handler (GVoidFunc *func)
{
g_abort_handler = func;
}
and GTK+ calls this on startup:
g_set_abort_handler (gtk_abort_handler);
which does this:
void
gtk_abort_handler (void)
{
gdk_pointer_ungrab (GDK_CURRENT_TIME);
gdk_flush ();
abort ();
}
Or maybe use a GHookList just in case multiple functions need to be called.
Damon
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]