summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Fully standardise on send()/recv()Pierre Ossman2017-11-082-7/+6
| | | | | | | | | | | | We already assume sockets here since we use select().
* | | Merge branch 'x0-xdesktop-initial-cursor' of ↵Pierre Ossman2017-11-0824-762/+575
|\ \ \ | | | | | | | | | | | | https://github.com/x11clone/x11clone
| * | | x0vncserver does not support SetDesktopSize; remove -AcceptSetDesktopSizePeter Åstrand (astrand)2017-11-083-0/+27
| | | | | | | | | | | | | | | | Add a Configuration::removeParam to support such cases.
| * | | Configuration::listParams wants width/nameWidth; not ConfigurationObjectPeter Åstrand (astrand)2017-11-081-1/+1
| | | |
| * | | Removed IRIX/Solaris overlay supportPeter Åstrand (astrand)2017-11-085-289/+4
| | | | | | | | | | | | | | | | Legacy systems.
| * | | Remove support for Lynx/OSPeter Åstrand (astrand)2017-11-084-20/+0
| | | |
| * | | Added my/Cendio copyright where relevantPeter Åstrand (astrand)2017-11-084-0/+4
| | | |
| * | | Set the correct cursor when startingPeter Åstrand (astrand)2017-11-082-6/+16
| | | | | | | | | | | | | | | | | | | | XFixes only reports cursor changes. We must manually call XFixesGetCursorImage() when starting.
| * | | Use send() with MSG_DONTWAIT when possiblePeter Åstrand (astrand)2017-11-081-1/+9
| | | |
| * | | Define cork() as pure virtual in Socket classPeter Åstrand (astrand)2017-11-084-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | This makes it possible to create a derived class from Socket which is not TCP based, without having VNCSConnectionST.cxx trying to call setsockopt() on a non-socket.
| * | | Move XDesktop to separate filePeter Åstrand (astrand)2017-11-084-419/+499
| | | | | | | | | | | | | | | | Define ledNames in XDesktop.cxx, rename N_LEDS to XDESKTOP_N_LEDS
| * | | Using namespace rfb in header files is a bad ideaPeter Åstrand (astrand)2017-11-075-17/+15
| | | |
| * | | Build with support for MIT-SHMPeter Åstrand (astrand)2017-11-072-11/+1
| | | | | | | | | | | | | | | | No need for ifdefs; we can assume MITSHM. Already done in vncviewer.
* | | | Avoid corner case of applications rendering at frame ratePierre Ossman2017-11-061-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a problematic corner case where an application is updating at exactly the same rate that we're sending update. In that case we may miss updates regularly, getting a very uneven final frame rate. Avoid this by introducing a slight offset when we start updating.
* | | | Fix broken logic for sending mouse cursorPierre Ossman2017-11-061-2/+3
| | | | | | | | | | | | | | | | | | | | The logic got inverted resulting in the cursor being sent needlessly whenever the cursor moved.
* | | | Update distro package requirementsBrian P. Hinz2017-10-292-2/+2
| | | |
* | | | Patch the el7 xorg source appropriatelyBrian P. Hinz2017-10-291-1/+1
|/ / /
* | | Add debug trace when the clipboard changesPierre Ossman2017-10-121-0/+3
| | |
* | | Don't validate timestamp on clipboard requestPierre Ossman2017-10-121-7/+5
| | | | | | | | | | | | | | | The normal Xorg server doesn't check this field, so neither can we as there are applications relying on this leniancy.
* | | Make exception classes have clearer messagesPierre Ossman2017-10-126-39/+47
| | | | | | | | | | | | | | | Include the type of exception in the string generated by each subclass. Also simplify the constructs to what is needed.
* | | Add Travis CI configurationPierre Ossman2017-10-061-0/+17
| | |
* | | Improve test if library is a CMake targetPierre Ossman2017-10-061-2/+1
| | | | | | | | | | | | | | | Newer CMake complains when you try to get the property of something that isn't a target so use the specific if operator instead.
* | | Avoid getting LOCATION propertyPierre Ossman2017-10-061-3/+2
| | | | | | | | | | | | | | | It's not supported in newer CMake, so try to deduce the library filename from the target name.
* | | Push query connect timeout back in to XvncPierre Ossman2017-10-046-21/+30
| | | | | | | | | | | | | | | | | | It was moved to the common code in f8e3b34c6, but it was unreliable because the state could sometimes get out of sync. Push it back in to Xvnc since it isn't necessarily something all servers will have.
* | | Don't queue a query if it is directly rejectedPierre Ossman2017-10-041-6/+6
| | | | | | | | | | | | | | | Otherwise we'll wedge the desktop object which expects an approval or rejection to eventually show up.
* | | Keep alpha in cursor alpha conversionPierre Ossman2017-10-021-1/+0
| | | | | | | | | | | | | | | Don't touch the existing value or we might mess it up when we avoid division by zero.
* | | Use current server time for XUngrabKeyboardPierre Ossman2017-10-021-1/+1
| | | | | | | | | | | | | | | We might be calling this outside a normal FLTK event, so we cannot trust fl_event_time to have a sane value.
* | | Remove accidental debug outputPierre Ossman2017-09-221-1/+0
| | |
* | | Make sure to start the frame timer after a buffer changePierre Ossman2017-09-221-0/+1
| | | | | | | | | | | | | | | The buffer is considered changed right away, so we might not get any add_changed() calls to trigger a start of the timer.
* | | Get rid of getFbSize()/getDesktopSize() in commonPierre Ossman2017-09-229-20/+15
| | | | | | | | | | | | It was only used by WinVNC, so push it there instead.
* | | Switch back to low resolution mode on macOSPierre Ossman2017-09-211-1/+1
| | | | | | | | | | | | | | | | | | This is a revert of 6c0181c. Testing showed that we got a big performance hit by enabling this, and we also saw some graphical artifacts. More work is needed before this can be enabled by default.
* | | Update keyboard test notes for raw keyboard modePierre Ossman2017-09-181-4/+20
| | |
* | | Add keyboard test notes for LED state handlingPierre Ossman2017-09-181-1/+12
| | |
* | | Be explicit which Exception class we wantPierre Ossman2017-09-181-2/+2
| | |
* | | Release pointer grab when cursor leaves windowPierre Ossman2017-09-182-13/+77
| | | | | | | | | | | | | | | | | | We don't need the grab any more if the pointer cannot click on our window. This makes it possible to shift focus to another application when we aren't covering all monitors.
* | | Don't throw exceptions in destructorsPierre Ossman2017-09-151-10/+2
| | |
* | | Handle unknown keysyms properly in x0vncserverPierre Ossman2017-09-151-1/+1
| | | | | | | | | | | | | | | We would accidentally store they keycode 0 for unknown keysyms, wedging the lookup table.
* | | Handle XKB groups properly in x0vncserverPierre Ossman2017-09-151-2/+5
| | |
* | | Update mouse cursor position in x0vncserverPierre Ossman2017-09-151-0/+8
| | | | | | | | | | | | | | | This is necessary to make sure the server side rendered cursor works properly.
* | | Only select XFixes event oncePierre Ossman2017-09-151-11/+4
| | | | | | | | | | | | | | | We never un-select it, and it's not a problem if we get extra ones so register it once right away.
* | | Merge branch 'cursor' of https://github.com/alanc/tigervncPierre Ossman2017-09-152-2/+93
|\ \ \
| * | | x0vncserver: Use Xfixes to display cursors if availableAlan Coopersmith2017-08-052-12/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/TigerVNC/tigervnc/issues/361 This is a simple implementation that refetches and transforms the cursor image every time it changes, and doesn't use the cursor naming functions of the XFixes extension to save & cache cursor images. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* | | | Merge branch 'fix-warnings'Pierre Ossman2017-09-1520-21/+54
|\ \ \ \
| * | | | rfb: Avoid unused argument warnings in headersSteve Kondik2017-09-154-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | Don't force users of these headers to squash compiler warnings about unused arguments, annotate with __unused_attr.
| * | | | rfb: vsnprintf returns an int, not size_tSteve Kondik2017-07-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: /home/shade/dev/tigervnc/common/rfb/util.cxx:55:13: error: comparison of unsigned expression < 0 is always false [-Werror,-Wtautological-compare] if (len < 0) { ~~~ ^ ~ 1 error generated.
| * | | | rfb: Silence nonliteral format string warning in LoggerSteve Kondik2017-07-102-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang complains loudly about this with Wformat=2, so add a __printf_attr to help out. Fixes: /home/shade/dev/tigervnc/common/rfb/Logger.cxx:48:35: error: format string is not a string literal [-Werror,-Wformat-nonliteral] vsnprintf(buf1, sizeof(buf1)-1, format, ap); ^~~~~~ 1 error generated.
| * | | | rfb: Fix inheritance in CMsgWriterSteve Kondik2017-07-082-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | InputHandler declares the second parameter of clientCutText as an int. Fixes: /home/shade/dev/tigervnc/common/rfb/CMsgWriter.h:60:18: error: 'rfb::CMsgWriter::clientCutText' hides overloaded virtual function [-Werror,-Woverloaded-virtual] virtual void clientCutText(const char* str, rdr::U32 len); ^ /home/shade/dev/tigervnc/common/rfb/InputHandler.h:36:18: note: hidden overloaded virtual function 'rfb::InputHandler::clientCutText' declared here: type mismatch at 2nd parameter ('int' vs 'rdr::U32' (aka 'unsigned int')) virtual void clientCutText(const char* str, int len) {} ^
| * | | | rfb: Fix struct-vs-class warningsSteve Kondik2017-07-085-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang doesn't like when struct and class are used to refer to the same thing interchangeably. Fixes all instances of: In file included from /home/shade/dev/tigervnc/common/rfb/CConnection.cxx:29: In file included from /home/shade/dev/tigervnc/common/rfb/CConnection.h:28: /home/shade/dev/tigervnc/common/rfb/DecodeManager.h:35:3: error: class 'Exception' was previously declared as a struct [-Werror,-Wmismatched-tags] class Exception; ^ /home/shade/dev/tigervnc/common/rdr/Exception.h:32:10: note: previous use is here struct Exception { ^ /home/shade/dev/tigervnc/common/rfb/DecodeManager.h:35:3: note: did you mean struct here? class Exception; ^~~~~ struct /home/shade/dev/tigervnc/common/rfb/DecodeManager.h:43:3: error: class 'Rect' was previously declared as a struct [-Werror,-Wmismatched-tags] class Rect; ^ /home/shade/dev/tigervnc/common/rfb/Rect.h:68:10: note: previous use is here struct Rect { ^ /home/shade/dev/tigervnc/common/rfb/DecodeManager.h:43:3: note: did you mean struct here? class Rect; ^~~~~ struct
| * | | | rdr: Fix incorrect error checking after fread()Steve Kondik2017-07-081-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fread() returns size_t, which is unsigned. Don't check for negative values to avoid warnings from Clang. /home/shade/dev/tigervnc/common/rdr/FileInStream.cxx:74:13: error: comparison of unsigned expression < 0 is always false [-Werror,-Wtautological-compare] if (n < 0 || ferror(file)) ~ ^ ~
| * | | | Add missing virtual destructorsSteve Kondik2017-07-086-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix warnings emitted by Clang: /home/shade/dev/tigervnc/common/rdr/FdInStream.h:30:9: error: 'rdr::FdInStreamBlockCallback' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor] class FdInStreamBlockCallback { ^ In file included from /home/shade/dev/tigervnc/common/network/TcpSocket.cxx:44: In file included from /home/shade/dev/tigervnc/common/network/TcpSocket.h:31: /home/shade/dev/tigervnc/common/network/Socket.h:82:9: error: 'network::ConnectionFilter' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor] class ConnectionFilter { ^ ..etc