]> source.dussan.org Git - tigervnc.git/commitdiff
Merge branch 'mouse-button-support' of https://github.com/CendioHalim/tigervnc
authorPierre Ossman <ossman@cendio.se>
Mon, 18 Nov 2024 12:22:13 +0000 (13:22 +0100)
committerPierre Ossman <ossman@cendio.se>
Mon, 18 Nov 2024 12:22:13 +0000 (13:22 +0100)
18 files changed:
1  2 
common/rfb/CConnection.cxx
common/rfb/CMsgReader.cxx
common/rfb/CMsgWriter.cxx
common/rfb/ClientParams.cxx
common/rfb/SConnection.cxx
common/rfb/SConnection.h
common/rfb/SMsgReader.cxx
common/rfb/SMsgWriter.cxx
common/rfb/ServerParams.cxx
common/rfb/VNCSConnectionST.cxx
common/rfb/VNCServerST.cxx
unix/x0vncserver/XDesktop.cxx
unix/x0vncserver/XDesktop.h
unix/xserver/hw/vnc/XserverDesktop.cc
vncviewer/EmulateMB.cxx
vncviewer/Viewport.cxx
win/rfb_win32/SDisplay.cxx
win/rfb_win32/SInput.cxx

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index f525d25a2495353aaf3fb782c0f9d16ece51a80c,d1218c1157d2b46f88f8e4b4e220429857895f19..5ee0905b3dfe54967ad61bab18d433cbb9e4a762
@@@ -302,6 -303,14 +302,14 @@@ void SMsgWriter::writeQEMUKeyEvent(
    needQEMUKeyEvent = true;
  }
  
 -    throw Exception("Client does not support Extended Mouse Buttons");
+ void SMsgWriter::writeExtendedMouseButtonsSupport()
+ {
+   if (!client->supportsEncoding(pseudoEncodingExtendedMouseButtons))
++    throw std::logic_error("Client does not support Extended Mouse Buttons");
+   needExtMouseButtonsEvent = true;
+ }
  bool SMsgWriter::needFakeUpdate()
  {
    if (needSetDesktopName)
@@@ -733,3 -751,17 +750,17 @@@ void SMsgWriter::writeQEMUKeyEventRect(
    os->writeU16(0);
    os->writeU32(pseudoEncodingQEMUKeyEvent);
  }
 -    throw Exception("Client does not support extended mouse button events");
+ void SMsgWriter::writeExtendedMouseButtonsRect()
+ {
+   if (!client->supportsEncoding(pseudoEncodingExtendedMouseButtons))
 -    throw Exception("SMsgWriter::writeExtendedMouseButtonsRect: nRects out of sync");
++    throw std::logic_error("Client does not support extended mouse button events");
+   if (++nRectsInUpdate > nRectsInHeader && nRectsInHeader)
++    throw std::logic_error("SMsgWriter::writeExtendedMouseButtonsRect: nRects out of sync");
+   os->writeS16(0);
+   os->writeS16(0);
+   os->writeU16(0);
+   os->writeU16(0);
+   os->writeU32(pseudoEncodingExtendedMouseButtons);
+ }
Simple merge
Simple merge
Simple merge
Simple merge
index cadc695f47421dd192f3bdfe2dd756891b2d69eb,711d6893d52e960de3f112688ecd6d45a0aad919..a27a1eae404756dcda384c3f6feebf8714da6791
@@@ -89,8 -79,7 +89,8 @@@ protected
    rfb::VNCServer* server;
    QueryConnectDialog* queryConnectDialog;
    network::Socket* queryConnectSock;
-   uint8_t oldButtonMask;
 +  XSelection selection;
+   uint16_t oldButtonMask;
    bool haveXtest;
    bool haveDamage;
    int maxButtons;
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge