- 28 Feb, 2022 7 commits
-
-
Paul Tvete authored
Don't flip the image at all: just read in the opposite direction, and transmit flipped position.
-
Paul Tvete authored
-
Paul Tvete authored
Only convert the images that we are actually going to transmit. TODO: We should keep the image as non-converted and only convert the actual pixels that we are sending.
-
Paul Tvete authored
Let the client keep a reference to the current image. This is a prerequisite for doing RGB swapping and flipping on the fly. In addition, this should also fix a theoretical race condition.
-
Eskil Abrahamsen-Blomfeldt authored
Bug caused by misreading documentation. The docs say: "If another socket is created in the reimplementation of this method, it needs to be added to the Pending Connections mechanism by calling addPendingConnection()." However, this is only if you actually want to use the Pending Connection mechanism. When the socket is added to this list, it will be deleted by the QTcpServer on close, and since it was also deleted by the QVncClient this would crash.
-
Eskil Abrahamsen-Blomfeldt authored
Although the spec does not say the padding has to be zero, it looks like RealVNC uses the padding for alpha if non-zero.
-
Paul Tvete authored
This should make it work on OpenGL ES, but it is very inefficient since it converts the whole image twice for each screen grab
-
- 25 Feb, 2022 1 commit
-
-
Paul Tvete authored
-
- 24 Feb, 2022 3 commits
-
-
Paul Tvete authored
-
Paul Tvete authored
-
Eskil Abrahamsen-Blomfeldt authored
We put the clients and their sockets into separate threads, so that communication, compression, dirty map resolution, etc. is all done out of the main thread.
-
- 23 Feb, 2022 2 commits
-
-
Paul Tvete authored
...and some cleanups
-
Eskil Abrahamsen-Blomfeldt authored
When the surface is resized (or anything that triggers SetEncodings), we recreate the encoder, but the zlib stream should retain its state. So we store this as part of the client instead.
-
- 22 Feb, 2022 3 commits
-
-
Paul Tvete authored
-
Eskil Abrahamsen-Blomfeldt authored
The specs require that you have a single stream object for the connection which does not close until the connection closes, retaining state between frames. Failing to do this caused clients to error out with Z_STREAM_END, which should never be reached as long as the condition is met.
-
Eskil Abrahamsen-Blomfeldt authored
qCompress() adds the uncompressed length of the buffer to the beginning of the stream, which is not part of the protocol. However, this is still disabled, because while the first frame now looks fine, subsequent frames get errors.
-
- 21 Feb, 2022 1 commit
-
-
Paul Tvete authored
-
- 18 Feb, 2022 7 commits
-
-
Paul Tvete authored
(name subject to change)
-
Paul Tvete authored
-
Eskil Abrahamsen-Blomfeldt authored
This just builds on raw and compresses the content with zlib, so it sounds like the easiest compression available
-
Eskil Abrahamsen-Blomfeldt authored
-
Paul Tvete authored
-
Eskil Abrahamsen-Blomfeldt authored
-
Eskil Abrahamsen-Blomfeldt authored
This was probably there for a reason in the original, and the issue it was uncommented to fix has been fixed in a better way.
-
- 17 Feb, 2022 4 commits
-
-
Paul Tvete authored
-
Paul Tvete authored
-
Paul Tvete authored
-
Eskil Abrahamsen-Blomfeldt authored
-
- 16 Feb, 2022 10 commits
-
-
Paul Tvete authored
-
Paul Tvete authored
-
Paul Tvete authored
-
Eskil Abrahamsen-Blomfeldt authored
Manual test draws text of key events into image now.
-
Eskil Abrahamsen-Blomfeldt authored
It was possible to get mouse press events without mouse release events, e.g. if one client sent a Qt::LeftButton press and another client sent a Qt::RightButton press. The Qt::RightButton would just clear the right button state without sending any event for it.
-
Eskil Abrahamsen-Blomfeldt authored
-
Eskil Abrahamsen-Blomfeldt authored
Q_DECLARE_CLASS declares it as class, so at minimum using struct there causes warnings.
-
Eskil Abrahamsen-Blomfeldt authored
-
Eskil Abrahamsen-Blomfeldt authored
Copied the license from the vnc plugin.
-
Eskil Abrahamsen-Blomfeldt authored
Compiles, but no testing yet.
-
- 15 Feb, 2022 1 commit
-
-
Eskil Abrahamsen-Blomfeldt authored
-