diff options
-rw-r--r-- | vnc.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -576,7 +576,9 @@ static GdkFilterReturn event_filter(GdkXEvent *gdkxevent, GdkEvent *gtkevent, switch (xevent->type) { case KeymapNotify: if (!vnc->uskbd) - return GDK_FILTER_REMOVE; + return GDK_FILTER_REMOVE; + if (!GTK_WIDGET_HAS_FOCUS(vnc->draw)) + return GDK_FILTER_REMOVE; for (by = 0; by < 32; by++) { if (vnc->keydown[by] == xevent->xkeymap.key_vector[by]) continue; @@ -597,7 +599,7 @@ static GdkFilterReturn event_filter(GdkXEvent *gdkxevent, GdkEvent *gtkevent, } } memcpy(vnc->keydown, xevent->xkeymap.key_vector, 32); - return GDK_FILTER_REMOVE; + return GDK_FILTER_REMOVE; default: return GDK_FILTER_CONTINUE; } |