-
Notifications
You must be signed in to change notification settings - Fork 191
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash Tigervnc server/viewer Ultravnc viewer/server #8
Comments
rfbEncodingExtendedClipboard is different implemented in TigerVNC. The rfbEncodingExtendedClipboard extension was implemented in UltraVNC in 2010. Looks like the clipboard semi works, the viewer can manual request the clipboard data. |
It should indeed. Let me have a look. I'm not seeing any notifications from the viewer for clipboard from client to server either. Did you happen to check that as well? |
Server to client should be fixed in TigerVNC/tigervnc#1169. However I'll need your help with the other direction. I don't seem to get anything from the UltraVNC client, even if I manually select a clipboard sync. |
On clipboard change UltraVNC send a clipProvide, not a clipNotify. TigerVNC correct read the clipboard data, it's only not placed in the clipboard. If not, all would be out of sync. Flow on UltraVNC server Relvant code
|
It does. We set the length in the caps message to Is it possible to get the UltraVNC viewer to respect TigerVNC's caps setting and send notify instead? |
Viewer send the caps he wants, Server send back the caps he wants.. Optional a ClipNotify message can be used to indicate the server that also other caps exist. Changed viewer to send a clipNotify after the clipProvide. Made an other change for the viewer if (m_clipboard.m_bNeedToNotify) { is code was added, All caps were 0 (text/rtf..), no m_bNeedToProvide = false and m_bNeedToNotify = true with text and rtf
|
The bug is here: message.type = rfbServerCutText; It should be |
A vnc client implementation by me was affected by this, too. I just tested your testbuild and can confirm that the bug is fixed there. Is it's source code already pushed anywhere? Will this fix land in master? |
extDesktop is Pushed in development |
@RudiDeVos Thank you! |
Final got the clipboard working from viewer to TigerVNC server. https://www.uvnc.eu/download/132/UltraVNC_viewer_132Tiger.zip Code updated in development branch Remark: For one clipNotify, the viewer get usual 6 cliprequests.. even on local LAN the answer is to slow to prevent the server sending a new request. You can ask text/rtl/html simultanious in a single clipRequests, why using 3 request ? |
Marcus, On windows, you can only clone the current desktop. changing the desktop is changing the is video card resolutuion. On the fly server framebuffer changes are already implemented with the rfbEncodingNewFBSize protocol. The ExtendedDesktopSize is also extended to allow virtual displays or use your screen as extra monitor. |
Ah, thank you for clarification. So the Okay, then I'll remove a check from my code to still allow the use of |
…en though both sides support ExtendedDesktopSize. ultravnc/UltraVNC#8 (comment)
We just pass along the requests from the application, so this sounds like some application issue. Which application did you test with? I just used a simple xterm here. And we're just interested in "text" right now. We don't support anything fancier yet. :) This new version breaks server to client for me. The new viewer sets the length for text in caps to 0, so the server only sends a notify when the clipboard changes. I would expect a request packet after that from the viewer, at which point the server would send a provide. |
re-tested viewer UltraVNC server TigerVNC
IN clipCaps In UltraVNC caps are used to find the common supported clipboard format. Common formats are auto sync. Image I hopes this clarify it. |
Latest development build to fix TigerVNC issue can be found |
Yeah, that's indeed inefficient. Not clear how to improve it though and also staying reliable. The protocol has no way of indicating a failure so we aren't guaranteed a response, and hence can't just wait. I'm unable to reproduce the issue in my end though. At best I'm able to get two requests, but those as handled by the clipboard cache so it's never sent to the client. Do the requests come right away? Or when you try to paste something? I can see you have "autocutsel" in your xstartup. That is a very spammy clipboard client that fetches the clipboard twice a second. So it could cause some extra requests. But even with that running here it gets the clipboard from the cache and I only see a single request to the client.
But there is both the caps flags, and the sizes. So it seemed odd that the size would indicate support? Isn't the flag enough? The TigerVNC sets the "Text" caps flag, indicating that it supports text. But it also sets the size to 0 since it doesn't want to get any data unless an application is actually interested. |
I erxplained it wrong |
I think everything should be in place in that case. :) |
There is a minor implementation difference between for ExtDesktop.
TigerVNC expect that the server send valid resolution in the "inform ExtDesktopSize message".
UltraVNC code changed to make it compatible.
Testbuild
https://www.uvnc.eu/download/132/UltraVnc_132Tiger.zip
The text was updated successfully, but these errors were encountered: