aboutsummaryrefslogtreecommitdiffstats
path: root/unix/xserver/hw
Commit message (Collapse)AuthorAgeFilesLines
...
* | Harmonise new client handlersPierre Ossman2017-01-191-0/+2
| | | | | | | | | | | | One was missing a call to register the fd with the X server, and one forgot to set it to non-blocking. One result of this was a crash when hitting the blacklist.
* | Fix -inetd not working with xserver >= 1.19Hans de Goede2017-01-101-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | xserver 1.19's OsInit will create a pollfd, followed by checking if fd 2 / stderr is writable and if it is not, replacing fd 2 with /dev/null. Since we close stderr in inetd mode to avoid xserver messages being send to the client as vnc data, the pollfd becomes fd 2, only to be replaced by /dev/null since a pollfd is not writable. This commit fixes this by opening /dev/null directly after the close(2), avoiding that the pollfd becomes fd 2. Alan Coopersmith: Change to use dup2() for atomic switch of fd Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* | Use dixChangeWindowProperty() instead of ChangeWindowProperty()Pierre Ossman2016-12-191-13/+15
|/ | | | | | ChangeWindowProperty() was removed upstream because it was redundant, and dixChangeWindowProperty() has been around since 1.5 so we can safely use that.
* Handle select() errorsPierre Ossman2016-10-051-0/+6
|
* Merge X server block handling code pathsPierre Ossman2016-10-056-403/+242
| | | | | Use the new X server API as the reference system and emulate it on the older API. Avoids a lot of code duplication.
* Add xorg-xserver 1.19 supportHans de Goede2016-10-057-4/+248
|
* Merge pull request #332 from xiaoshaaming/masterBrian Hinz2016-09-041-1/+2
|\ | | | | Added missing dependency for Complie error on RHEL7
| * Added missing dependency for Complie error on RHEL7lidm2016-07-231-1/+2
| | | | | | | | Complie error on RHEL7 for missing depency libos.
* | Proper multi-screen support in XvncPierre Ossman2016-08-181-9/+43
| | | | | | | | | | Xvnc didn't handle multiple screens properly as it forgot to place them without overlap and didn't handle cursor movement between them.
* | Set cursor sprite globallyPierre Ossman2016-08-183-4/+8
| | | | | | | | | | Pointer are global, not screen specific. Hence so is also the cursor sprite.
* | Adjust client pointer coordinates to absolutePierre Ossman2016-08-183-1/+16
| | | | | | | | | | | | The client is not aware of where the screen is placed so it will give us screen relative coordinates. Convert to and from these and absolute coordinates before interacting with the input layer.
* | Convert pointer coordinates to absolutePierre Ossman2016-08-181-2/+12
|/ | | | | | It is possible to set pointer coordinate using absolute numbers, but getting them back will always give us screen relative ones. Do the necessary calculations manually so we return sane values to the caller.
* Allow control of PRIMARY behaviour by defaultPierre Ossman2016-07-082-2/+2
| | | | | | It was previously controlled by vncconfig which had no restrictions, so at least include the relevant settings in the default list of overrides.
* Merge branch 'clipboard'Pierre Ossman2016-07-089-175/+591
|\
| * Support UTF8_STRING selection target typePierre Ossman2016-02-051-2/+93
| | | | | | | | | | The protocol still only supports 8859-1 though, so we need to convert things to and from UTF-8.
| * Use TARGETS when getting selectionPierre Ossman2016-02-051-15/+35
| |
| * Move selection request handling to a separate functionPierre Ossman2016-02-051-18/+28
| | | | | | | | Makes it easier to do requests from different parts of the code.
| * Create all Atoms in a central placePierre Ossman2016-02-051-17/+13
| |
| * Move server to client clipboard out of vncconfigPierre Ossman2016-02-055-83/+132
| | | | | | | | | | Also handle clipboard transactions from the server to the client directly in the server without the help of vncconfig.
| * Move client to server clipboard out of vncconfigPierre Ossman2016-01-128-94/+333
| | | | | | | | | | | | | | Handle the clipboard directly in the server, avoiding the dependency on vncconfig. This commit adds support for clipboard from the client to the server. Handling of the other direction will follow.
* | Change development version to 1.7.80Pierre Ossman2016-07-011-1/+1
| |
* | Handle parameter without value in libvnc.soPierre Ossman2016-05-161-1/+9
| |
* | Specify TigerVNC Project as the vendor/companyPierre Ossman2016-05-131-1/+1
| |
* | Move socket write event handling in to the RFB corePierre Ossman2016-04-291-4/+4
| | | | | | | | | | | | 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.
* | Avoid calling GetMaster() with old XorgPierre Ossman2016-04-151-0/+4
| | | | | | | | | | GetMaster() wasn't exported until Xorg 1.18 so it is unsafe to use from libvnc.so for older versions.
* | xserver: Add support for xorg version 1.18.Dominik Muth2016-04-112-2/+6
| | | | | | | | xserver118.patch is identical to xserver117.patch by content.
* | Document AllowOverride parameter.Michal Srb2016-03-291-0/+15
| |
* | Add AllowOverride parameter.Michal Srb2016-03-213-8/+54
| | | | | | | | Allows to specify which configuration parameters can be modified on runtime.
* | change the Copyright yearBojan Memetovic2016-03-181-1/+1
|/
* Better check for on screen visibilityPierre Ossman2016-01-111-13/+33
| | | | | | The check for visible drawables didn't account for compositing which can place a window off-screen. Put all of these checks in a common place and make sure it detects things properly.
* Fix race problem with detecting listening inetd socketsTristan Schmelcher2015-12-291-2/+1
| | | | | | The previous detection would fail if the socket closed before we had time to inspect it, which got us stuck in a loop as we would try (and fail) to do accept() on a non-listening socket.
* Gracefully handle empty CopyArea operationsPierre Ossman2015-11-301-6/+15
|
* Change development version to 1.6.80Pierre Ossman2015-11-261-1/+1
|
* Fix inverted logic in ProcVncExtSetParam.Michal Srb2015-11-121-1/+1
|
* Xvnc.man: remove -i optionKirill Kolyshkin2015-10-281-1/+1
| | | | | | | | Xvnc does not understand -i as an alias to -interface anymore (since commit f8e3b34c69) but it is still listed in the man page. Fix man accordingly Signed-off-by: Kir Kolyshkin <kir@openvz.org>
* Properly free temporary cursor bufferPierre Ossman2015-09-291-0/+2
|
* Avoid dropping const qualifier needlesslyPierre Ossman2015-09-291-4/+4
|
* Return TcpListener pointers rather than objectsPierre Ossman2015-09-294-24/+35
| | | | | | It is easier to control object life time and avoid magical socket duplication by having a single TcpListener object to pass around. We have to be more careful about deleting the object though.
* Make sure fallback block handler remains enabledPierre Ossman2015-09-241-0/+3
| | | | | | Commit f8e3b34 introduced a regression where the fallback write block handler would cease working after the first time it was called, potentially stalling writes.
* Use REGION_INTERSECT() rather than trying to compute things manuallyPierre Ossman2015-09-141-3/+13
| | | | | REGION_INIT() does not handle an empty or invalid BoxRec, so this method makes sure we don't feed bad rects further in to the process.
* Make vncHooksComposite() and vncHooksGlyphs() staticPierre Ossman2015-09-141-2/+2
| | | | They should never have been global symbols to begin with.
* Remove REGION_NULL fallbackPierre Ossman2015-09-141-7/+0
| | | | | It's been in the Xorg code base for ages. Any version that lacks it is too old for the rest of our code to work anyway.
* Refuse to start Xvnc if we failed to initialise a screenPierre Ossman2015-09-143-0/+11
| | | | | | Starting Xvnc without having any VNC functionality is pretty much pointless. So terminate when that happens, making the situation easier to detect for startup scripts.
* Fix reversed logic in vncIsTCPPortUsed()Pierre Ossman2015-08-101-2/+2
| | | | | Patch by Jay Kulpinski. Prevents -inetd mode from automatically finding a free X11 display number.
* Set user/client requested mode as preferredPierre Ossman2015-07-304-58/+93
| | | | | | | | | | Desktop environments like to change to the monitor's preferred mode, especially at login. Lacking one, they pick the highest resolution they can find. This tends to override what the user has picked, so try to work around the desktop environments by setting the preferred mode to what the user has chosen. Credit goes to Michal Srb who figured out the problem.
* Change development version to 1.5.80Pierre Ossman2015-06-181-1/+1
|
* Default to -noreset in XvncPierre Ossman2015-05-041-1/+4
| | | | | | We cannot handle a reset properly right now and are forced to terminate instead. Avoid surprising people with a dying Xvnc by changing the default to -noreset.
*-. Merge branches 'noreset' and 'syslog' of https://github.com/michalsrb/tigervncPierre Ossman2015-05-043-6/+13
|\ \
| | * Enable and document syslog logger in Xvnc.Michal Srb2015-04-102-5/+7
| | |
| * | Warn about not reseting Xvnc and terminate instead.Michal Srb2015-04-011-1/+6
| |/ | | | | | | | | VNC prevents X server restarting even when -reset is explicitly given. Print out message with explanation and terminate instead.