From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from conssluserg-05.nifty.com (conssluserg-05.nifty.com [210.131.2.90]) by sourceware.org (Postfix) with ESMTPS id 08A1F3857BBC for ; Sat, 2 Jul 2022 03:21:21 +0000 (GMT) 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 Received: from HP-Z230 (ak044095.dynamic.ppp.asahi-net.or.jp [119.150.44.95]) (authenticated) by conssluserg-05.nifty.com with ESMTP id 2623Kt7N028760 for ; Sat, 2 Jul 2022 12:20:55 +0900 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 To: cygwin@cygwin.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 Content-Type: multipart/mixed; boundary="Multipart=_Sat__2_Jul_2022_12_20_56_+0900_=T0iwyttcDWjFtWL" 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@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jul 2022 03:21:25 -0000 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 #include 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 --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--