]> source.dussan.org Git - tigervnc.git/commitdiff
When the desktop size is less than the viewport size, ignore mouse events that occur...
authorBrian Hinz <bphinz@users.sourceforge.net>
Wed, 23 Jan 2013 23:12:32 +0000 (23:12 +0000)
committerBrian Hinz <bphinz@users.sourceforge.net>
Wed, 23 Jan 2013 23:12:32 +0000 (23:12 +0000)
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5035 3789f03b-4d11-0410-bbf8-ca57d06f2519

java/com/tigervnc/vncviewer/DesktopWindow.java

index 7254a0b8b333c5158216106f99d4700a439c0680..0fcfcb113a7a1091d583cc8d180ba0677b2587b6 100644 (file)
@@ -390,11 +390,10 @@ class DesktopWindow extends JPanel implements
 
   /** Mouse-Motion callback function */
   private void mouseMotionCB(MouseEvent e) {
-    if (!cc.viewer.viewOnly.getValue()) {
+    if (!cc.viewer.viewOnly.getValue() &&
+        e.getX() >= 0 && e.getX() <= scaledWidth &&
+        e.getY() >= 0 && e.getY() <= scaledHeight)
       cc.writePointerEvent(e);
-      lastX = e.getX();
-      lastY = e.getY();      
-    }
     // - If local cursor rendering is enabled then use it
     if (cursorAvailable) {
       // - Render the cursor!
@@ -408,13 +407,17 @@ class DesktopWindow extends JPanel implements
         }
       }
     }
+    lastX = e.getX();
+    lastY = e.getY();      
   }
   public void mouseDragged(MouseEvent e) { mouseMotionCB(e);}
   public void mouseMoved(MouseEvent e) { mouseMotionCB(e);}
 
   /** Mouse callback function */
   private void mouseCB(MouseEvent e) {
-    if (!cc.viewer.viewOnly.getValue())
+    if (!cc.viewer.viewOnly.getValue() &&
+        e.getX() >= 0 && e.getX() <= scaledWidth &&
+        e.getY() >= 0 && e.getY() <= scaledHeight)
       cc.writePointerEvent(e);
     lastX = e.getX();
     lastY = e.getY();