aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkraxel <kraxel>2007-02-19 13:22:24 +0000
committerkraxel <kraxel>2007-02-19 13:22:24 +0000
commit7454161b7b588927e5eeca7b97e770d19c1dd61d (patch)
tree1c36f5d003a5a7ca7a9e47decf3422b1c7adc311
parent1be051ab8eb54beefa29c0a3394367f00f293070 (diff)
downloadxenwatch-7454161b7b588927e5eeca7b97e770d19c1dd61d.tar.gz
focus fix
-rw-r--r--vnc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/vnc.c b/vnc.c
index 7db0c3c..c0be346 100644
--- a/vnc.c
+++ b/vnc.c
@@ -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;
}