| delorie.com/archives/browse.cgi | search |
| X-Recipient: | archive-cygwin AT delorie DOT com |
| X-Original-To: | cygwin AT cygwin DOT com |
| Delivered-To: | cygwin AT cygwin DOT com |
| DMARC-Filter: | OpenDMARC Filter v1.4.1 sourceware.org 08A1F3857BBC |
| Authentication-Results: | sourceware.org; |
| dmarc=fail (p=none dis=none) header.from=nifty.ne.jp | |
| Authentication-Results: | sourceware.org; spf=fail smtp.mailfrom=nifty.ne.jp |
| DKIM-Filter: | OpenDKIM Filter v2.10.3 conssluserg-05.nifty.com 2623Kt7N028760 |
| DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.ne.jp; |
| s=dec2015msa; t=1656732055; | |
| bh=xsCzN4augBbtbQ8DXPiWWm7KlKhNL1VqYRtr3ve70sk=; | |
| h=Date:From:To:Subject:From; | |
| b=PmnCBBJ0voNEZCHAHrtidhCUjgBBZLdXNTAinVgI1CQOILfCzPknBFJqMOkwbeBzJ | |
| YeMaz2ywsipxqOtMNZBqFUf1JwPxNIpE0mnAgv+Pnc0Gci4aRvJIcW81dVFpxVc8jn | |
| c7meh4/bwpaLCzuohmf8XlHnDd+3A00ZgxD5+uZibYGGs8qTY1ew9hmzJX9ifB5sjm | |
| HoPdogdQY2jE8ulteSOa6/vBoYm4B42tMEbyFa1X0zlH9Wu59KoBLj6jfb4rBz8uew | |
| uNrXgXOatf05eozg2jClX+zvyktNgR7dHrRL7lN504uHBe7G88kZdvCtTB8RAvIhgZ | |
| fif863OiFtjBQ== | |
| X-Nifty-SrcIP: | [119.150.44.95] |
| Date: | Sat, 2 Jul 2022 12:20:56 +0900 |
| From: | Takashi Yano <takashi DOT yano AT nifty DOT ne DOT jp> |
| To: | cygwin AT cygwin DOT com |
| Subject: | /dev/clipboard sometimes fails to set CF_UNICODETEXT data. |
| Message-Id: | <20220702122056.39a6c5e49c637d028694412e@nifty.ne.jp> |
| X-Mailer: | Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32) |
| Mime-Version: | 1.0 |
| X-Spam-Status: | No, score=-4.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, |
| DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, | |
| SPF_PASS, TXREP, | |
| T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 | |
| X-Spam-Checker-Version: | SpamAssassin 3.4.6 (2021-04-09) on |
| server2.sourceware.org | |
| X-BeenThere: | cygwin AT cygwin DOT com |
| X-Mailman-Version: | 2.1.29 |
| List-Id: | General Cygwin discussions and problem reports <cygwin.cygwin.com> |
| List-Archive: | <https://cygwin.com/pipermail/cygwin/> |
| List-Post: | <mailto:cygwin AT cygwin DOT com> |
| List-Help: | <mailto:cygwin-request AT cygwin DOT com?subject=help> |
| List-Subscribe: | <https://cygwin.com/mailman/listinfo/cygwin>, |
| <mailto:cygwin-request AT cygwin DOT com?subject=subscribe> | |
| Sender: | "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com> |
This is a multi-part message in MIME format.
--Multipart=_Sat__2_Jul_2022_12_20_56_+0900_=T0iwyttcDWjFtWL
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
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 DOT yano AT nifty DOT ne DOT jp>
--Multipart=_Sat__2_Jul_2022_12_20_56_+0900_=T0iwyttcDWjFtWL
Content-Type: application/octet-stream;
name="0001-Cygwin-clipboard-Add-workaround-for-setting-clipboar.patch"
Content-Disposition: attachment;
filename="0001-Cygwin-clipboard-Add-workaround-for-setting-clipboar.patch"
Content-Transfer-Encoding: base64
RnJvbSBjMzMzOGVjMWE0ZmZmOTYwMjJjOTk2NzFjNzNlZTk4NDE4NzFmNmU4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUYWthc2hpIFlhbm8gPHRha2FzaGkueWFub0BuaWZ0eS5uZS5q
cD4KRGF0ZTogU2F0LCAyIEp1bCAyMDIyIDEyOjA4OjUxICswOTAwClN1YmplY3Q6IFtQQVRDSF0g
Q3lnd2luOiBjbGlwYm9hcmQ6IEFkZCB3b3JrYXJvdW5kIGZvciBzZXR0aW5nIGNsaXBib2FyZAog
ZmFpbHVyZS4KCi0gT3BlbkNsaXBib2FyZCgpIGp1c3QgYWZ0ZXIgQ2xvc2VDbGlwYm9hcmQoKSBo
YXMgYSBoaWdoIHByb2JhYm9saXR5CiAgb2YgZmFpbHVyZS4gRHVlIHRvIHRoaXMsIC9kZXYvY2xp
cGJvYXJkIHNvbWV0aW1lcyBmYWlscyB0byBzZXQKICBDRl9VTklDT0RFVEVYVCBkYXRhLiBUaGlz
IHBhdGNoIGFkZCBhIHdvcmthcm91bmQgZm9yIHRoaXMgaXNzdWUuCi0tLQogd2luc3VwL2N5Z3dp
bi9maGFuZGxlcl9jbGlwYm9hcmQuY2MgfCAyMiArKysrKysrKysrKysrKysrKy0tLS0tCiAxIGZp
bGUgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg
YS93aW5zdXAvY3lnd2luL2ZoYW5kbGVyX2NsaXBib2FyZC5jYyBiL3dpbnN1cC9jeWd3aW4vZmhh
bmRsZXJfY2xpcGJvYXJkLmNjCmluZGV4IDA1ZjU0ZmZiMy4uYjBjZGY0ODVlIDEwMDY0NAotLS0g
YS93aW5zdXAvY3lnd2luL2ZoYW5kbGVyX2NsaXBib2FyZC5jYworKysgYi93aW5zdXAvY3lnd2lu
L2ZoYW5kbGVyX2NsaXBib2FyZC5jYwpAQCAtMTksNiArMTksMTggQEAgZGV0YWlscy4gKi8KICNp
bmNsdWRlICJjaGlsZF9pbmZvLmgiCiAjaW5jbHVkZSA8c3lzL2NsaXBib2FyZC5oPgogCisvKiBP
cGVuaW5nIGNsaXBib2FyZCBpbW1lZGlhdGVseSBhZnRlciBDbG9zZUNsaXBib2FyZCgpIGhhcwor
ICAgaGlnaCBwcm9iYWJpbGl0eSBvZiBmYWlsdXJlLiBUaGVyZWZvcmUgdXNlIHJldHJ5LWxvb3Au
ICovCitzdGF0aWMgaW5saW5lIGJvb2wKK29wZW5fY2xpcGJvYXJkICgpCit7CisgIGNvbnN0IGlu
dCBtYXhfcmV0cnkgPSAxMDsKKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBtYXhfcmV0cnk7IGkrKykK
KyAgICBpZiAoT3BlbkNsaXBib2FyZCAoTlVMTCkpCisgICAgICByZXR1cm4gdHJ1ZTsKKyAgcmV0
dXJuIGZhbHNlOworfQorCiAvKgogICogUm9iZXJ0IENvbGxpbnM6CiAgKiBGSVhNRTogc2hvdWxk
IHdlIHVzZSBHZXRDbGlwYm9hcmRTZXF1ZW5jZU51bWJlciB0byB0ZWxsIGlmIHRoZSBjbGlwYm9h
cmQgaGFzCkBAIC0yOSw3ICs0MSw3IEBAIGZoYW5kbGVyX2Rldl9jbGlwYm9hcmQ6OmZoYW5kbGVy
X2Rldl9jbGlwYm9hcmQgKCkKICAgOiBmaGFuZGxlcl9iYXNlICgpLCBwb3MgKDApLCBtZW1idWZm
ZXIgKE5VTEwpLCBtc2l6ZSAoMCkKIHsKICAgLyogRklYTUU6IGNoZWNrIGZvciBlcnJvcnMgYW5k
IGxvb3AgdW50aWwgd2UgY2FuIG9wZW4gdGhlIGNsaXBib2FyZCAqLwotICBPcGVuQ2xpcGJvYXJk
IChOVUxMKTsKKyAgb3Blbl9jbGlwYm9hcmQgKCk7CiAgIGN5Z25hdGl2ZWZvcm1hdCA9IFJlZ2lz
dGVyQ2xpcGJvYXJkRm9ybWF0VyAoQ1lHV0lOX05BVElWRSk7CiAgIENsb3NlQ2xpcGJvYXJkICgp
OwogfQpAQCAtNTMsNyArNjUsNyBAQCBmaGFuZGxlcl9kZXZfY2xpcGJvYXJkOjpzZXRfY2xpcGJv
YXJkIChjb25zdCB2b2lkICpidWYsIHNpemVfdCBsZW4pCiB7CiAgIEhHTE9CQUwgaG1lbTsKICAg
LyogTmF0aXZlIENZR1dJTiBmb3JtYXQgKi8KLSAgaWYgKE9wZW5DbGlwYm9hcmQgKE5VTEwpKQor
ICBpZiAob3Blbl9jbGlwYm9hcmQgKCkpCiAgICAgewogICAgICAgY3lnY2JfdCAqY2xpcGJ1ZjsK
IApAQCAtOTksNyArMTExLDcgQEAgZmhhbmRsZXJfZGV2X2NsaXBib2FyZDo6c2V0X2NsaXBib2Fy
ZCAoY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgbGVuKQogICAgICAgc2V0X2Vycm5vIChFSUxTRVEp
OwogICAgICAgcmV0dXJuIC0xOwogICAgIH0KLSAgaWYgKE9wZW5DbGlwYm9hcmQgKE5VTEwpKQor
ICBpZiAob3Blbl9jbGlwYm9hcmQgKCkpCiAgICAgewogICAgICAgUFdDSEFSIGNsaXBidWY7CiAK
QEAgLTE2OCw3ICsxODAsNyBAQCBmaGFuZGxlcl9kZXZfY2xpcGJvYXJkOjpmc3RhdCAoc3RydWN0
IHN0YXQgKmJ1ZikKICAgYnVmLT5zdF9jdGltLnR2X25zZWMgPSAwTDsKICAgYnVmLT5zdF9iaXJ0
aHRpbSA9IGJ1Zi0+c3RfYXRpbSA9IGJ1Zi0+c3RfbXRpbSA9IGJ1Zi0+c3RfY3RpbTsKIAotICBp
ZiAoT3BlbkNsaXBib2FyZCAoTlVMTCkpCisgIGlmIChvcGVuX2NsaXBib2FyZCAoKSkKICAgICB7
CiAgICAgICBVSU5UIGZvcm1hdGxpc3RbMV0gPSB7IGN5Z25hdGl2ZWZvcm1hdCB9OwogICAgICAg
aW50IGZvcm1hdDsKQEAgLTIwNyw3ICsyMTksNyBAQCBmaGFuZGxlcl9kZXZfY2xpcGJvYXJkOjpy
ZWFkICh2b2lkICpwdHIsIHNpemVfdCYgbGVuKQogICBMUFZPSUQgY2JfZGF0YTsKICAgaW50IHJh
Y2g7CiAKLSAgaWYgKCFPcGVuQ2xpcGJvYXJkIChOVUxMKSkKKyAgaWYgKCFvcGVuX2NsaXBib2Fy
ZCAoKSkKICAgICB7CiAgICAgICBsZW4gPSAwOwogICAgICAgcmV0dXJuOwotLSAKMi4zNi4xCgo=
--Multipart=_Sat__2_Jul_2022_12_20_56_+0900_=T0iwyttcDWjFtWL
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
--
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
--Multipart=_Sat__2_Jul_2022_12_20_56_+0900_=T0iwyttcDWjFtWL--
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |