sigh, it wasn't so simple - first correction

-timj
This commit is contained in:
Tim Janik
1998-01-21 09:16:33 +00:00
parent 10be064561
commit 2d42cb955e
2 changed files with 16 additions and 10 deletions

View File

@@ -204,8 +204,8 @@ static GdkWindow *button_window[2]; /* The last 2 windows to rec
*/
static guint button_number[2]; /* The last 2 buttons to be pressed.
*/
static gboolean pointer_is_grabbed = FALSE; /* Boolean value of wether the there is
* an active x pointer grab in effect
static GdkWindowPrivate *xgrab_window = NULL; /* Window that currently holds the
* x pointer grab
*/
#ifdef USE_XIM
@@ -1287,7 +1287,7 @@ gdk_pointer_grab (GdkWindow * window,
time);
if (return_val == GrabSuccess)
pointer_is_grabbed = TRUE;
xgrab_window = window_private;
return return_val;
}
@@ -1314,7 +1314,7 @@ gdk_pointer_ungrab (guint32 time)
gdk_input_vtable.ungrab_pointer (time);
XUngrabPointer (gdk_display, time);
pointer_is_grabbed = FALSE;
xgrab_window = NULL;
}
/*
@@ -1335,7 +1335,7 @@ gdk_pointer_ungrab (guint32 time)
gint
gdk_pointer_is_grabbed (void)
{
return pointer_is_grabbed;
return xgrab_window != NULL;
}
/*
@@ -2425,6 +2425,9 @@ gdk_event_translate (GdkEvent *event,
event->any.type = GDK_UNMAP;
event->any.window = window;
if (xgrab_window == window_private)
xgrab_window = NULL;
return_val = window_private && !window_private->destroyed;
break;

View File

@@ -204,8 +204,8 @@ static GdkWindow *button_window[2]; /* The last 2 windows to rec
*/
static guint button_number[2]; /* The last 2 buttons to be pressed.
*/
static gboolean pointer_is_grabbed = FALSE; /* Boolean value of wether the there is
* an active x pointer grab in effect
static GdkWindowPrivate *xgrab_window = NULL; /* Window that currently holds the
* x pointer grab
*/
#ifdef USE_XIM
@@ -1287,7 +1287,7 @@ gdk_pointer_grab (GdkWindow * window,
time);
if (return_val == GrabSuccess)
pointer_is_grabbed = TRUE;
xgrab_window = window_private;
return return_val;
}
@@ -1314,7 +1314,7 @@ gdk_pointer_ungrab (guint32 time)
gdk_input_vtable.ungrab_pointer (time);
XUngrabPointer (gdk_display, time);
pointer_is_grabbed = FALSE;
xgrab_window = NULL;
}
/*
@@ -1335,7 +1335,7 @@ gdk_pointer_ungrab (guint32 time)
gint
gdk_pointer_is_grabbed (void)
{
return pointer_is_grabbed;
return xgrab_window != NULL;
}
/*
@@ -2425,6 +2425,9 @@ gdk_event_translate (GdkEvent *event,
event->any.type = GDK_UNMAP;
event->any.window = window;
if (xgrab_window == window_private)
xgrab_window = NULL;
return_val = window_private && !window_private->destroyed;
break;