| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
We had an unintentional conflict with PixelBuffer::setSize() here.
But we can simplify this further as this initialization is only used
by the subclass DeviceFrameBuffer, and only once.
|
|
|
|
|
|
|
|
| |
Provides safety against them accidentally becoming negative because
of bugs in the calculations.
Also does the same to CharArray and friends as they were strongly
connection to the stream objects.
|
|
|
|
|
|
| |
Don't allow subclasses to just override dimensions or buffer details
directly and instead force them to go via methods. This allows us
to do sanity checks on the new values and catch bugs and attacks.
|
|
|
|
|
| |
Window hooks aren't working well on modern systems so switch the
default to polling until we can fix things.
|
|
|
|
|
| |
In prepartion for better clipboard extensions that can send Unicode
data between the client and server.
|
|
|
|
|
| |
Change the internal clipboard API to use a request based model in
order to be prepared for more advanced clipboard transfers.
|
|
|
|
|
|
| |
We now filter incoming data, which means we can start assuming the
clipboard data is always null terminated. This allows us to clean
up a lot of the internal handling.
|
|
|
|
|
|
| |
This is required by the protocol so we should make sure it is
enforced. We are tolerant of clients that violate this though and
convert incoming clipboard data.
|
|
|
|
|
| |
It is not enough to create an exception object, you need to throw
it as well.
|
|
|
|
|
|
| |
It doesn't belong on each socket server object as timers are global.
Force implementations to call the Timer system directly instead,
avoiding any middle men.
|
|
|
|
|
|
| |
Do a proper cleanup when one of the termination timeouts trigger
rather than just exiting on the spot. This makes sure we don't leave
stray stuff around, e.g. unix socket files.
|
|
|
|
|
| |
It is functionality specific to WinVNC, so move the code there
to make things more clear.
|
|
|
|
|
| |
Make things simpler by making this a part of the SDesktop interface
that always needs to be implemented.
|
|
|
|
|
| |
Applets don't work anymore so remove everything that has to do
with serving them.
|
|
|
|
|
| |
Shift+Alt often generates Meta on Unix systems. Assume this is the
same thing as Alt on Windows.
|
|
|
|
|
| |
We use polymorphic exception objects, so catching by value invokes
the copy constructor and stuff that we don't really want.
|
|
|
|
|
|
| |
It cannot keep itself in sync with the actual screen contents well
enough for CopyRect to work accurately. Graphical glitches could
be seen in some cases.
|
|\ |
|
| |
| |
| |
| |
| | |
Ctrl+Alt+Delete requires special handling to trigger on Windows.
Make sure this works in raw keyboard mode as well.
|
| |
| |
| |
| |
| | |
Windows mostly follows the AT set 1 scan codes that we want, but
there are a few exceptions.
|
|/ |
|
|
|
|
| |
It was only used by WinVNC, so push it there instead.
|
|
|
|
|
|
|
|
|
|
|
| |
If scan codes are available using QEMU Extended Keyboard Messages
from clients, use that to inject scancodes directly into the
system using the SendInput API.
No conversion is needed as Windows uses the same scancode encoding.
Signed-off-by: Rahul Kale <Rahul.Kale@barco.com>
Signed-off-by: Peter Korsgaard <peter.korsgaard@barco.com>
|
|
|
|
|
|
| |
This adds the basic infrastructure and handshake for the QEMU
Extended Key Events extension. No viewer or server makes use of
the extra functionality yet though.
|
|
|
|
|
|
|
|
|
|
| |
LED support added using Windows GetKeyState() API call.
The state is polled for change in CapsLock/NumLock/ScrollLock
status in the same code block where chages to Cursor shape is polled.
Signed-off-by: Rahul Kale <Rahul.Kale@barco.com>
Signed-off-by: Peter Korsgaard <peter.korsgaard@barco.com>
|
|
|
|
|
| |
This will allow us to use better formats that preserve the entire
alpha channel.
|
| |
|
|
|
|
| |
Use the platform independent primitives instead.
|
|
|
|
|
|
| |
What to do when a socket is writeable should be handled in the
RFB core code as there may be other events we want to fire off
when this happens.
|
|
|
|
|
| |
We have lots of code that deals with Windows versions that we no
longer support anyway. Clean out all of this old cruft.
|
|
|
|
|
| |
We don't have any meaningful code for the mirror driver, so
remove the confusing stub and interface for it.
|
|
|
|
|
|
| |
The argument named "desc" was not actually the description, but
rather the short "display name". Add handling for the actual
description to reduce confusion.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Solve it by casting to the larger of the two, i.e. 64-bit.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Either by casting, or switching to a more appropriate type
for the variable.
|
|
|
|
|
| |
Clearly separates the read API from the write API
and also from actual implementation.
|
|
|
|
|
|
| |
It was confusing and not properly used everywhere.
Callers should use the stride they get when they get
the buffer pointer.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|