fix focus traversal
authorDietmar Maurer <dietmar@proxmox.com>
Tue, 21 Aug 2012 07:14:33 +0000 (09:14 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 21 Aug 2012 07:21:59 +0000 (09:21 +0200)
Makefile
VncViewer.jar
debian/changelog.Debian
debian/control
tigerpatches/fix-tab-button.patch [new file with mode: 0644]
tigerpatches/series

index 72514b5..5595c50 100644 (file)
--- 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)
 
index e9e06e1..e4f64d2 100644 (file)
Binary files a/VncViewer.jar and b/VncViewer.jar differ
index 248d8cb..ccffca1 100644 (file)
@@ -1,3 +1,9 @@
+vncterm (1.0-3) unstable; urgency=low
+
+  * fix focus traversal
+
+ -- Proxmox Support Team <support@proxmox.com>  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
index 76582be..67da076 100644 (file)
@@ -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 (file)
index 0000000..721b3b3
--- /dev/null
@@ -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;
index 89688a4..7c47ff2 100644 (file)
@@ -3,3 +3,4 @@ javascript-events.patch
 export-ctrl-alt-delete.patch
 trust-manager.patch
 username-param.patch
+fix-tab-button.patch