Pierre Ossman [Fri, 20 Jul 2012 10:47:00 +0000 (10:47 +0000)]
We were not handling the "sync next" fence properly as we sent the response
right after we got the request (instead of waiting for the next command).
This created a race where we could lose pixel format sync between the client
and the server.
Pierre Ossman [Thu, 19 Jul 2012 08:40:48 +0000 (08:40 +0000)]
Implicit drawing operations (like window borders) are done by accessing
the screen pixmap directly. That means that hooking windows is insufficient.
The code now assumes that the drawable is a visible window, or the screen
pixmap (IOW, that all coordinates are screen relative). Had to restructure
some code that only worked on windows to get this working.
Pierre Ossman [Fri, 13 Jul 2012 11:22:55 +0000 (11:22 +0000)]
Implement client side multi-head support. Requires a FLTK patched to support
fullscreen over multiple monitors. Will properly report screen configuration
to the server, provided the server supports it.
Pierre Ossman [Fri, 13 Jul 2012 10:29:15 +0000 (10:29 +0000)]
Add back support for letting the client reconfigure the screen, this time
with all the RandR 1.2 multi-head goodness. Tested with Xvnc, but should
also work with libvnc.so, although it will only work for simpler cases
there.
Pierre Ossman [Thu, 12 Jul 2012 11:31:42 +0000 (11:31 +0000)]
Redo the RandR code in Xvnc/libvnc to use the modern 1.2 API. The old
stuff was a bit buggy, and it didn't really allow us to move forward.
This commit temporarily removes the ability for the client to resize the
session. It will be readded for Xvnc in a later commit. libvnc will be
without that functionality for now, as it is very difficult to get right
there.
Pierre Ossman [Wed, 4 Jul 2012 11:37:10 +0000 (11:37 +0000)]
Add menu entry to have the local window match the size of the remote desktop.
This is useful now that we no longer have size restrictions on the window.
Pierre Ossman [Wed, 4 Jul 2012 11:27:47 +0000 (11:27 +0000)]
Make it possible to dynamically resize the size of the session, when resizing
the viewer window, or when entering or leaving fullscreen mode. Initial
work done by Arthur Huillet and clohr.
Pierre Ossman [Tue, 3 Jul 2012 14:52:26 +0000 (14:52 +0000)]
GnuTLS 3.x has removed gnutls_transport_set_global_errno() in favour of
gnutls_transport_set_errno(). Make sure we call the right errno function
depending on which GnuTLS we're using.
Brian Hinz [Wed, 23 May 2012 03:40:07 +0000 (03:40 +0000)]
Shortened SSH tunneling System property names, fixed problem with parsing of '-via' cmd line option, fixed intermittent problem with SSH password dialog.
Brian Hinz [Sat, 19 May 2012 13:28:43 +0000 (13:28 +0000)]
Fixes what appears to be a Java bug on Linux. Graphics2D.copyArea corrupts the screen image when areas are shifted to the left. Benchmarking show no measurable performance impact from this change, and it seems to mitigate the problem.
Brian Hinz [Mon, 14 May 2012 02:19:41 +0000 (02:19 +0000)]
Implemented rfb/Configuration similar to the native client methods. Added equivalent cmd line options for all native client options except "-menuKey", which needs a little more work on the GUI side before it can be added.
Brian Hinz [Sun, 6 May 2012 19:18:05 +0000 (19:18 +0000)]
Re-implemented SSH tunneling features in Java viewer based on TurboVNC native client method. Adds support for string substitutions of via command, as well as a '-tunnel' option for tunneling directly to VNC server host (also support string substitutions). This implementation requires the vncServerName to be the last argument specified to the viewer, however this is consistent with the behavior of the native client and does not appear to cause any problems when using the viewer in standalone, applet, or jnlp modes.
Pierre Ossman [Thu, 26 Apr 2012 14:27:52 +0000 (14:27 +0000)]
The old Windows viewer was capable of logging to file. This is essential
on Windows as stdout/stderr don't work well there. Make sure the new
viewer also has this functionality.
Pierre Ossman [Thu, 26 Apr 2012 09:18:19 +0000 (09:18 +0000)]
Windows has a bit of a peculiarity in that winsock2.h must be included
before windows.h for correct winsock behaviour. mingw-w64 also enforces
this order, so to avoid compile errors we must include windows.h late in
all files.
Pierre Ossman [Wed, 25 Apr 2012 15:10:38 +0000 (15:10 +0000)]
The reformatting of all the Xserver sources in the 1.12.1 release changed
the headers so now some of them have multiple instances of the C++ "and"
and "xor" keywords on the same line, so the hack to sanitize them needs
to use the sed "g" flag to replace all instances, not just the first.
Otherwise, the build fails with strange errors such as:
"fb.h", line 817: Error: Unexpected type name "FbBits" encountered.
"fb.h", line 817: Error: dst is not defined.
"fb.h", line 818: Error: Unexpected type name "FbStride" encountered.
"fb.h", line 818: Error: dstStride is not defined.
"fb.h", line 819: Error: Badly formed expression.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4899 3789f03b-4d11-0410-bbf8-ca57d06f2519
Brian Hinz [Wed, 25 Apr 2012 03:24:37 +0000 (03:24 +0000)]
Set Nimbus as the default look and feel if it's available, otherwise fallback to the native LAF. Allow LAF to be specified with swing.defaultlaf system property.
Brian Hinz [Thu, 5 Apr 2012 02:08:49 +0000 (02:08 +0000)]
BufferedImage performance is poor on Microsoft Windows platforms, so fallback to the 1.2 implementation if the BI cannot be HW accelerated. Also streamline some of the code by removing synchronized statements and making the method calls themselves synchronized. Modification to the selector implementation to make it behave more like a unix selector
Brian Hinz [Fri, 16 Mar 2012 03:16:42 +0000 (03:16 +0000)]
Workaround for potential failure to read the version string if the data isn't already in the buffer. May need further consideration, the problem can't be reproduced with the binary viewer.
Brian Hinz [Thu, 15 Mar 2012 02:57:52 +0000 (02:57 +0000)]
Fix an issue where java viewer appears to hang on Mac OS X. As far as I can tell, this is caused by an upstream bug which might be fixed in JDK 7, but for now this gets around the problem without significantly affecting performance.
DRC [Mon, 13 Feb 2012 03:55:10 +0000 (03:55 +0000)]
Fix regression caused by r4841. That patch assumed that JPEG encoding always uses the raw buffer, which is not true. If pixel translation is necessary, then JPEG images will sometimes be encoded from the translated (intermediate) buffer instead.
Brian Hinz [Fri, 3 Feb 2012 05:38:23 +0000 (05:38 +0000)]
Replace all stream-based IO with non-blocking NIO-based implementation. Still a fair amount of cleanup to do, particularly in the SSL handler, which is not very robust, and exception handling in general. All core functionality appears to be working fine though.
Pierre Ossman [Mon, 30 Jan 2012 13:58:44 +0000 (13:58 +0000)]
The Tight encoder uses the pixel buffer as a scratch pad, which doesn't
work so well with the new optimisation to feed it the raw frame buffer.
Reorganise and clean up the code to handle this, and make the raw frame
buffer pointer const so that we might avoid such bugs in the future.
Pierre Ossman [Mon, 23 Jan 2012 15:54:11 +0000 (15:54 +0000)]
Fix a race condition where we might get updates thrown at us right after a
framebuffer switch, but before we've been given the pointer to the new
framebuffer.