Brian Hinz [Sun, 3 Mar 2013 16:53:41 +0000 (16:53 +0000)]
Backported a number of fixes/enhancements (mostly related to keymapping) from TurboVNC viewer. Also cleaned up some whitespace and minor formatting changes.
Brian Hinz [Fri, 1 Mar 2013 00:29:10 +0000 (00:29 +0000)]
Using DirectColorModel constructor with an alpha mask other than 0 creates a ColorMap with Transparency.TRANSLUCENT rather than OPAQUE. This in turn causes rendering between opaque BufferedImages or to the screen to be performed without HW acceleration.
Brian Hinz [Fri, 22 Feb 2013 19:47:13 +0000 (19:47 +0000)]
comboBoxEdited events are fired if the content of the JComboBox is edited and then the comboBox is de-selected. This causes the connection to be initiated inadvertently sometimes (like when the About... button was pressed. Removed the ItemListener since it didn't serve any purpose, and also deleted the definition of endDialog() since it was the same as the inherited function anyway.
Brian Hinz [Thu, 21 Feb 2013 03:11:14 +0000 (03:11 +0000)]
Fixes yet another case where the viewport background wasn't painted black when the desktop size was less than the viewport size. Also set both scrollbar policies just as a precaution.
Pierre Ossman [Tue, 19 Feb 2013 08:59:03 +0000 (08:59 +0000)]
Modern versions of ImageMagick properly respects the SVG default
DPI of 90, which causes unwanted scaling under ImageMagick's default
72. Force a 72 DPI to get pixel perfect matching.
Brian Hinz [Wed, 23 Jan 2013 22:46:53 +0000 (22:46 +0000)]
Fixes a number of issues related to fullscreen mode. When switching out of fullscreen mode via the options dialog, setFullScreenWindow was being applied to the old reference, causing the whole screen to be blanked and unresponsive. The checkmark in the F8 menu could sometimes get out of sync with the state of the option. Cursor wasn't always being re-scaled when scale factor was changed. It seems that setCursor can still sometimes be passed a null pointer for the hotspot, so add back in a check that was removed in r5025
Peter Åstrand [Tue, 22 Jan 2013 08:11:05 +0000 (08:11 +0000)]
The recommended FLTK version is now 1.3.2. This means that several
patches are no longer necessary. Also, provide a shell script to
download and apply all patches.
Brian Hinz [Sat, 12 Jan 2013 01:17:35 +0000 (01:17 +0000)]
Fixes a number of issues related to cursor handling, including "invalid hotspot" exception caused when cursor hotspot is outside the maximum cursor size supported by the toolkit on the client. Also, local cursor was not being drawn properly when the display size was scaled.
DRC [Mon, 7 Jan 2013 22:24:01 +0000 (22:24 +0000)]
Check the generated icons into the build tree. This solves a couple of issues: (1) it eliminates the build dependency on ImageMagick, which was not documented and which creates a hard-to-diagnose build failure on platforms on which it isn't available, and (2) the build was completely broken on Windows, because Windows has a convert.exe program that is part of the operating system, and the TigerVNC build system was finding this and attempting to use it to generate the icons.
Brian Hinz [Sun, 16 Dec 2012 20:35:39 +0000 (20:35 +0000)]
Make exception handling more user friendly. Not all exceptions are 'errors' (for example, exiting the server intentionally via the window manager's logoff button).
Pierre Ossman [Wed, 17 Oct 2012 07:59:20 +0000 (07:59 +0000)]
Starting in full screen was misbehaving because we were waiting
for a FL_FULLSCREEN event to set things up properly, and FLTK
doesn't emit this for a hidden window.
Pierre Ossman [Wed, 3 Oct 2012 12:21:54 +0000 (12:21 +0000)]
XFCE's window manager did not interact well with the code that avoided
accidental legacy full screen requests. Seems we need to sort that
FIXME out sooner rather than later.
Pierre Ossman [Tue, 2 Oct 2012 14:45:10 +0000 (14:45 +0000)]
Using maximize and full screen at the same time on OS X would misbehave
as we would first create a full screen window, then resize it to a
maximized site. Reorganise things a bit so that we get sensible
behaviour.
Brian Hinz [Sat, 1 Sep 2012 19:24:26 +0000 (19:24 +0000)]
Forces all dialogs except for the clipboard to be modal. Fixes cases where dialogs are not brought to the front while in fullscreen mode. Corrects a few corner cases where viewer did not exit properly.
Brian Hinz [Sun, 26 Aug 2012 21:19:19 +0000 (21:19 +0000)]
The x509ca and x509crl parameters were being set to the value of the button text. The parameter values are already set by the jfilechooser called from the options dialog, so no need to set them again anyway.
Brian Hinz [Sun, 26 Aug 2012 21:17:00 +0000 (21:17 +0000)]
Make the window actually occupy the full screen in full-screen mode (without this, other windows, such as the taskbar on Linux, will display in front of it.). Additional fixes for various full-screen mode issues (Setting FullScreen checkbox in options menu had no effect, null pointer, etc. When fullScreen and scaling options are changed simultaneously in the dialog, collapse the viewport changes into a single operation. There is still a modality issue on OS-X that will be addressed in a later patch.
Brian Hinz [Sun, 26 Aug 2012 21:02:22 +0000 (21:02 +0000)]
Make sure we send a full FBUR whenever forceNonincremental=true (which it is during the initial FBUR.) This specifically fixes an issue whereby a black screen would be displayed when initially connecting to the OS X built-in VNC server.
Brian Hinz [Sun, 26 Aug 2012 18:24:15 +0000 (18:24 +0000)]
Refactor the handshake code from first principles to remove code that was borrowed from Netty, which is released under an incompatible license (Apache v2.) Since our SSLEngineManager class was loosely inspired by, but no code was actually borrowed from, the Oracle JSSE examples, it is my opinion that it was incorrect to attribute copyright to Oracle, so that message has been removed (their examples are released under a BSD-style license, anyhow, so it's a non-issue.)
Brian Hinz [Sun, 26 Aug 2012 18:22:24 +0000 (18:22 +0000)]
Remove the AWTPixelBuffer class. After switching to using rasters in BIPixelBuffer, we can no longer find a case in which AWTPixelBuffer performs faster.
Brian Hinz [Sun, 26 Aug 2012 18:20:15 +0000 (18:20 +0000)]
Significantly improve performance by eliminating the intermediary MemoryImageSource and instead directly modifying the pixels in the BufferedImage. Supposedly, doing this causes the BufferedImage to become unmanaged. At one time, unmanaged images weren't hardware-accelerated on some platforms, but that doesn't seem to be the case with Java 1.5 and later.
Pierre Ossman [Thu, 23 Aug 2012 14:53:36 +0000 (14:53 +0000)]
X11 window managers are very buggy when it comes to having a window start
in full screen mode. So we'll resort to creating a normal window, and then
switching to full screen once it is mapped. Unfortunately it means we need
to handle delaying some resize handling.