Pierre Ossman [Thu, 10 Nov 2011 13:30:39 +0000 (13:30 +0000)]
Send a move event when the pointer leaves the viewport as it makes it much
easier to hit the edge of the screen (which is a popular UI element these
days).
Pierre Ossman [Thu, 10 Nov 2011 12:37:39 +0000 (12:37 +0000)]
The CopyRect encoding is very efficient so it is wasteful to check those
areas here. It also makes the CUT counter-productive in some cases as it
tends to expand small changes to BLOCK_SIZE (16 pixels) because of the copy
regions.
Pierre Ossman [Tue, 8 Nov 2011 12:12:02 +0000 (12:12 +0000)]
Cork the outgoing TCP stream while we still have messages to process. This
allows more efficent use of the congestion window as we will send fewer packets.
DRC [Tue, 8 Nov 2011 08:38:58 +0000 (08:38 +0000)]
Some platforms (I'm looking at you, MinGW64) have gettext but not iconv, so the build fails because iconv.h is missing. Thus, disable NLS if either gettext or iconv is not found.
DRC [Mon, 7 Nov 2011 21:18:56 +0000 (21:18 +0000)]
Fix legacy-friendly build (I hope). r4745 (enabling DPMS) removed -DNO_HW_ONLY_EXTS from Xvnc_CPPFLAGS in unix/xserver/hw/vnc/Makefile.am, which caused xorg-xserver 1.6.5 to attempt to build the XFree86-DRI extension, but the stub for
XFree86DRIExtensionInit() was missing, so Xvnc failed to link. Adding --disable-dri (r4765) caused the GLX build to fail, because GLX needs either DRI or DRI2, and DRI2 was not being properly detected because the dri2proto module we were using was too old for our X server version.
Pierre Ossman [Mon, 7 Nov 2011 21:13:54 +0000 (21:13 +0000)]
Clean up the interface for VNCSConnectionST. Entry points are more apparent
and the data flow is now more strictly aimed towards this connection class.
DRC [Thu, 3 Nov 2011 18:49:21 +0000 (18:49 +0000)]
If the client and server are using identical pixel formats, then perform Tight decoding directly into the viewer's back buffer, rather than going through the slow fillRect/imageRect routines.
Pierre Ossman [Thu, 3 Nov 2011 12:50:52 +0000 (12:50 +0000)]
We informed the RFB layer of RENDER operations before they were actually
carried out. Under some circumstances, this could result in an update going
out with the old framebuffer contents.
Pierre Ossman [Tue, 25 Oct 2011 15:13:13 +0000 (15:13 +0000)]
Make socket writes non-blockable. This allows the system to more quickly
return back to the Xorg main loop, meaning that things will be more responsive
in the presence of slow VNC clients.
Pierre Ossman [Tue, 18 Oct 2011 14:27:07 +0000 (14:27 +0000)]
Another attempt at solving the compression level change problems. We were still
not detecting the correct approach properly, and hence still getting crashes.
Brian Hinz [Fri, 14 Oct 2011 00:36:02 +0000 (00:36 +0000)]
Improved TightJPEG decoder by using a BufferedImage. It simplifies the code, and even though it's just used for grabbing the pixels, it should be faster since it can be HW accelerated. Also added a super.finalize() to the finalizer method in the ZlibInStream class for good measure.
DRC [Wed, 12 Oct 2011 21:29:34 +0000 (21:29 +0000)]
This is subtle, but add_definitions() also adds definitions to the windres command line when building with MinGW, and this causes subsequent barfage because windres doesn't grok the -static-libgcc flag.
Brian Hinz [Wed, 12 Oct 2011 20:51:05 +0000 (20:51 +0000)]
Revert a change from yesterday that broke the viewer (setAccelerationPriority). Fix some more issues with window sizing and scaling. Trying to eliminate unnecessary synchronization.
DRC [Wed, 12 Oct 2011 20:02:55 +0000 (20:02 +0000)]
Re-order headers to ensure that winsock2.h is included before windows.h. Otherwise, MinGW64 complains and MSVC barfs. This is necessary because os.h now includes windows.h via. w32tiger.h.
DRC [Wed, 12 Oct 2011 19:38:48 +0000 (19:38 +0000)]
Newer versions of GCC (specifically, the one in MinGW64) don't like casting directly from a 64-bit pointer to a 32-bit integer, so we need to first cast to a 64-bit integer (remember that Windows is LLP64)
Brian Hinz [Thu, 6 Oct 2011 06:21:32 +0000 (06:21 +0000)]
More changes to scaling code. Tested on Ubuntu 11.04/OpenJDK and Win7/Sun Java 6u27. Auto, FixedRatio, & % scale all seem to work. Will test on other platforms soon.
DRC [Wed, 5 Oct 2011 21:39:59 +0000 (21:39 +0000)]
The previous fix to the NullPointer issue did not work, because it was simply setting separator to null (not what we want.) Fix the issue properly + fix spelling of "separator".
DRC [Wed, 5 Oct 2011 21:28:03 +0000 (21:28 +0000)]
Launch vncconfig directly from vncserver, not from xstartup. Justification: vncconfig is necessary to enable basic functionality of the TigerVNC system (clipboard transfer, most notably.) It isn't always going to be in the PATH, and in fact, there might be more than one version of it on the system (for instance, a version from RealVNC in /usr/bin and a version from TigerVNC in /opt/TigerVNC/bin.) If it is desirable to disable vncconfig under certain circumstances, then I would suggest adding a command-line option to vncserver to accomplish that.
Brian Hinz [Wed, 5 Oct 2011 03:45:43 +0000 (03:45 +0000)]
More fixes for bug #3418256. Copied jarsigning routine from TurboVNC in order to produce a signed applet so the system clipboard can be accessed from when used in applet mode. These changes will need some testing to make sure that there aren't any corner-cases where something breaks.
Brian Hinz [Tue, 4 Oct 2011 23:53:01 +0000 (23:53 +0000)]
Fixes for bug #3418258. Cleans up all of the 'unchecked' and 'deprecated' linter warnings. Several of the redundant casts have been intentionally left for clarity. Set '-serial' and '-cast' linter flags to reduce the number of warnings (it should be safe to ignore serial because the end product is a jar rather than individual class files. AFAIK, there is no performance penalty for redundant casts in Java). If anyone objects to the linter flags they can be removed (the linter flags, that is).
DRC [Tue, 4 Oct 2011 06:57:19 +0000 (06:57 +0000)]
Always look for the Java classes in ../vnc/classes first before looking in the system locations. This prevents TigerVNC from picking up the Java classes from a RealVNC installation.
DRC [Tue, 4 Oct 2011 02:09:13 +0000 (02:09 +0000)]
Re-commit MSVC build fixes, which were forcibly removed by 4675. Please (a) bring these upstream so they don't get deleted again, and (b) always check the build with MSVC prior to committing modifications to any libraries that affect that build.
DRC [Sat, 1 Oct 2011 19:13:12 +0000 (19:13 +0000)]
Disable Composite extension by default in the legacy-friendly TigerVNC build. Justification: Some older versions of Gnome do not work properly when Composite is enabled. This is known to be a problem with RHEL 4 (Gnome 2.8), and it causes the legacy-friendly build to be unusable on that platform. Newer Gnome versions, such as 2.16.0 (the version in RHEL 5), work properly with Composite enabled, but those versions don't support compositing anyhow, so it doesn't matter if we remove the extension. Typically, platforms that are new enough to support compositing are also new enough to not require the legacy-friendly build of TigerVNC. Further, Composite can be re-enabled by simply adding --enable-composite to the XORGCFGFLAGS env. variable prior to executing 'build-xorg build'.