| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Makes it easier to troubleshoot keyboard issues by printing exactly
what key events the server is getting from the client.
|
|
|
|
|
|
| |
The bug fix in b64dbf2 didn't account for the proper request
region in the case of continuous updates. Make sure we use the
proper variable for which region we've sent updates for.
|
|
|
|
|
|
| |
A request may be for only part of the frame buffer, meaning we cannot
discard all changes just because we've send out an update. There might
still be modified areas remaining that haven't been requested yet.
|
|
|
|
|
|
|
| |
Variables were reused a bit too heavily and it was possible to get
the logic at a point where the server would try to render a cursor
where it wasn't needed, and the empty update rect would cause a
crash. Clear things up by introducing some more explicit variables.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The only class that cares if connections are reversed or not is
VNCSConnectionST so let it keep track of this fact.
|
|
|
|
|
|
|
|
| |
The internal Xorg headers are very incompatible with C++ and we've had
to resort to all kinds of hacks in order to include them in our C++
code. This approach isn't really viable long term so restructure things
so that we have a glue layer written in C that bridges the Xorg core
with the RFB classes.
|
|
|
|
|
|
| |
A read-only client should not be allowed to kick out other clients.
It will be forced into shared mode, or refused the connection, depending
on the neverShared parameter.
|
|
|
|
| |
So clients with limited access rights can not affect it.
|
|
|
|
|
|
|
|
| |
This allows us to apply a lot more server logic
independently of which encoder is in use.
Most of this class are things moved over from the
Tight encoder.
|
|
|
|
|
|
|
| |
This avoid a lot of unnecessary middle men. This also pushes the
responsibility for pixel format conversion into the encoders and
decoders. The new bufferFromBuffer() is used for direct conversion,
rather than PixelTransformer/TransImageGetter.
|
|
|
|
|
|
| |
Like we do for everything else. This also gets rid
of the callback, which is a bit out of place
compared to everything else.
|
|
|
|
|
|
| |
Add a magical cursor framebuffer class for handling when you
want to render the cursor on the server side. Keeps the cursor
specific magic in one contained place.
|
| |
|
|
|
|
|
|
| |
The connection object is a much more appropriate object for the
decoders and encoders to keep track of. Besides the streams, it also
contains state like connection parameters.
|
|
|
|
|
| |
This keeps the reader and writer objects clean and simple protocol
decoders/encoders.
|
|
|
|
|
|
|
|
|
| |
Gets rid of a loooot of code and complexity.
Colour map clients are still supported through an
automatically generated map, but we lose the ability to
develop a client or server that uses colour maps
internally.
|
|
|
|
|
|
| |
Get rid of the ability of encoders to only send part of the
rectangle they are given as we don't want partial updates
anyway.
|
|
|
|
|
|
|
|
|
| |
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.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4943 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
|
|
|
| |
Patch by Arthur Huillet.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4858 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
|
|
|
|
| |
cursors. Previously this happened to work anyway because we had a lot of
triggers for updates. After the cleanup, we need to be more explicit.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4824 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
|
|
|
|
|
| |
"auto" state where it will be enabled until we deem that the client is better
of without it (currently triggered by explicitly stating a low compression
level).
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4809 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
|
|
|
| |
as we might send out multiple small packets
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4804 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
| |
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4803 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
| |
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4799 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
|
|
|
| |
well-behaved manner.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4784 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
|
|
|
| |
allows more efficent use of the congestion window as we will send fewer packets.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4782 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
|
|
|
| |
is the common case).
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4780 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
|
|
|
| |
and the data flow is now more strictly aimed towards this connection class.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4771 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
| |
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4755 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
|
|
|
| |
avoids stalling the entire server because of one slow client.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4737 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
|
|
| |
parameters were determined through extensive low-level profiling (see http://www.virtualgl.org/pmwiki/uploads/About/turbototiger.pdf). The other enhancements involved: (1) porting the solid subrectangle pre-computation code from TightVNC/TurboVNC (it makes a pretty big difference-- see report), (2) encapsulating the JPEG encoder in its own class (this eliminates a buffer copy, and the JPEG buffer is now set to a decent size where it shouldn't ever need to be paged or re-allocated, except in rare corner cases), (3) adding support for last rect. encoding (necessary to support the solid rectangle pre-computation enhancements.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4626 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
|
|
|
|
| |
TransImageGetter be just an ImageGetter interface to that functionality. This
allows more flexible use of the pixel conversion routines.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4338 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
|
|
|
|
|
| |
VNCSConnectionST::accessRights.
Fixes bug ID: 3158501.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4257 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
| |
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4039 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
| |
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4033 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
|
|
|
|
| |
broken, so let's keep the warning until we know it's correct.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3975 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
|
|
|
|
|
|
|
| |
* The return statement in needRenderedCursor was way too complicated,
separated into intermediate variable.
* Using parenthesis in setStatus bit masks.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3971 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
|
|
|
| |
change.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3890 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
| |
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3889 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
|
|
|
| |
the old DesktopSize.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3817 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
| |
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3788 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
|
|
|
|
|
|
| |
Make sure we send any modifications to the desktop layout in a message that
does not modify the framebuffer data. This is required to make sure we have
a valid state on the client as it drops the framebuffer when it recieves a
framebuffer dimension change.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3787 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
|
|
|
|
|
| |
TightVNC drops the framebuffer, so we can't realistically send it every
non-incr FUR. Besides, the client needs to keep track of framebuffer
dimensions anyway.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3786 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
|
|
|
|
| |
It has some warts, but should be feature complete. Most of the magic happens
in the desktop class though.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3713 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
| |
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3708 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
| |
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3706 3789f03b-4d11-0410-bbf8-ca57d06f2519
|
|
|
|
| |
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3701 3789f03b-4d11-0410-bbf8-ca57d06f2519
|