Hello, In one of my PCs, dd if=/dev/urandom count=10 | xxd > /dev/clipboard sometimes fails to set CF_UNICODETEXT data. As a result, pasting clipboard to notepad does not work.
Even in the case, cygnativeformat data is set correctly. So, "cat /dev/clipboard" works. This problem depends on machine very much. My one PC with Xeon E3-1281 v3 CPU has a high probability of failure, however, another machine with Core i7-6700K CPU does not. I looked into this problem, and found OpenClipboard() for CF_UNICODETEXT fails. It seems that OpenClipboard() just after CloseClipboard() has high probability of failure. You can see the following test case immediately stops with error. Even with Core i7-6700K CPU machine above, the test case fails. #include <windows.h> #include <stdio.h> int main() { for (;;) { if (!OpenClipboard(0)) { printf("Open error.\n"); break; } if (!EmptyClipboard()) { printf("Empty error.\n"); break; } if (!CloseClipboard()) { printf("Cloes error.\n"); break; } } return 0; } I also found the patch attached solves the issue. I would appreciate any suggestion. -- Takashi Yano <takashi.y...@nifty.ne.jp>
0001-Cygwin-clipboard-Add-workaround-for-setting-clipboar.patch
Description: Binary data
-- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple