| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
| | | |
| | | |
| | | | |
This should have been cleaned up in adaedc9.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is not providing protection for all of the logging, so it gives a
false sense of security. We're also not making use of this as we have
barely any threading.
The exception is the WinVNC code, which is very thread heavy. But it is
unmaintained and will not be a blocker for this.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is not providing adequate protectection in more complex cases, and
we're not making use of threads in a way that should require this.
The exception is the WinVNC code, which is very thread heavy. But it is
unmaintained and will not be a blocker for this.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Decoders are run in threads, and not everything in the logging system is
thread safe.
Normally decoders consider errors to be fatal and throw an exception.
But the H.264 decoder wants to be able to tolerate misbehaving H.264
encoders.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Reset individual contexts the same way we reset all contexts, i.e. by
deleting and recreating them. Avoids surprises by having a consistent
method.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
A false return value from these methods result in an exception anyway,
so let's keep things simple and throw the exception right away.
|
| | | |
| | | |
| | | |
| | | | |
It uses the size_t type, which might not otherwise be defined.
|
| | |/
| | |
| | |
| | |
| | | |
The decodered is already flagged as strictly ordered, which means it
will only be used from a single thread at a time.
|
| | |
| | |
| | |
| | |
| | | |
Instead of just printing the huge usage text and hoping the user figures
out what was wrong.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Only one is supposed to be specified, so error out instead of ignoring
all but one of the arguments.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
This was a weird hack just to support the method that split arguments.
We don't need this know as we expect callers to do any string handling.
|
| | |
| | |
| | |
| | |
| | | |
These two values were overlooked in the look-ahead list and hence did
not work reliably.
|
| | |
| | |
| | |
| | |
| | | |
Avoid duplicating this complexity everywhere and make sure all commands
get the same handling and fixes.
|
| | |
| | |
| | |
| | |
| | | |
Let's avoid using special string formats when we can send this data
structured instead.
|
| | |
| | |
| | |
| | |
| | | |
These were barely needed to begin with, and were purged from upstream
ages ago.
|
| | |
| | |
| | |
| | | |
These never even had an implementation.
|
| | |
| | |
| | |
| | |
| | |
| | | |
The label and options might vary in size, so it's difficult to pick a
size that always fits. Instead, look at the actual strings and
dynamically resize the widget so everything fits.
|
|\ \ \
| |_|/
|/| | |
|
| | |
| | |
| | |
| | | |
Replicates the C++ work done in the previous commit on the Java version.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This adds the option to select which cursor should be used in the event the
server sends an invisible cursor. It also renames the DotWhenNoCursor config
option to AlwaysCursor.
|
| | | |
|
| | |
| | |
| | |
| | | |
compatible format
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The system shutdown() function doesn't drop buffered data, so neither
should we.
We had one fix in place, but that didn't cover all cases. Move this
handling to all socket like classes we have.
|
| | |
| | |
| | |
| | | |
We can make do with forward declarations for these classes.
|
| | |
| | |
| | |
| | |
| | | |
A set restore point needs to be used or cleared. Release builds will let
this slide, but debug builds will kill the connection.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This should scale with the rest of the visible interface, not the
invisible stuff that might vary wildely. In the most extreme cases,
there is no usable area left as everything on screen becomes "edge".
|
| | |
| | |
| | |
| | |
| | |
| | | |
MSYS2 is unfortunately now only packaging FLTK 1.4.0, which we aren't
compatible with. Manually force the previous version until we can have a
more stable fix in place.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This got completely broken in baca73d0 where the templated method got
incorrectly called instead of the wrapper/multiplexer. It seems to have
been harmless on most systems, but caused crashes on CPUs with strict
memory alignment requirements.
|
| | | |
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Encapsulate all the platform specific magic around keyboard in to
specific classes, in order to keep the core code more readable.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is a general thing so move it in to the core library instead,
letting vncviewer focus on just translation of system events to VNC
ones.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
We might not always be able to map to an RFB key code, so let's use the
platform specific code to track which keys are pressed.
|
|\ \ \ \
| |_|_|/
|/| | | |
Fix for regression in 260a3e0 that broke code signing
|
|/ / / |
|
| | |
| | |
| | |
| | | |
Homebrew now defaults to FLTK 1.4, which we are not compatible with.
|
| | |
| | |
| | |
| | | |
Overlooked this special exception in the previous commit.
|
| | |
| | |
| | |
| | |
| | | |
This is required for the built in exceptions, so let's do the same to
avoid surprises.
|
| | |
| | |
| | |
| | |
| | |
| | | |
That type is not guaranteed to preserve anything useful at all. Instead,
try to either preserve a more specific type, or use std::runtime_error
which at least has a guaranteed message.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These are more reliably as they are called once the decision has been
made as to how to display the cursor. The other hooks are sensitive to
the order of extensions, which means that we can overlook cursor changes
done by other extensions (e.g. hiding it).
|
| | |
| | |
| | |
| | |
| | |
| | | |
Some paths indicate a hidden cursor using NullCursor, and some (most)
use a valid cursor that just has no contents. Make sure we can handle
both cases.
|
| | | |
|
| | | |
|
| | | |
|