diff -rup gtk-vnc-0.3.8.orig/src/vncdisplay.c gtk-vnc-0.3.8.new/src/vncdisplay.c --- gtk-vnc-0.3.8.orig/src/vncdisplay.c 2009-03-27 15:09:37.000000000 +0000 +++ gtk-vnc-0.3.8.new/src/vncdisplay.c 2009-03-27 15:10:14.000000000 +0000 @@ -1034,7 +1034,7 @@ static gboolean on_pointer_type_change(v VncDisplay *obj = VNC_DISPLAY(opaque); VncDisplayPrivate *priv = obj->priv; - if (absolute && priv->in_pointer_grab && !priv->grab_pointer) + if (absolute && priv->in_pointer_grab && priv->grab_pointer) do_pointer_ungrab(obj, FALSE); priv->absolute = absolute;