Brian P. Hinz [Fri, 18 Mar 2016 02:34:52 +0000 (22:34 -0400)]
Various fixes to Java viewer UI
Significant improvements to the Java viewer UI to
make it more robust and tolerant of new tabs, fonts,
etc. TextFields and editable ComboBoxes that are
specific to integer values now only accept integer
input.
Brian P. Hinz [Tue, 1 Mar 2016 01:57:06 +0000 (20:57 -0500)]
Link libX11 dynamically
Building libX11 statically causes problems with libpthread, however
the version of libX11 that ships with el5 is too old to build libXext.
So we have to build a dynamic version of libX11 and link against that
while building. The resulting binary will actually be linked against
the system libX11, which should be ABI compatible as far as Xvnc is
concerned.
Brian P. Hinz [Thu, 11 Feb 2016 04:23:02 +0000 (23:23 -0500)]
Regression fix for Java window size
6262bac introduced a regression that resulted in a 1 pixel border
around the window on some platforms. The underlying issue was
actually caused by overriding the getPreferredSize() method in
DesktopWindow and returning the scaled width & height, which
might not have been set to valid values.
Pierre Ossman [Tue, 12 Jan 2016 09:13:17 +0000 (10:13 +0100)]
Provide description for services
The argument named "desc" was not actually the description, but
rather the short "display name". Add handling for the actual
description to reduce confusion.
Pierre Ossman [Mon, 11 Jan 2016 15:06:26 +0000 (16:06 +0100)]
Better check for on screen visibility
The check for visible drawables didn't account for compositing
which can place a window off-screen. Put all of these checks in
a common place and make sure it detects things properly.
Fix race problem with detecting listening inetd sockets
The previous detection would fail if the socket closed before we
had time to inspect it, which got us stuck in a loop as we would
try (and fail) to do accept() on a non-listening socket.
Fix race problem with detecting listening inetd sockets
The previous detection would fail if the socket closed before we
had time to inspect it, which got us stuck in a loop as we would
try (and fail) to do accept() on a non-listening socket.
Scott Roland [Fri, 4 Dec 2015 20:03:31 +0000 (20:03 +0000)]
Fix coding to be utf-8 instead of UTF-8
Old UTF-8 resulted in this error from GNU Emacs:
Warning (mule): Invalid coding system `UTF-8' is specified
for the current buffer/file by the :coding tag.
It is highly recommended to fix it before writing to a file.
Pierre Ossman [Fri, 13 Nov 2015 09:47:28 +0000 (10:47 +0100)]
Allow conditional dependencies between rects when decoding
Some encodings only cause dependencies between rects some of the
time. Make sure we can allow parallel decoding of those rect that
aren't dependent on each other.
Pierre Ossman [Thu, 12 Nov 2015 11:21:58 +0000 (12:21 +0100)]
Make the decoder multi-threaded
This implements the basic infrastructure for multi-threaded
decoding of rects. However there is just one thread reading data
and one thread decoding it. More logic is needed to safely decode
multiple rects at the same time.
Pierre Ossman [Wed, 11 Nov 2015 12:11:09 +0000 (13:11 +0100)]
Clear up ZlibInStream::reset() behaviour
It previously only did a reset of the ZlibInStream object, not the
underlying zlib stream. It also had the side effect of flushing
the underlying stream and disassociating from it.
Clear things up by changing the naming, and introducing a proper
reset function (which is needed by the Tight decoder).
Pierre Ossman [Tue, 10 Nov 2015 16:17:34 +0000 (17:17 +0100)]
Split decoders into a read and decode step
We need to split these steps up in preparation for multi-core
support. Reading needs to be done in a serial manner, whilst
decoding can be done in parallel.
This also involved a rather large cleanup of the Tight decoder.
Pierre Ossman [Mon, 9 Nov 2015 15:34:54 +0000 (16:34 +0100)]
Delegate decoder object management to a separate class
Done in preparation for multi-core decoding. Keeps the complexity
out of the other classes. This also moves ownership of the
framebuffer in to CConnection. It's the CConnection object that is
aware of the threads and how to synchronise with them. Therefore
the ownership of the framebuffer must also be there to make sure
it isn't deleted whilst threads are working.