From: Dietmar Maurer Date: Tue, 21 Aug 2012 07:14:33 +0000 (+0200) Subject: fix focus traversal X-Git-Url: https://git.proxmox.com/?p=vncterm.git;a=commitdiff_plain;h=802fe47e6fa83b0b6639aaf54a8e75f1869b54c8 fix focus traversal --- diff --git a/Makefile b/Makefile index 72514b5..5595c50 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ -RELEASE=2.0 +RELEASE=2.1 PACKAGE=vncterm VERSION=1.0 -PACKAGERELEASE=2 +PACKAGERELEASE=3 ARCH:=$(shell dpkg-architecture -qDEB_BUILD_ARCH) CDATE:=$(shell date +%F) diff --git a/VncViewer.jar b/VncViewer.jar index e9e06e1..e4f64d2 100644 Binary files a/VncViewer.jar and b/VncViewer.jar differ diff --git a/debian/changelog.Debian b/debian/changelog.Debian index 248d8cb..ccffca1 100644 --- a/debian/changelog.Debian +++ b/debian/changelog.Debian @@ -1,3 +1,9 @@ +vncterm (1.0-3) unstable; urgency=low + + * fix focus traversal + + -- Proxmox Support Team Tue, 21 Aug 2012 09:14:04 +0200 + vncterm (1.0-2) unstable; urgency=low * do not create a new process group (with setsid), so diff --git a/debian/control b/debian/control index 76582be..67da076 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Package: vncterm -Version: 1.0-2 +Version: 1.0-3 Section: x11 Priority: optional Depends: libc6 (>= 2.7-18), libjpeg62, zlib1g (>= 1:1.2.1), libvncserver0 diff --git a/tigerpatches/fix-tab-button.patch b/tigerpatches/fix-tab-button.patch new file mode 100644 index 0000000..721b3b3 --- /dev/null +++ b/tigerpatches/fix-tab-button.patch @@ -0,0 +1,35 @@ +Sources found at http://dogfeathers.com/mark/java7issue.html + +Index: tigervnc.new/java/src/com/tigervnc/vncviewer/VncViewer.java +=================================================================== +--- tigervnc.new.orig/java/src/com/tigervnc/vncviewer/VncViewer.java 2012-08-21 09:05:04.000000000 +0200 ++++ tigervnc.new/java/src/com/tigervnc/vncviewer/VncViewer.java 2012-08-21 09:10:27.000000000 +0200 +@@ -110,6 +110,28 @@ + + public void init() { + ++ // fix focus traversal ++ Container topParent = null; ++ Container parent = this; ++ // The natural thing would be to call getParent() until it returns ++ // null, but then you would be looping for a long time, since ++ // PluginEmbeddedFrame's getParent() returns itself. ++ for (int k=0; k < 10; k++) { ++ topParent = parent; ++ parent = parent.getParent(); ++ if (parent == null) break; ++ } ++ ++ // If topParent isn't a KeyEventDispatcher then we must be in some ++ // Plugin version that doesn't need the workaround. ++ try { ++ KeyEventDispatcher ked = (KeyEventDispatcher)topParent; ++ KeyboardFocusManager kfm = KeyboardFocusManager.getCurrentKeyboardFocusManager(); ++ // You have to remove it twice, otherwise the problem isn't fixed ++ kfm.removeKeyEventDispatcher(ked); ++ kfm.removeKeyEventDispatcher(ked); ++ } catch (ClassCastException e) {} ++ + readParameters(); + + refApplet = this; diff --git a/tigerpatches/series b/tigerpatches/series index 89688a4..7c47ff2 100644 --- a/tigerpatches/series +++ b/tigerpatches/series @@ -3,3 +3,4 @@ javascript-events.patch export-ctrl-alt-delete.patch trust-manager.patch username-param.patch +fix-tab-button.patch