From unknown Tue Aug 19 12:50:54 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#14180 <14180@debbugs.gnu.org> To: bug#14180 <14180@debbugs.gnu.org> Subject: Status: PATCH Better fullscreen frame support on Windows Reply-To: bug#14180 <14180@debbugs.gnu.org> Date: Tue, 19 Aug 2025 19:50:54 +0000 retitle 14180 PATCH Better fullscreen frame support on Windows reassign 14180 emacs,w32 submitter 14180 Erik Charlebois severity 14180 wishlist tag 14180 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 11 01:04:11 2013 Received: (at submit) by debbugs.gnu.org; 11 Apr 2013 05:04:12 +0000 Received: from localhost ([127.0.0.1]:44577 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UQ9g3-0001cI-Qw for submit@debbugs.gnu.org; Thu, 11 Apr 2013 01:04:11 -0400 Received: from eggs.gnu.org ([208.118.235.92]:58892) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UQ9fq-0001Zp-03 for submit@debbugs.gnu.org; Thu, 11 Apr 2013 01:04:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UQ9c8-0002wT-H8 for submit@debbugs.gnu.org; Thu, 11 Apr 2013 01:00:02 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-101.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, HTML_MESSAGE, T_DKIM_INVALID, USER_IN_WHITELIST autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:47257) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UQ9c8-0002wP-E5 for submit@debbugs.gnu.org; Thu, 11 Apr 2013 01:00:00 -0400 Received: from eggs.gnu.org ([208.118.235.92]:41993) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UQ9c6-0006iR-BP for bug-gnu-emacs@gnu.org; Thu, 11 Apr 2013 01:00:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UQ9c4-0002vF-A3 for bug-gnu-emacs@gnu.org; Thu, 11 Apr 2013 00:59:58 -0400 Received: from mail-ie0-x22e.google.com ([2607:f8b0:4001:c03::22e]:48419) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UQ9c4-0002v7-2A for bug-gnu-emacs@gnu.org; Thu, 11 Apr 2013 00:59:56 -0400 Received: by mail-ie0-f174.google.com with SMTP id aq17so1523150iec.19 for ; Wed, 10 Apr 2013 21:59:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:date:message-id:subject:from:to :content-type; bh=3oX6Ze8O3U5H7NYx6UgHjm+IVMrVdX5RjCPXR8ZQ1CI=; b=VKfPj2mjwOyCjDrq88nBhH01qaDub7qAzMiKWHmONIwOsSSFKMxqzUkF2XLSZEpYzi y+baQRaK9tzFUIbTL5oOVHozKZIb4jdpF1P2BQ/cWRCC1bjL0OcTX4h0hV5Q7JVvmjnt f8vOaqdbszFZe6IEAnD/zUkPmWURF1xIv4APGZuik4XBceVS4kVVnc1Wqe04D8m9rXno 9Ut7TTfy2qTJtVj3jbp6Prd2lyyubHzvr8IHcrfVWStKZds0Kps2TGRrWB99hsGpRqK3 c1aN1FYv1pzhIndlpMV8uosEqAeiJ+0A/n+Sg+hUOAMxtPo607KDZDWfGm5KUd9+wlVm 1sMA== MIME-Version: 1.0 X-Received: by 10.42.64.135 with SMTP id g7mr2910129ici.37.1365656394927; Wed, 10 Apr 2013 21:59:54 -0700 (PDT) Received: by 10.64.27.3 with HTTP; Wed, 10 Apr 2013 21:59:54 -0700 (PDT) Date: Thu, 11 Apr 2013 00:59:54 -0400 Message-ID: Subject: PATCH Better fullscreen frame support on Windows From: Erik Charlebois To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary=90e6ba5bbaa34e14ea04da0ea88b X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 208.118.235.17 X-Spam-Score: -3.4 (---) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.1 (------) --90e6ba5bbaa34e14ea04da0ea88b Content-Type: multipart/alternative; boundary=90e6ba5bbaa34e14e704da0ea889 --90e6ba5bbaa34e14e704da0ea889 Content-Type: text/plain; charset=UTF-8 Description This change improves the 'fullscreen' frame support on Windows. When going to fullscreen, the frame gets fullscreened with no window decorations (which causes the Windows task bar to also disappear) on the nearest monitor. The old fullscreen functionality was actually 'maximize' behavior so I've moved that to 'maximize'. 'fullwidth' and 'fullheight' are now ignored because they were buggy (at least in Windows 8, they were not being sized correctly) and are not common Windows idioms. While they could be supported, I'd do it as follow on work and get it working right on multiple monitors as well. I've tested corner cases such as resolution changes and disconnect monitors; in both cases the fullscreen window stays fullscreen (and moves to a different monitor for the disconnect case). I've modified the response to WM_WINDOWPOSCHANGED to do nothing when the frame is fullscreen. Otherwise, the size gets tuned to a multiple of the character cells and the fullscreen isn't perfectly matching the screen. When this happens, Windows' special behavior to hide the taskbar doesn't kick in. Changelog 2013-04-11 Erik Charlebois * src/w32fns.c (monitor_from_window_fn): New Windows API import. (w32_monitor_rect): New function to get nearest monitor rect. * src/w32term.c (w32_fullscreen_hook): Renamed from w32fullscreen_hook for consistency. Rewritten for improved fullscreen support. (I signed the FSF copyright assignment papers in January so I'm ok on that front.) --90e6ba5bbaa34e14e704da0ea889 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Description

This chan= ge improves the 'fullscreen' frame support on Windows. When going t= o
fullscreen, the frame gets fullscreened with no window decorations (w= hich causes the
Windows task bar to also disappear) on the nearest monitor.

The old fullscreen functionality was actually 'maximize' b= ehavior so I've moved that to
'maximize'. 'fullwi= dth' and 'fullheight' are now ignored because they were buggy (= at least in
Windows 8, they were not being sized correctly) and are not common Win= dows idioms.
While they could be supported, I'd do it as foll= ow on work and get it working right on
multiple monitors as well.=

I've tested corner cases such as resolution ch= anges and disconnect monitors; in both
cases the fullscreen windo= w stays fullscreen (and moves to a different monitor for the
disconnect case).

I've modified the respon= se to WM_WINDOWPOSCHANGED to do nothing when the
frame is f= ullscreen. Otherwise, the size gets tuned to a multiple of the character ce= lls and=C2=A0
the fullscreen isn't perfectly matching the screen. When thi= s happens, Windows' special
behavior to hide the taskba= r doesn't kick in.

Changelog

2013-04-11 = =C2=A0Erik Charlebois =C2=A0<erikcharlebois@gmail.com>

* src/w32fns.c (monitor_from_window_fn): Ne= w Windows API import.
(w32_monitor_rect): Ne= w function to get nearest monitor rect.
* src/w32term.c (w32_fullscreen_hook): Renamed from w32f= ullscreen_hook
for consistency. Rewritten fo= r improved fullscreen support.


(I signed the FSF copyright = assignment papers in January so I'm ok on that front.)
--90e6ba5bbaa34e14e704da0ea889-- --90e6ba5bbaa34e14ea04da0ea88b Content-Type: text/plain; charset=US-ASCII; name="W32_FULLSCREEN.txt" Content-Disposition: attachment; filename="W32_FULLSCREEN.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hfdgjpa50 IyBCYXphYXIgbWVyZ2UgZGlyZWN0aXZlIGZvcm1hdCAyIChCYXphYXIgMC45MCkKIyByZXZpc2lv bl9pZDogZXJpa2NoYXJsZWJvaXNAZ21haWwuY29tLTIwMTMwNDExMDQyMjMyLVwKIyAgIG85ZnMx M3c2bWpzNXAxb3gKIyB0YXJnZXRfYnJhbmNoOiBmaWxlOi8vL0M6L1VzZXJzL0VyaWsvU291cmNl L2VtYWNzL3RydW5rLwojIHRlc3RhbWVudF9zaGExOiBmYjkyNzY5NDVlNDVhYjUyOTVjNDQ2YzY3 N2Q4NjljMTgxZDBkMDNkCiMgdGltZXN0YW1wOiAyMDEzLTA0LTExIDAwOjM0OjI4IC0wNDAwCiMg YmFzZV9yZXZpc2lvbl9pZDogcmdtQGdudS5vcmctMjAxMzA0MTAwMTIyMTUtMGFsZzlzcG13cG1p Ymk0NQojIAojIEJlZ2luIHBhdGNoCj09PSBtb2RpZmllZCBmaWxlICdzcmMvdzMyZm5zLmMnCi0t LSBzcmMvdzMyZm5zLmMJMjAxMy0wNC0wNyAwNDo0MToxOSArMDAwMAorKysgc3JjL3czMmZucy5j CTIwMTMtMDQtMTEgMDQ6MjI6MzIgKzAwMDAKQEAgLTE1Nyw2ICsxNTcsOCBAQAogdHlwZWRlZiBI TU9OSVRPUiAoV0lOQVBJICogTW9uaXRvckZyb21Qb2ludF9Qcm9jKSAoSU4gUE9JTlQgcHQsIElO IERXT1JEIGZsYWdzKTsKIHR5cGVkZWYgQk9PTCAoV0lOQVBJICogR2V0TW9uaXRvckluZm9fUHJv YykKICAgKElOIEhNT05JVE9SIG1vbml0b3IsIE9VVCBzdHJ1Y3QgTU9OSVRPUl9JTkZPKiBpbmZv KTsKK3R5cGVkZWYgSE1PTklUT1IgKFdJTkFQSSAqIE1vbml0b3JGcm9tV2luZG93X1Byb2MpCisg IChJTiBIV05EIGh3bmQsIElOIERXT1JEIGR3RmxhZ3MpOwogCiBUcmFja01vdXNlRXZlbnRfUHJv YyB0cmFja19tb3VzZV9ldmVudF9mbiA9IE5VTEw7CiBJbW1HZXRDb21wb3NpdGlvblN0cmluZ19Q cm9jIGdldF9jb21wb3NpdGlvbl9zdHJpbmdfZm4gPSBOVUxMOwpAQCAtMTY1LDYgKzE2Nyw3IEBA CiBJbW1TZXRDb21wb3NpdGlvbldpbmRvd19Qcm9jIHNldF9pbWVfY29tcG9zaXRpb25fd2luZG93 X2ZuID0gTlVMTDsKIE1vbml0b3JGcm9tUG9pbnRfUHJvYyBtb25pdG9yX2Zyb21fcG9pbnRfZm4g PSBOVUxMOwogR2V0TW9uaXRvckluZm9fUHJvYyBnZXRfbW9uaXRvcl9pbmZvX2ZuID0gTlVMTDsK K01vbml0b3JGcm9tV2luZG93X1Byb2MgbW9uaXRvcl9mcm9tX3dpbmRvd19mbiA9IE5VTEw7CiAK ICNpZmRlZiBOVEdVSV9VTklDT0RFCiAjZGVmaW5lIHVuaWNvZGVfYXBwZW5kX21lbnUgQXBwZW5k TWVudVcKQEAgLTMzNiw2ICszMzksMzQgQEAKICAgKnlwdHIgPSByZWN0LnRvcDsKIH0KIAordm9p ZAordzMyX21vbml0b3JfcmVjdCAoc3RydWN0IGZyYW1lICpmLCBSRUNUICpyZWN0KQoreworI2lm ZGVmIEhBVkVfV0lORE9XX1NZU1RFTQorICBpZiAoZikKKyAgICB7CisgICAgICAvKiBJZiBtdWx0 aXBsZSBtb25pdG9yIHN1cHBvcnQgaXMgYXZhaWxhYmxlLCBtYWtlIHRoZSB3aW5kb3cKKyAgICAg ICAgIGZ1bGxzY3JlZW4gb24gdGhlIGFwcHJvcHJpYXRlIHNjcmVlbi4gKi8KKyAgICAgIGlmICht b25pdG9yX2Zyb21fd2luZG93X2ZuICYmIGdldF9tb25pdG9yX2luZm9fZm4pCisgICAgICAgIHsK KyAgICAgICAgICBIV05EIGh3bmQgPSBGUkFNRV9XMzJfV0lORE9XIChmKTsKKyAgICAgICAgICBz dHJ1Y3QgTU9OSVRPUl9JTkZPIG1pID0geyBzaXplb2YobWkpIH07CisgICAgICAgICAgSE1PTklU T1IgbW9uaXRvciA9CisgICAgICAgICAgICBtb25pdG9yX2Zyb21fd2luZG93X2ZuIChod25kLCBN T05JVE9SX0RFRkFVTFRfVE9fTkVBUkVTVCk7CisgICAgICAgICAgZ2V0X21vbml0b3JfaW5mb19m biAobW9uaXRvciwgJm1pKTsKKyAgICAgICAgICAqcmVjdCA9IG1pLnJjTW9uaXRvcjsKKyAgICAg ICAgfQorICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgcmVjdC0+bGVmdCA9IDA7Cisg ICAgICAgICAgcmVjdC0+cmlnaHQgPSBHZXRTeXN0ZW1NZXRyaWNzIChTTV9DWFNDUkVFTik7Cisg ICAgICAgICAgcmVjdC0+dG9wID0gMDsKKyAgICAgICAgICByZWN0LT5ib3R0b20gPSBHZXRTeXN0 ZW1NZXRyaWNzIChTTV9DWVNDUkVFTik7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKK30KKwog DAogCiBERUZVTiAoInczMi1kZWZpbmUtcmdiLWNvbG9yIiwgRnczMl9kZWZpbmVfcmdiX2NvbG9y LApAQCAtMzY5MSw2ICszNzIyLDEwIEBACiAgICAgICAvKiBEb24ndCByZXN0cmljdCB0aGUgc2l6 aW5nIG9mIHRpcCBmcmFtZXMuICAqLwogICAgICAgaWYgKGh3bmQgPT0gdGlwX3dpbmRvdykKIAly ZXR1cm4gMDsKKworICAgICAgZiA9IHhfd2luZG93X3RvX2ZyYW1lIChkcHlpbmZvLCBod25kKTsK KyAgICAgIGlmIChmICYmIEZSQU1FX1BSRVZfRlNNT0RFIChmKSA9PSBGVUxMU0NSRUVOX0JPVEgp CisgICAgICAgIHJldHVybiAwOwogICAgICAgewogCVdJTkRPV1BMQUNFTUVOVCB3cDsKIAlMUFdJ TkRPV1BPUyBscHBvcyA9IChXSU5ET1dQT1MgKikgbFBhcmFtOwpAQCAtMzgzOCw5ICszODczLDEz IEBACiAKICAgICBjYXNlIFdNX0VNQUNTX1NFVFdJTkRPV1BPUzoKICAgICAgIHsKLQlXSU5ET1dQ T1MgKiBwb3MgPSAoV0lORE9XUE9TICopIHdQYXJhbTsKLQlyZXR1cm4gU2V0V2luZG93UG9zICho d25kLCBwb3MtPmh3bmRJbnNlcnRBZnRlciwKLQkJCSAgICAgcG9zLT54LCBwb3MtPnksIHBvcy0+ Y3gsIHBvcy0+Y3ksIHBvcy0+ZmxhZ3MpOworICAgICAgICBmID0geF93aW5kb3dfdG9fZnJhbWUg KGRweWluZm8sIGh3bmQpOworICAgICAgICBpZiAoIWYgfHwgRlJBTUVfUFJFVl9GU01PREUgKGYp ICE9IEZVTExTQ1JFRU5fQk9USCkKKyAgICAgICAgICB7CisgICAgICAgICAgICBXSU5ET1dQT1Mg KiBwb3MgPSAoV0lORE9XUE9TICopIHdQYXJhbTsKKyAgICAgICAgICAgIHJldHVybiBTZXRXaW5k b3dQb3MgKGh3bmQsIHBvcy0+aHduZEluc2VydEFmdGVyLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcG9zLT54LCBwb3MtPnksIHBvcy0+Y3gsIHBvcy0+Y3ksIHBvcy0+ZmxhZ3Mp OworICAgICAgICAgIH0KICAgICAgIH0KIAogICAgIGNhc2UgV01fRU1BQ1NfREVTVFJPWVdJTkRP VzoKQEAgLTc2MzUsNiArNzY3NCw4IEBACiAgICAgR2V0UHJvY0FkZHJlc3MgKHVzZXIzMl9saWIs ICJNb25pdG9yRnJvbVBvaW50Iik7CiAgIGdldF9tb25pdG9yX2luZm9fZm4gPSAoR2V0TW9uaXRv ckluZm9fUHJvYykKICAgICBHZXRQcm9jQWRkcmVzcyAodXNlcjMyX2xpYiwgIkdldE1vbml0b3JJ bmZvQSIpOworICBtb25pdG9yX2Zyb21fd2luZG93X2ZuID0gKE1vbml0b3JGcm9tV2luZG93X1By b2MpCisgICAgR2V0UHJvY0FkZHJlc3MgKHVzZXIzMl9saWIsICJNb25pdG9yRnJvbVdpbmRvdyIp OwogCiAgIHsKICAgICBITU9EVUxFIGltbTMyX2xpYiA9IEdldE1vZHVsZUhhbmRsZSAoImltbTMy LmRsbCIpOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NyYy93MzJ0ZXJtLmMnCi0tLSBzcmMvdzMydGVy bS5jCTIwMTMtMDQtMDEgMDc6NTg6MDQgKzAwMDAKKysrIHNyYy93MzJ0ZXJtLmMJMjAxMy0wNC0x MSAwNDoyMjozMiArMDAwMApAQCAtMjM3LDcgKzIzNyw3IEBACiAjZW5kaWYKIHN0YXRpYyB2b2lk IG15X3NldF9mb3JlZ3JvdW5kX3dpbmRvdyAoSFdORCk7CiBzdGF0aWMgdm9pZCBteV9kZXN0cm95 X3dpbmRvdyAoc3RydWN0IGZyYW1lICosIEhXTkQpOwotc3RhdGljIHZvaWQgdzMyZnVsbHNjcmVl bl9ob29rIChGUkFNRV9QVFIpOworc3RhdGljIHZvaWQgdzMyX2Z1bGxzY3JlZW5faG9vayAoRlJB TUVfUFRSKTsKIAogI2lmZGVmIEdMWVBIX0RFQlVHCiBzdGF0aWMgdm9pZCB4X2NoZWNrX2ZvbnQg KHN0cnVjdCBmcmFtZSAqLCBzdHJ1Y3QgZm9udCAqKTsKQEAgLTQ3MjAsNyArNDcyMCw3IEBACiAJ CSBzZXRzIHRoZSBXQUlUIGZsYWcuICAqLwogCSAgICAgIGlmICgobXNnLm1zZy5tZXNzYWdlID09 IFdNX1dJTkRPV1BPU0NIQU5HRUQgfHwgbXNnLm1zZy53UGFyYW0pCiAJCSAgJiYgKGYtPndhbnRf ZnVsbHNjcmVlbiAmIEZVTExTQ1JFRU5fV0FJVCkpCi0JCXczMmZ1bGxzY3JlZW5faG9vayAoZik7 CisJCXczMl9mdWxsc2NyZWVuX2hvb2sgKGYpOwogCSAgICAgIHhfY2hlY2tfZnVsbHNjcmVlbiAo Zik7CiAJICAgIH0KIAkgIGNoZWNrX3Zpc2liaWxpdHkgPSAxOwpAQCAtNTY1OSw5MiArNTY1OSw2 MyBAQAogfQogCiBzdGF0aWMgdm9pZAotdzMyZnVsbHNjcmVlbl9ob29rIChGUkFNRV9QVFIgZikK K3czMl9mdWxsc2NyZWVuX2hvb2sgKEZSQU1FX1BUUiBmKQogewogICBpZiAoRlJBTUVfVklTSUJM RV9QIChmKSkKICAgICB7Ci0gICAgICBpbnQgd2lkdGgsIGhlaWdodCwgdG9wX3BvcywgbGVmdF9w b3MsIHBpeGVsX2hlaWdodCwgcGl4ZWxfd2lkdGg7Ci0gICAgICBpbnQgY3VyX3cgPSBGUkFNRV9D T0xTIChmKSwgY3VyX2ggPSBGUkFNRV9MSU5FUyAoZik7Ci0gICAgICBSRUNUIHdvcmthcmVhX3Jl Y3Q7CisgICAgICBIV05EIGh3bmQgPSBGUkFNRV9XMzJfV0lORE9XKGYpOworICAgICAgRFdPUkQg ZHdTdHlsZSA9IEdldFdpbmRvd0xvbmcgKGh3bmQsIEdXTF9TVFlMRSk7CisgICAgICBNT05JVE9S SU5GTyBtaSA9IHsgc2l6ZW9mKG1pKSB9OworICAgICAgaW50IHByZXZfZnNtb2RlID0gRlJBTUVf UFJFVl9GU01PREUgKGYpOwogCiAgICAgICBibG9ja19pbnB1dCAoKTsKLSAgICAgIC8qIFJlY29y ZCBjdXJyZW50ICJub3JtYWwiIGRpbWVuc2lvbnMgZm9yIHJlc3RvcmluZyBsYXRlci4gICovCi0g ICAgICBpZiAoISggICBGUkFNRV9QUkVWX0ZTTU9ERSAoZikgPT0gRlVMTFNDUkVFTl9CT1RICi0J ICAgIHx8IEZSQU1FX1BSRVZfRlNNT0RFIChmKSA9PSBGVUxMU0NSRUVOX01BWElNSVpFRCkpCi0J ewotCSAgaWYgKEZSQU1FX1BSRVZfRlNNT0RFIChmKSAhPSBGVUxMU0NSRUVOX0hFSUdIVCkKLQkg ICAgewotCSAgICAgIEZSQU1FX05PUk1BTF9IRUlHSFQgKGYpID0gY3VyX2g7Ci0JICAgICAgRlJB TUVfTk9STUFMX1RPUCAoZikgPSBmLT50b3BfcG9zOwotCSAgICB9Ci0JICBpZiAoRlJBTUVfUFJF Vl9GU01PREUgKGYpICE9IEZVTExTQ1JFRU5fV0lEVEgpCi0JICAgIHsKLQkgICAgICBGUkFNRV9O T1JNQUxfV0lEVEggKGYpICA9IGN1cl93OwotCSAgICAgIEZSQU1FX05PUk1BTF9MRUZUIChmKSA9 IGYtPmxlZnRfcG9zOwotCSAgICB9Ci0JfQotICAgICAgZWFzc2VydCAoRlJBTUVfTk9STUFMX0hF SUdIVCAoZikgPiAwKTsKLSAgICAgIGVhc3NlcnQgKEZSQU1FX05PUk1BTF9XSURUSCAoZikgPiAw KTsKLSAgICAgIHhfcmVhbF9wb3NpdGlvbnMgKGYsICZmLT5sZWZ0X3BvcywgJmYtPnRvcF9wb3Mp OwotICAgICAgeF9mdWxsc2NyZWVuX2FkanVzdCAoZiwgJndpZHRoLCAmaGVpZ2h0LCAmdG9wX3Bv cywgJmxlZnRfcG9zKTsKLQotICAgICAgU3lzdGVtUGFyYW1ldGVyc0luZm8gKFNQSV9HRVRXT1JL QVJFQSwgMCwgJndvcmthcmVhX3JlY3QsIDApOwotICAgICAgcGl4ZWxfaGVpZ2h0ID0gd29ya2Fy ZWFfcmVjdC5ib3R0b20gLSB3b3JrYXJlYV9yZWN0LnRvcDsKLSAgICAgIHBpeGVsX3dpZHRoICA9 IHdvcmthcmVhX3JlY3QucmlnaHQgIC0gd29ya2FyZWFfcmVjdC5sZWZ0OwotICAgICAgLyogTmVl ZCB0byBzZW5kIFNDX1JFU1RPUkUgdG8gdGhlIHdpbmRvdywgaW4gY2FzZSB3ZSBhcmUKLQkgcmVz aXppbmcgZnJvbSBGVUxMU0NSRUVOX01BWElNSVpFRC4gIE90aGVyd2lzZSwgdGhlIG1vdXNlCi0J IHJlc2l6ZSBoaW50cyB3aWxsIG5vdCBiZSBzaG93biBieSB0aGUgd2luZG93IG1hbmFnZXIgd2hl biB0aGUKLQkgbW91c2UgcG9pbnRlciBob3ZlcnMgb3ZlciB0aGUgd2luZG93IGVkZ2VzLCBiZWNh dXNlIHRoZSBXTQotCSB3aWxsIHN0aWxsIHRoaW5rIHRoZSB3aW5kb3cgaXMgbWF4aW1pemVkLiAg Ki8KLSAgICAgIGlmIChmLT53YW50X2Z1bGxzY3JlZW4gIT0gRlVMTFNDUkVFTl9CT1RIKQotCVNl bmRNZXNzYWdlIChGUkFNRV9XMzJfV0lORE9XIChmKSwgV01fU1lTQ09NTUFORCwgU0NfUkVTVE9S RSwgMCk7CiAKICAgICAgIEZSQU1FX1BSRVZfRlNNT0RFIChmKSA9IGYtPndhbnRfZnVsbHNjcmVl bjsKICAgICAgIHN3aXRjaCAoZi0+d2FudF9mdWxsc2NyZWVuKQogCXsKIAljYXNlIEZVTExTQ1JF RU5fQk9USDoKLQkgIFBvc3RNZXNzYWdlIChGUkFNRV9XMzJfV0lORE9XIChmKSwgV01fU1lTQ09N TUFORCwgU0NfTUFYSU1JWkUsIDApOworICAgICAgICAgIGlmIChwcmV2X2ZzbW9kZSA9PSBGVUxM U0NSRUVOX01BWElNSVpFRCkKKyAgICAgICAgICAgIFNlbmRNZXNzYWdlIChod25kLCBXTV9TWVND T01NQU5ELCBTQ19SRVNUT1JFLCAwKTsKKworICAgICAgICAgIGlmIChwcmV2X2ZzbW9kZSAhPSBG VUxMU0NSRUVOX0JPVEgpCisgICAgICAgICAgICBHZXRXaW5kb3dQbGFjZW1lbnQgKGh3bmQsICZG UkFNRV9OT1JNQUxfUExBQ0VNRU5UIChmKSk7CisKKyAgICAgICAgICBSRUNUIHJlY3Q7CisgICAg ICAgICAgdzMyX21vbml0b3JfcmVjdCAoZiwgJnJlY3QpOworICAgICAgICAgIFNldFdpbmRvd0xv bmcgKGh3bmQsIEdXTF9TVFlMRSwgZHdTdHlsZSAmIH5XU19PVkVSTEFQUEVEV0lORE9XKTsKKwor ICAgICAgICAgIFNldFdpbmRvd1BvcyAoaHduZCwgSFdORF9UT1AsIHJlY3QubGVmdCwgcmVjdC50 b3AsCisgICAgICAgICAgICAgICAgICAgICAgICByZWN0LnJpZ2h0IC0gcmVjdC5sZWZ0LCByZWN0 LmJvdHRvbSAtIHJlY3QudG9wLAorICAgICAgICAgICAgICAgICAgICAgICAgU1dQX05PT1dORVJa T1JERVIgfCBTV1BfRlJBTUVDSEFOR0VEKTsKIAkgIGJyZWFrOwogCWNhc2UgRlVMTFNDUkVFTl9N QVhJTUlaRUQ6Ci0JICBoZWlnaHQgPQotCSAgICBGUkFNRV9QSVhFTF9IRUlHSFRfVE9fVEVYVF9M SU5FUyAoZiwgcGl4ZWxfaGVpZ2h0KQotCSAgICAtIFhJTlQgKEZ0b29sX2Jhcl9saW5lc19uZWVk ZWQgKHNlbGVjdGVkX2ZyYW1lKSkKLQkgICAgKyAoTklMUCAoVm1lbnVfYmFyX21vZGUpID8gMSA6 IDApOwotCSAgd2lkdGggID0KLQkgICAgRlJBTUVfUElYRUxfV0lEVEhfVE9fVEVYVF9DT0xTIChm LCBwaXhlbF93aWR0aCkKLQkgICAgLSBGUkFNRV9TQ1JPTExfQkFSX0NPTFMgKGYpOwotCSAgbGVm dF9wb3MgPSB3b3JrYXJlYV9yZWN0LmxlZnQ7Ci0JICB0b3BfcG9zID0gd29ya2FyZWFfcmVjdC50 b3A7CisgICAgICAgICAgaWYgKHByZXZfZnNtb2RlID09IEZVTExTQ1JFRU5fQk9USCkKKyAgICAg ICAgICAgIHsKKyAgICAgICAgICAgICAgU2V0V2luZG93TG9uZyAoaHduZCwgR1dMX1NUWUxFLCBk d1N0eWxlIHwgV1NfT1ZFUkxBUFBFRFdJTkRPVyk7CisgICAgICAgICAgICAgIFNldFdpbmRvd1Bs YWNlbWVudCAoaHduZCwgJkZSQU1FX05PUk1BTF9QTEFDRU1FTlQgKGYpKTsKKyAgICAgICAgICAg ICAgU2V0V2luZG93UG9zKGh3bmQsIE5VTEwsIDAsIDAsIDAsIDAsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICBTV1BfTk9NT1ZFIHwgU1dQX05PU0laRSB8IFNXUF9OT1pPUkRFUiB8CisgICAg ICAgICAgICAgICAgICAgICAgICAgICBTV1BfTk9PV05FUlpPUkRFUiB8IFNXUF9GUkFNRUNIQU5H RUQpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgUG9zdE1lc3NhZ2UgKEZSQU1FX1czMl9X SU5ET1cgKGYpLCBXTV9TWVNDT01NQU5ELCBTQ19NQVhJTUlaRSwgMCk7CiAJICBicmVhazsKIAlj YXNlIEZVTExTQ1JFRU5fV0lEVEg6Ci0JICB3aWR0aCAgPQotCSAgICBGUkFNRV9QSVhFTF9XSURU SF9UT19URVhUX0NPTFMgKGYsIHBpeGVsX3dpZHRoKQotCSAgICAtIEZSQU1FX1NDUk9MTF9CQVJf Q09MUyAoZik7Ci0JICBoZWlnaHQgPSBGUkFNRV9OT1JNQUxfSEVJR0hUIChmKTsKLQkgIGxlZnRf cG9zID0gd29ya2FyZWFfcmVjdC5sZWZ0OwotCSAgYnJlYWs7CiAJY2FzZSBGVUxMU0NSRUVOX0hF SUdIVDoKLQkgIGhlaWdodCA9Ci0JICAgIEZSQU1FX1BJWEVMX0hFSUdIVF9UT19URVhUX0xJTkVT IChmLCBwaXhlbF9oZWlnaHQpCi0JICAgIC0gWElOVCAoRnRvb2xfYmFyX2xpbmVzX25lZWRlZCAo c2VsZWN0ZWRfZnJhbWUpKQotCSAgICArIChOSUxQIChWbWVudV9iYXJfbW9kZSkgPyAxIDogMCk7 Ci0JICB3aWR0aCA9IEZSQU1FX05PUk1BTF9XSURUSCAoZik7Ci0JICB0b3BfcG9zID0gd29ya2Fy ZWFfcmVjdC50b3A7Ci0JICBicmVhazsKIAljYXNlIEZVTExTQ1JFRU5fTk9ORToKLQkgIGhlaWdo dCA9IEZSQU1FX05PUk1BTF9IRUlHSFQgKGYpOwotCSAgd2lkdGggPSBGUkFNRV9OT1JNQUxfV0lE VEggKGYpOwotCSAgbGVmdF9wb3MgPSBGUkFNRV9OT1JNQUxfTEVGVCAoZik7Ci0JICB0b3BfcG9z ID0gRlJBTUVfTk9STUFMX1RPUCAoZik7CisgICAgICAgICAgaWYgKHByZXZfZnNtb2RlID09IEZV TExTQ1JFRU5fQk9USCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgU2V0V2luZG93TG9u ZyAoaHduZCwgR1dMX1NUWUxFLCBkd1N0eWxlIHwgV1NfT1ZFUkxBUFBFRFdJTkRPVyk7CisgICAg ICAgICAgICAgIFNldFdpbmRvd1BsYWNlbWVudCAoaHduZCwgJkZSQU1FX05PUk1BTF9QTEFDRU1F TlQgKGYpKTsKKyAgICAgICAgICAgICAgU2V0V2luZG93UG9zKGh3bmQsIE5VTEwsIDAsIDAsIDAs IDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBTV1BfTk9NT1ZFIHwgU1dQX05PU0laRSB8 IFNXUF9OT1pPUkRFUiB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICBTV1BfTk9PV05FUlpP UkRFUiB8IFNXUF9GUkFNRUNIQU5HRUQpOworICAgICAgICAgICAgfQorICAgICAgICAgIGVsc2Ug aWYgKHByZXZfZnNtb2RlID09IEZVTExTQ1JFRU5fTUFYSU1JWkVEKQorICAgICAgICAgICAgU2Vu ZE1lc3NhZ2UgKGh3bmQsIFdNX1NZU0NPTU1BTkQsIFNDX1JFU1RPUkUsIDApOwogCSAgYnJlYWs7 CiAJfQogCi0gICAgICBpZiAoY3VyX3cgIT0gd2lkdGggfHwgY3VyX2ggIT0gaGVpZ2h0KQotCXsK LQkgIHhfc2V0X29mZnNldCAoZiwgbGVmdF9wb3MsIHRvcF9wb3MsIDEpOwotCSAgeF9zZXRfd2lu ZG93X3NpemUgKGYsIDEsIHdpZHRoLCBoZWlnaHQpOwotCSAgZG9fcGVuZGluZ193aW5kb3dfY2hh bmdlICgwKTsKLQl9CiAgICAgICBmLT53YW50X2Z1bGxzY3JlZW4gPSBGVUxMU0NSRUVOX05PTkU7 CiAgICAgICB1bmJsb2NrX2lucHV0ICgpOwogICAgIH0KQEAgLTY0MzksNyArNjQxMCw3IEBACiAg IHRlcm1pbmFsLT5tb3VzZV9wb3NpdGlvbl9ob29rID0gdzMyX21vdXNlX3Bvc2l0aW9uOwogICB0 ZXJtaW5hbC0+ZnJhbWVfcmVoaWdobGlnaHRfaG9vayA9IHczMl9mcmFtZV9yZWhpZ2hsaWdodDsK ICAgdGVybWluYWwtPmZyYW1lX3JhaXNlX2xvd2VyX2hvb2sgPSB3MzJfZnJhbWVfcmFpc2VfbG93 ZXI7Ci0gIHRlcm1pbmFsLT5mdWxsc2NyZWVuX2hvb2sgPSB3MzJmdWxsc2NyZWVuX2hvb2s7Cisg IHRlcm1pbmFsLT5mdWxsc2NyZWVuX2hvb2sgPSB3MzJfZnVsbHNjcmVlbl9ob29rOwogICB0ZXJt aW5hbC0+c2V0X3ZlcnRpY2FsX3Njcm9sbF9iYXJfaG9vayA9IHczMl9zZXRfdmVydGljYWxfc2Ny b2xsX2JhcjsKICAgdGVybWluYWwtPmNvbmRlbW5fc2Nyb2xsX2JhcnNfaG9vayA9IHczMl9jb25k ZW1uX3Njcm9sbF9iYXJzOwogICB0ZXJtaW5hbC0+cmVkZWVtX3Njcm9sbF9iYXJfaG9vayA9IHcz Ml9yZWRlZW1fc2Nyb2xsX2JhcjsKCj09PSBtb2RpZmllZCBmaWxlICdzcmMvdzMydGVybS5oJwot LS0gc3JjL3czMnRlcm0uaAkyMDEzLTA0LTA3IDA0OjQxOjE5ICswMDAwCisrKyBzcmMvdzMydGVy bS5oCTIwMTMtMDQtMTEgMDQ6MjI6MzIgKzAwMDAKQEAgLTcxLDYgKzcxLDcgQEAKIH07CiAKIGV4 dGVybiB2b2lkIHczMl9yZWdlbmVyYXRlX3BhbGV0dGUgKHN0cnVjdCBmcmFtZSAqZik7CitleHRl cm4gdm9pZCB3MzJfbW9uaXRvcl9yZWN0IChzdHJ1Y3QgZnJhbWUgKmYsIFJFQ1QgKnJlY3QpOwog CiAMCiAvKiBGb3IgZWFjaCBkaXNwbGF5IChjdXJyZW50bHkgb25seSBvbmUgb24gdzMyKSwgd2Ug aGF2ZSBhIHN0cnVjdHVyZSB0aGF0CkBAIC0zNjIsNyArMzYzLDcgQEAKICAgLyogRnJhbWUgZ2Vv bWV0cnkgYW5kIGZ1bGwtc2NyZWVuIG1vZGUgYmVmb3JlIGl0IHdhcyByZXNpemVkIGJ5CiAgICAg IHNwZWNpZnlpbmcgdGhlICdmdWxsc2NyZWVuJyBmcmFtZSBwYXJhbWV0ZXIuICBVc2VkIHRvIHJl c3RvcmUgdGhlCiAgICAgIGdlb21ldHJ5IHdoZW4gJ2Z1bGxzY3JlZW4nIGlzIHJlc2V0IHRvIG5p bC4gICovCi0gIGludCBub3JtYWxfd2lkdGgsIG5vcm1hbF9oZWlnaHQsIG5vcm1hbF90b3AsIG5v cm1hbF9sZWZ0OworICBXSU5ET1dQTEFDRU1FTlQgbm9ybWFsX3BsYWNlbWVudDsKICAgaW50IHBy ZXZfZnNtb2RlOwogfTsKIApAQCAtMzk2LDExICszOTcsOCBAQAogI2RlZmluZSBGUkFNRV9TTUFM TEVTVF9GT05UX0hFSUdIVChGKSBcCiAgICAgIEZSQU1FX1czMl9ESVNQTEFZX0lORk8oRiktPnNt YWxsZXN0X2ZvbnRfaGVpZ2h0CiAKLSNkZWZpbmUgRlJBTUVfTk9STUFMX1dJRFRIKEYpICAoKEYp LT5vdXRwdXRfZGF0YS53MzItPm5vcm1hbF93aWR0aCkKLSNkZWZpbmUgRlJBTUVfTk9STUFMX0hF SUdIVChGKSAoKEYpLT5vdXRwdXRfZGF0YS53MzItPm5vcm1hbF9oZWlnaHQpCi0jZGVmaW5lIEZS QU1FX05PUk1BTF9UT1AoRikgICAgKChGKS0+b3V0cHV0X2RhdGEudzMyLT5ub3JtYWxfdG9wKQot I2RlZmluZSBGUkFNRV9OT1JNQUxfTEVGVChGKSAgICgoRiktPm91dHB1dF9kYXRhLnczMi0+bm9y bWFsX2xlZnQpCi0jZGVmaW5lIEZSQU1FX1BSRVZfRlNNT0RFKEYpICAgKChGKS0+b3V0cHV0X2Rh dGEudzMyLT5wcmV2X2ZzbW9kZSkKKyNkZWZpbmUgRlJBTUVfTk9STUFMX1BMQUNFTUVOVChGKSAo KEYpLT5vdXRwdXRfZGF0YS53MzItPm5vcm1hbF9wbGFjZW1lbnQpCisjZGVmaW5lIEZSQU1FX1BS RVZfRlNNT0RFKEYpICAgICAgKChGKS0+b3V0cHV0X2RhdGEudzMyLT5wcmV2X2ZzbW9kZSkKIAog DAogLyogVzMyLXNwZWNpZmljIHNjcm9sbCBiYXIgc3R1ZmYuICAqLwoKIyBCZWdpbiBidW5kbGUK SXlCQ1lYcGhZWElnY21WMmFYTnBiMjRnWW5WdVpHeGxJSFkwQ2lNS1FscG9PVEZCV1NaVFdad0JT YnNBQmE1L2dGZHdCSUo1OS8vLwpmK2ZmOEwvLy8vOWdDNjVyMFk0UHZRQWVoN09QZWFLWHVybTl1 SGlzT3hybTYwV2dra0lCTlQwRFRRbTBsUHhVODBtcCtJMU1wNko2ClpRMDlUUm9iVTlRYUdtYWdT aUV5WWpTcDdKbEp0RU5BOVFhQm9hTkRJQU1qMUdnQUFjYUdnYU5NalRScGtCaVlJQUFhQTBCcGtC Z1QKSUVwb2lhRk1ucEpwNVRFMHpCVFJvOUlHZ0FhQUEwMEJvYWFBaVVqU05OUmswMmtwK3BrajFH bnRVMDlUMFFhQjZucHBEMUhwcUFBMApIcVBTQkpFQWdCQ01tU21hbXhKNlNEMUdtVEk5UVBVQUdU MURKb1lsQUlVc3VUeXRiNTFsRE5hYTRLWnc0anl1Wmt2SDRFcytuVFRLClRmS2VSb3ZQbVhSVkQz T2NpTEtEcXQzdmw2Sm9LMG1mUkVDSUVHNEg5Rks3d1lYeFhsRTc5czJxbmlmcTZGWGhsc0RmWGx0 WUMxQ20KK3FtNGtOYzZ5eFlObXg5VmIyT2ZvZzhlNXpkZnN1L1gxbkYwcHM0Ny9qZ0lJQ1ZvMVJn QmJXdXA4Y01VbHZ0T3JqSldiZkllMTVGRApnUGUzRFpENFEyUXR3WGxOK3pNTnhxcjZESHMvQTQ4 RGVMK0huYjNsWklTS0Vod3FhRENjWTJOYlNMYStiRFMxU1JsV1JUYUtrOE1xCnN1VExWVlNweUZW WStrVnU5TEI0WlJLQ2FzVnRkSW1wSUtsRmJrMU92V2xhL0pjLzd1eFp4OFVWUmo2QmNacWdsdytp TjdnMklUQnoKd1RXbElPbmplL0RsVnJpVFNSS1FPbTVIRGpNdmx6MEdNeHFjYVdiaXd1MjNjTmlx ZGFLWlBnV3hsalBKdGhZTGRtdGcrYzY0ZTh4NQpFWmFYMzNkSlB4MUswZmF3ejNaOG5SVFJlZzlm VXFyT2NLb0F4TzJkZ1pJeTNtNTRDVWp5U2I3M1JwVS9HdXJXWG5jM0d5NWRaMXk1ClRPR1JHOEpT V2N0d0hzMmJ1YmR0NThtTWlVUHFVdTNvellSUmNEaExpQzZQQXVZcmEyZ2htTzJ6VGlJSVIxTWtj SXdaUmhLWjJKdkMKaGptR0lVNFc5MGpOeTd4d1BOY2tlM1JkdHZhWnlxQkx5d3hjcHZ1eDQzeDBU bHdwTXk3Y2d2V3gxRjRyL3k4blUzMUVMeElrRURnVgpMeU5iRFB0NDJpZGkvWnE5RjgyTDRyaDRr dVFldXBieERoVHpydVoyN0NNNGVVdW0zSUpDTnZYQWVuTnF0NHU5M0RwZGhuTm1UR1NSCi94MUUw VzUrc1lwTTVmSHNkRy93dXpNejRPR0dRVHBoM29zampGSzFvRFdqck5hRklSY29vUkFHS2xTYy9P TVA5LzJBRkJIU0paQmUKUCtUTWV4aVZaQlgyUlJqSU0xTDVWQXVQdzF1dWwybG9NbFpwWnVFV2FG cjZwNUYyQ2pmY09JdDVzRE9KMHpYdXVFYUZ5Q2FEbWRSSQp0ZFRmaUZuNFB3MkxUQU1jVUVqV0M2 Q00wYVdQVm5ZOVhIUlpLaHFOaEY1TU4raHUreHlMSUhJbkord2JSY1RnY3FiQ0xxWW80eWNqCkJz SmNkZ1dQQkFuUVdqc3QxRlVSSUlpTDZNYTVrdUk1a1JsSnQxcmhXRW55TnhnUlNOclVzOFlRd3po ZENzNlBKQVljZExIeWt4RTAKSFY2MUZHckFHVjdKY0RHRlNMTW9zWkRRdm5PSkk1a3pDT2k3V2g5 cElSTGcxNjZycjFKNmxxUWJxSExJWkNpWlU1a0JFUkdyWDlGSwpzVWl0Mkp4VXN0czVqa0NPTURr VmlPSFFjaVZOMEtXMWhoT1VGY1pHYzJJNWtpTjg0UXVSRnQ3QVVFRjY2Qlg2Nnk4VEZIS3dXbTBN CmFHQ2hwbHRSWVFLUnFTeExZRGFuTjRCVmlkWHM4aXNkdFVVdU5qa0lwdGRnOTczaGdOZHRHa1Z2 WWpVb01Rckd4QjJqQm53SjFlUkcKZEpkUTY0YWFJdkpHSEdhRFhTZHNXeWRvd3diU3padlhDaHRT OHdIVWk2aGRrMmNaRXlJVE5JTEVuTm1OMUVpYjY2Uk5rRWE2RnNqWQplSHZGNmhHYlpMZk50THJa WVBNeGNOa1B5RU50T3FsaGhZeG1kbWFMR0M0Q2s5VnpoSjJGUEF6ekNzYWxhc0RycmRvN0dkTWVs RzJuClJJUk5hRU5zYjRJRHhjUWdjWTFLYkxPYUcyd2hKSlRZM2U0MlIzWURmdFVzZlNZcDJCMEFF ZWw2TFhuNmJhdnQ0YWVBa2pDZHlaZjQKU1BZREd3bzQ1ek8xU1BuQzYxTEJMV3Z6V1UrZDdUdUth c3RrbzNidWx0YW5hOVRZaGwrdnRUT1pVaTJwdU9Ea1dxSi9kN0Frakx5LwpCWGtSSmg0TWwyY3dS cDRlTEwrTHFMcWVlMHNjM2YrVDQrMUkzNTRvNW5CVTMvQS9OWUlzdnNEN0JFVW04d1loMWh5b0dD elUxRkRJClh1WG5XZ2Q1dzBJa1RCZWpZOUo0ZkQ0OHJzVE1tWjBOQktiMGFGam5TMUdxWE1XZUUz dzlWNGlpUjlad1BGRHFBTWRCejlpSmw2OFIKWXBna1VoUlpUVnpNT25FNExtQjNRWEdsVzFRK2dC QkJxVTFRWDJNQW5aTURKaWpIbUR1ODZVVkV2RHFLVVlzRTE5WjliRGhBTmwzbQpuWURTY3hERTF1 SkpPTTBwaHhGaEdtc3NESEF5T0s4RjZUVUZCdlhCbHhWZG94OGdpdmZDaW9Nc1FYM1NJZDI1SVpR REZidWdWVHR2ClJVNzF1Ujd3L1V2VUQxa1RramdEQlpkWVFGeFZDQVhQRnF6NUhvWnFMejZZUjVn OTFiazhnRno3elVnMjJFRHJPYW9ibkc4U1pzaHEKSXhxUElRQVVtZWRnL2Z0OXZya0pxM3lYZDN2 VGZnR0VVeCtkYVJZMWpGNWZwWktLSUdITjV0N0QvQXl6RUsvZHlXWk1GRWtFRVFTYwppQlMxcm1l S3VDMUhoaDdJbWppTmZaSk5PSGlOb3lvaHFMVWJRQ2g0ZS9RL09nZ1kwaGE1bmpsWW5BeFFjaGFm cVZGbUJyOFJQYlgzCmJrZDJlM0JJakFscWtiNTEzUDRDVkQ3WkJWUWRKWHQxa0lMSHhlUXpNUkdR RDdIa1lYK0pTaUlvWjBtREp2WWFuemJ4VFhIRFl1L2gKWGZNb0xwQ2RCb0luak9lNGxTMUJpQmZW anRmTFNLS1NrZzBpN05IV20xaW0wUlREUGRyYkdpQ2xqaGtNKzBIT0h1d0lwbWxaWkxIYgptRFlx d3J6S01RV21HeUVYZVQ5bmZWQjZlNzM4MEcyYlpKeExNY0JFeGRXZThTWCtlcnpOZDQzRW50NzVj aFlpTkM3ZXcxdjRRclpsCnhKa1p5Qk1WdjFQeGM3L0E2Z1paUEtSQk5xazFRYytyUFVkaWVPTzhN S1poUmtJaUpKZlpRVHBjZVJTVWJXUVp2ampOMzNOKzdIUksKQzk1cUpPalp0MklQT01lZzlKMGwr UU9sQkk4TkNzVjFVbTNyRmNEem9xYmMxU3hJR2tTTGxmay91dmRRcTRUQ1ppMjdCZkErSjNYbApJ dnRWOG1UUnFiM29VcEczSzdUbmtQaVBHQk91S1p2TGNPL3BvZFJYNGRhNm5PRzBDUWRuZkJPWk1z ekc3dGVBejFhMmJJSGhmUm9WCmRxZTdjU3RzMnh0YUR2UkVGQmVnNEZtQmEwRTU2aGlLOTBkd3Fu clZnd01wczZqRXUxNGF1TG00NzhidkJJazhzYjkrNlNpbG83eHoKQkc0cXpJNk9JbUhqNkhHYVVF amp1RnluV01rajJuTUtpazRTSno5cThqK3ZQdjZFMUxPQjN4Rm1DOFBJbmlzOW5PdkJKYXlCTU02 bQovS01FSzVLaitsUkhBZEk3SkhNWlA4TkVGRU4yNk8wanpIK240SzNTWjhRakk2SlJwSnJIOW5P QW80WWg4MTAxaXVhcHB1S1lZQk80CjhPNGtDWmxLcG9zeExJVGRuWUJ4bElsalN3VmwxQmdRczhW Z0prNE9LZzVVT3NyZ0dmQndnNEVhUk16UnJjZXpRM0ZDSENhRTFyTTUKbU9SdzR3Y0Y1Yis5Qy9r VWdFTkdHNUtUN0tMOVgyaFVQb1NLVzNtQzVxTUlFR1FpN0Y5M2d1TG05VGx6Qmw4QTdEQ2FSdXNU NWt6RAp2VkR3bEVIemlYdW5wRTlROWlNU3dPV3ZNY2h3YTN2dThHWlBUS20wTld1REJYY29xbnF5 R0F3cEhiK0p4bHRCVXozTTRZR1FoenhOCm1oRENqUEU5aURWTDdSbTJkWVZyeFpmTk1hQktaQkMr eDZkMWlXUGZJTEtDMGxweERicy9wTklya0NkSjBOMmplS3VhM0w0Z1lNSksKc29oTWk4VVoyMVJH dmx5UmplQkZZdGFadkR1Tk9aa1lzMHhIM0NMSkdHQWVRY1JnTE1iemplN2g2OTZ1RlYweDEzbmF5 NEVybnJYNQpLUWVqQXpyZVk0QlFOUEtScUhUWmhURzY5VTU1U3hsSSt1SFhLY29oUVlIWVROV3B5 ekVyRTA1K2NVektZelBCeU51SFQ5WXEwcTR1Cm5NN0lBUjFiUGVVSDAxbEhVaHpMWmpkWGgzR2FR Y0Vtc3NDbkFsRmxrNko2RWp6L3hEdDYxd3NPS3loakZldnV2N0VsNkUxUVlUSFgKZzI4WmxuQ3RL VGVnZk5mVUloWVp5TlBaRjhoRC9xWGFwUEI4TnhLRTZFdXlNYTFvVFRNNEpnelg1TnFKc1l5TTRN T3JRUHhxVUxrNgpCd3RPbkNQVWcxd2VJdHBkSEpENjI3emhNcU5CeEZHcEJSL2U4emJ5M0FIa3do ejRSRG80bC80dTVJcHdvU0U0QXBOMgo= --90e6ba5bbaa34e14ea04da0ea88b-- From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 12 05:32:52 2013 Received: (at 14180) by debbugs.gnu.org; 12 Apr 2013 09:32:52 +0000 Received: from localhost ([127.0.0.1]:46918 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UQaLj-0001di-72 for submit@debbugs.gnu.org; Fri, 12 Apr 2013 05:32:52 -0400 Received: from mout.gmx.net ([212.227.17.20]:50966) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UQaLf-0001dD-Sr for 14180@debbugs.gnu.org; Fri, 12 Apr 2013 05:32:48 -0400 Received: from mailout-de.gmx.net ([10.1.76.30]) by mrigmx.server.lan (mrigmx002) with ESMTP (Nemesis) id 0LbO5M-1UsXG53bLO-00ktMq for <14180@debbugs.gnu.org>; Fri, 12 Apr 2013 11:28:51 +0200 Received: (qmail invoked by alias); 12 Apr 2013 09:28:51 -0000 Received: from 62-47-40-70.adsl.highway.telekom.at (EHLO [62.47.40.70]) [62.47.40.70] by mail.gmx.net (mp030) with SMTP; 12 Apr 2013 11:28:51 +0200 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX18Ckxk/DuACY9Nbi+8ReJmdzNzNVLYHci/NoOGRhC o7RldRWGAboRXZ Message-ID: <5167D3CE.90105@gmx.at> Date: Fri, 12 Apr 2013 11:28:46 +0200 From: martin rudalics MIME-Version: 1.0 To: Erik Charlebois Subject: Re: bug#14180: PATCH Better fullscreen frame support on Windows References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-Spam-Score: 0.8 (/) X-Debbugs-Envelope-To: 14180 Cc: 14180@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.9 (-) > I've modified the response to WM_WINDOWPOSCHANGED to do nothing when the > frame is fullscreen. Otherwise, the size gets tuned to a multiple of the > character cells and > the fullscreen isn't perfectly matching the screen. When this happens, > Windows' special > behavior to hide the taskbar doesn't kick in. I suppose that any remaining pixels go to the mode line which will have a slightly shorter scrollbar if the pixel height of your monitor is not a multiple of FRAME_LINE_HEIGHT. Can you observe that? martin From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 12 15:36:09 2013 Received: (at 14180) by debbugs.gnu.org; 12 Apr 2013 19:36:09 +0000 Received: from localhost ([127.0.0.1]:47810 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UQjlY-0001Z8-BN for submit@debbugs.gnu.org; Fri, 12 Apr 2013 15:36:08 -0400 Received: from mail-ie0-f178.google.com ([209.85.223.178]:46564) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UQjlV-0001Yh-Ex for 14180@debbugs.gnu.org; Fri, 12 Apr 2013 15:36:06 -0400 Received: by mail-ie0-f178.google.com with SMTP id bn7so3868941ieb.9 for <14180@debbugs.gnu.org>; Fri, 12 Apr 2013 12:32:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=vbuovK1milBlF9xlzmy15R0FK8ic3SeqqbLTeCQmS5c=; b=adzPnJ/8F6/7elS7Zsf5caL+Mkdu7iMQ8JTGOu9oy9q83YaxZJzYRor5eXoJtDr0z7 PMipxU6VlAwhDMGD15dvnm5v/fM8T7VgvC+T9vC7eqRT+xOkR3zemTEonSpQViWpcsb0 fdLytpS5ceYCUnz0OTiYng3McF3lAJkUHj/wdtvDbAoosarnvH0ZEGgHumubaODVm2kr VNKB+nCIBevh7tQuxjUWtAnmBjp++yLOwNFsVMjNMDyOEzeLYFBQdVEdR7xt0sof3/o5 HdnuS8J6f6Y96VK+voFoi8qxw6yI6hpCxDE1vOkckogAYEFc1+eqsNVknhB0mhDFOeeU 4XrQ== MIME-Version: 1.0 X-Received: by 10.50.7.69 with SMTP id h5mr2636521iga.69.1365795128313; Fri, 12 Apr 2013 12:32:08 -0700 (PDT) Received: by 10.64.27.3 with HTTP; Fri, 12 Apr 2013 12:32:08 -0700 (PDT) In-Reply-To: <5167D3CE.90105@gmx.at> References: <5167D3CE.90105@gmx.at> Date: Fri, 12 Apr 2013 15:32:08 -0400 Message-ID: Subject: Re: bug#14180: PATCH Better fullscreen frame support on Windows From: Erik Charlebois To: martin rudalics Content-Type: multipart/alternative; boundary=089e0111be2a7750ea04da2ef53c X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 14180 Cc: 14180@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) --089e0111be2a7750ea04da2ef53c Content-Type: text/plain; charset=UTF-8 That's correct. The modeline scrollbar is slightly clipped. I just doubled checked toggling scrollbars, menubar and toolbar on and off while in fullscreen and it all works as expected. Thanks for the reminder since I usually run with all those elements off :). On Fri, Apr 12, 2013 at 5:28 AM, martin rudalics wrote: > > I've modified the response to WM_WINDOWPOSCHANGED to do nothing when the > > frame is fullscreen. Otherwise, the size gets tuned to a multiple of the > > character cells and > > the fullscreen isn't perfectly matching the screen. When this happens, > > Windows' special > > behavior to hide the taskbar doesn't kick in. > > I suppose that any remaining pixels go to the mode line which will have > a slightly shorter scrollbar if the pixel height of your monitor is not > a multiple of FRAME_LINE_HEIGHT. Can you observe that? > > martin > --089e0111be2a7750ea04da2ef53c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
That's correct. The modeline scrollbar is slightly cli= pped.

I just doubled checked toggling scrollbars, = menubar and toolbar on and off while in fullscreen and it all works as expe= cted.

Thanks for the reminder since I usually run= with all those elements off :).

=
On Fri, Apr 12, 2013 at 5:28 AM, martin ruda= lics <rudalics@gmx.at> wrote:
> I've modified the= response to WM_WINDOWPOSCHANGED to do nothing when the
> frame is fullscreen. Otherwise, the size gets tuned to a multiple of t= he
> character cells and
> the fullscreen isn't perfectly matching the screen. When this happ= ens,
> Windows' special
> behavior to hide the taskbar doesn't kick in.

I suppose that any remaining pixels go to the mode line which will have
a slightly shorter scrollbar if the pixel height of your monitor is not
a multiple of FRAME_LINE_HEIGHT. =C2=A0Can you observe that?

martin

--089e0111be2a7750ea04da2ef53c-- From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 13 04:07:17 2013 Received: (at 14180) by debbugs.gnu.org; 13 Apr 2013 08:07:17 +0000 Received: from localhost ([127.0.0.1]:48328 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UQvUS-00061i-RQ for submit@debbugs.gnu.org; Sat, 13 Apr 2013 04:07:17 -0400 Received: from mout.gmx.net ([212.227.17.22]:50900) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UQvUQ-00061V-BZ for 14180@debbugs.gnu.org; Sat, 13 Apr 2013 04:07:15 -0400 Received: from mailout-de.gmx.net ([10.1.76.19]) by mrigmx.server.lan (mrigmx001) with ESMTP (Nemesis) id 0MY1FO-1U50q21sdk-00UnVN for <14180@debbugs.gnu.org>; Sat, 13 Apr 2013 10:03:14 +0200 Received: (qmail invoked by alias); 13 Apr 2013 08:03:14 -0000 Received: from 62-47-42-65.adsl.highway.telekom.at (EHLO [62.47.42.65]) [62.47.42.65] by mail.gmx.net (mp019) with SMTP; 13 Apr 2013 10:03:14 +0200 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX18zZKAAidMzzCtcCrDfqDj0svIaneci6lxVbbKTII P4wKuqUemvfYqZ Message-ID: <5169113D.7040801@gmx.at> Date: Sat, 13 Apr 2013 10:03:09 +0200 From: martin rudalics MIME-Version: 1.0 To: Erik Charlebois Subject: Re: bug#14180: PATCH Better fullscreen frame support on Windows References: <5167D3CE.90105@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: 14180 Cc: 14180@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) > That's correct. The modeline scrollbar is slightly clipped. It's because we currently do not distribute spare pixel lines to other windows but simply append them at the end of the mode-line without, however, storing the pixel height in the window. The display engine doesn't know anything about this and therefore cannot draw the scroll bar long enough. I suppose the remaining pixel lines of the screen are cleared by Windows using FRAME_BACKGROUND_PIXEL but never checked that. Here I changed the behavior by appending the extra pixel lines to the windows that "most need it". > I just doubled checked toggling scrollbars, menubar and toolbar on and off > while in fullscreen and it all works as expected. > > Thanks for the reminder since I usually run with all those elements off :). I intended to ask you that too. At least some of these can have very nasty delayed effects (at least with the old maximized/fullscreen mode). In particular, independently setting margin widths and scrollbar widths and the internal border widths of frames. martin From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 13 06:13:50 2013 Received: (at 14180) by debbugs.gnu.org; 13 Apr 2013 10:13:50 +0000 Received: from localhost ([127.0.0.1]:48444 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UQxSw-0004fH-4w for submit@debbugs.gnu.org; Sat, 13 Apr 2013 06:13:50 -0400 Received: from mtaout20.012.net.il ([80.179.55.166]:59160) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UQxSt-0004f4-DC for 14180@debbugs.gnu.org; Sat, 13 Apr 2013 06:13:48 -0400 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0ML600500UHSZC00@a-mtaout20.012.net.il> for 14180@debbugs.gnu.org; Sat, 13 Apr 2013 13:09:46 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0ML60052VUWAGHF0@a-mtaout20.012.net.il>; Sat, 13 Apr 2013 13:09:46 +0300 (IDT) Date: Sat, 13 Apr 2013 13:09:50 +0300 From: Eli Zaretskii Subject: Re: bug#14180: PATCH Better fullscreen frame support on Windows In-reply-to: X-012-Sender: halo1@inter.net.il To: Erik Charlebois Message-id: <83fvyu91xt.fsf@gnu.org> References: X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 14180 Cc: 14180@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) > Date: Thu, 11 Apr 2013 00:59:54 -0400 > From: Erik Charlebois > > This change improves the 'fullscreen' frame support on Windows. When > going to fullscreen, the frame gets fullscreened with no window > decorations (which causes the Windows task bar to also disappear) on > the nearest monitor. Thank you for doing this. Jan, does the fullscreen functionality on X also maximizes the frame to one of the monitors, when several monitors are available? I don't want to introduce differences in behavior here. > The old fullscreen functionality was actually 'maximize' behavior so > I've moved that to 'maximize'. Sorry, I don't understand. The value of the 'fullscreen' frame parameter can be either 'maximize' or 'fullboth' (the latter also has a confusing alias 'fullscreen'). The current trunk code handles both, and it does so in accordance with the documentation (the last sentence below): `fullscreen' Specify that width, height or both shall be maximized. The value `fullwidth' specifies that width shall be as wide as possible. The value `fullheight' specifies that height shall be as tall as possible. The value `fullboth' specifies that both the width and the height shall be set to the size of the screen. The value `maximized' specifies that the frame shall be maximized. The difference between `maximized' and `fullboth' is that the former can still be resized by dragging window manager decorations with the mouse, while the latter really covers the whole screen and does not allow resizing by mouse dragging. It looks like your patch swaps the meaning of 'fullboth' and 'maximize', so that Emacs on MS-Windows will behave differently from its behavior on other platforms. Is my understanding correct? If so, please don't make that swap, it is wrong. > 'fullwidth' and 'fullheight' are now ignored because they were buggy > (at least in Windows 8, they were not being sized correctly) and are > not common Windows idioms. Please don't ignore these two values. They do work reasonably well on XP and on Windows 7. If they are buggy and/or don't work on Windows 8, let's fix them if we can, and leave them as they are if we can't fix them. Removing them is too drastic, IMO; I see no justification for that. > While they could be supported, I'd do it as follow on work and get > it working right on multiple monitors as well. Thanks, but in the meantime please don't remove the current code that attempts to support these two values. > I've modified the response to WM_WINDOWPOSCHANGED to do nothing when > the frame is fullscreen. Otherwise, the size gets tuned to a > multiple of the character cells and the fullscreen isn't perfectly > matching the screen. When this happens, Windows' special behavior to > hide the taskbar doesn't kick in. During debugging the new code, I saw that w32_fullscreen_hook is called with f->want_fullscreen set to the value FULLSCREEN_WAIT; I'm not sure your code expects that value and/or handles it correctly. Please double-check that. > (I signed the FSF copyright assignment papers in January so I'm ok on that > front.) Unfortunately, the FSF records still don't reflect your assignment, as of this writing. Could you please write to the FSF clerk with whom you were in touch, and ask him to expedite the update? Thanks. A few comments about your patch: > 2013-04-11 Erik Charlebois > > * src/w32fns.c (monitor_from_window_fn): New Windows API import. > (w32_monitor_rect): New function to get nearest monitor rect. > * src/w32term.c (w32_fullscreen_hook): Renamed from w32fullscreen_hook > for consistency. Rewritten for improved fullscreen support. Please leave 2 spaces after a period that ends a sentence (we use the US conventions in ChangeLogs and in the docs.) Also, please don't rename w32fullscreen_hook, I see no reason for consistency in naming functions that are private to the w32 build. > +void > +w32_monitor_rect (struct frame *f, RECT *rect) > +{ > +#ifdef HAVE_WINDOW_SYSTEM > + if (f) > + { > + /* If multiple monitor support is available, make the window > + fullscreen on the appropriate screen. */ ^ Two spaces here. Also, is there really a reason for the ifdef? I don't think this code could possibly be called in a -nw session, could it? From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 13 07:38:01 2013 Received: (at 14180) by debbugs.gnu.org; 13 Apr 2013 11:38:02 +0000 Received: from localhost ([127.0.0.1]:48499 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UQymP-0001eO-GS for submit@debbugs.gnu.org; Sat, 13 Apr 2013 07:38:01 -0400 Received: from mailout.melmac.se ([62.20.26.67]:51828) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UQymM-0001eF-VG for 14180@debbugs.gnu.org; Sat, 13 Apr 2013 07:38:00 -0400 Received: from mail01.melmac.se (mail01.melmac.se [62.20.26.80]) by mailout.melmac.se (Postfix) with ESMTP id 7F82791A8 for <14180@debbugs.gnu.org>; Sat, 13 Apr 2013 13:33:57 +0200 (CEST) Received: (qmail 2089 invoked by uid 89); 13 Apr 2013 11:33:19 -0000 Received: from h-46-59-42-18.na.cust.bahnhof.se (HELO coolsville.localdomain) (boel.djarv@bdtv.se@46.59.42.18) by mail01.melmac.se with ESMTPA; 13 Apr 2013 11:33:19 -0000 Received: from [172.20.199.2] (gaffa [172.20.199.2]) by coolsville.localdomain (Postfix) with ESMTP id F153A7FA058; Sat, 13 Apr 2013 13:33:56 +0200 (CEST) Message-ID: <516942A4.5090707@swipnet.se> Date: Sat, 13 Apr 2013 13:33:56 +0200 From: =?ISO-8859-1?Q?Jan_Dj=E4rv?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130221 Thunderbird/17.0.3 MIME-Version: 1.0 To: Eli Zaretskii Subject: Re: bug#14180: PATCH Better fullscreen frame support on Windows References: <83fvyu91xt.fsf@gnu.org> In-Reply-To: <83fvyu91xt.fsf@gnu.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 1.5 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: 2013-04-13 12:09, Eli Zaretskii skrev: > > Jan, does the fullscreen functionality on X also maximizes the frame > to one of the monitors, when several monitors are available? I don't > want to introduce differences in behavior here. > [...] Content analysis details: (1.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.7 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% [score: 0.5000] X-Debbugs-Envelope-To: 14180 Cc: 14180@debbugs.gnu.org, Erik Charlebois X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: 1.5 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: 2013-04-13 12:09, Eli Zaretskii skrev: > > Jan, does the fullscreen functionality on X also maximizes the frame > to one of the monitors, when several monitors are available? I don't > want to introduce differences in behavior here. > [...] Content analysis details: (1.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.7 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% [score: 0.4493] 2013-04-13 12:09, Eli Zaretskii skrev: > > Jan, does the fullscreen functionality on X also maximizes the frame > to one of the monitors, when several monitors are available? I don't > want to introduce differences in behavior here. > If there is a window manager running, we just tell the window manager to make Emacs fullscreen, so it is really up to the WM. The window managers I worked with do maximize on one monitor only. When no WM is running we maximize to the whole display, i.e. all monitors. But that is more or less just for debugging when you want to see Emacs <-> Xserver interractions without a WM getting in the way. It is nothing a user ever encounters. Jan D. From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 13 08:00:53 2013 Received: (at 14180) by debbugs.gnu.org; 13 Apr 2013 12:00:53 +0000 Received: from localhost ([127.0.0.1]:48543 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UQz8W-00039J-KY for submit@debbugs.gnu.org; Sat, 13 Apr 2013 08:00:52 -0400 Received: from mtaout22.012.net.il ([80.179.55.172]:54311) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UQz8U-000399-2q for 14180@debbugs.gnu.org; Sat, 13 Apr 2013 08:00:51 -0400 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0ML600E00ZSQVZ00@a-mtaout22.012.net.il> for 14180@debbugs.gnu.org; Sat, 13 Apr 2013 14:56:48 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0ML600E1SZUNRA20@a-mtaout22.012.net.il>; Sat, 13 Apr 2013 14:56:48 +0300 (IDT) Date: Sat, 13 Apr 2013 14:56:52 +0300 From: Eli Zaretskii Subject: Re: bug#14180: PATCH Better fullscreen frame support on Windows In-reply-to: <516942A4.5090707@swipnet.se> To: Jan =?iso-8859-1?Q?Dj=E4rv?= Message-id: <83bo9i8wzf.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: QUOTED-PRINTABLE X-012-Sender: halo1@inter.net.il References: <83fvyu91xt.fsf@gnu.org> <516942A4.5090707@swipnet.se> X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 14180 Cc: 14180@debbugs.gnu.org, erikcharlebois@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) > Date: Sat, 13 Apr 2013 13:33:56 +0200 > From: Jan Dj=E4rv > CC: Erik Charlebois , 14180@debbugs.gnu.o= rg >=20 > 2013-04-13 12:09, Eli Zaretskii skrev: >=20 > > > > Jan, does the fullscreen functionality on X also maximizes the fr= ame > > to one of the monitors, when several monitors are available? I d= on't > > want to introduce differences in behavior here. > > >=20 > If there is a window manager running, we just tell the window manag= er to make=20 > Emacs fullscreen, so it is really up to the WM. The window manager= s I worked=20 > with do maximize on one monitor only. >=20 > When no WM is running we maximize to the whole display, i.e. all mo= nitors.=20 > But that is more or less just for debugging when you want to see Em= acs <->=20 > Xserver interractions without a WM getting in the way. It is nothi= ng a user=20 > ever encounters. OK, thanks. So I guess that part of Erik's patch is fine. From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 13 21:27:26 2013 Received: (at 14180) by debbugs.gnu.org; 14 Apr 2013 01:27:26 +0000 Received: from localhost ([127.0.0.1]:49428 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1URBj2-0004u3-Ic for submit@debbugs.gnu.org; Sat, 13 Apr 2013 21:27:25 -0400 Received: from mail-ie0-f181.google.com ([209.85.223.181]:55539) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1URBiy-0004tr-1d for 14180@debbugs.gnu.org; Sat, 13 Apr 2013 21:27:23 -0400 Received: by mail-ie0-f181.google.com with SMTP id as1so199685iec.26 for <14180@debbugs.gnu.org>; Sat, 13 Apr 2013 18:23:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=izNU0CyC+FiXHfSohTq91W/dTP9INgYAy1by6syiDdg=; b=JaGMu46vS38rtXEWBOxMv6JtIFQGlDMtzrdIAeLMRHKMzPx6zqhTXQe/uZkz2+SJlK My41IpdbqK5RAzBSsrcCafjOcKjWeWoIgVnPSggrYsn6jnr6xT8FYkEOqlteIfElRuAH Qc5flwM0a9ZUpvz+jbqQ+WdhfJajncwH8tpy6lmzSovNFTObLN7OKT94A9dJm8TPTtPN vv9ZvBsp4lwA6HqqOBfp1pd/DKA9VgLpfZtp2j4IpSMzWbsXRNN5GlG0K6l4H+O0QNaK MKnPkvqQ0wCL0RpzgR0NYfKRmLkwZyZt08rDkxpZ4hFGTgl+OZFKwoVyW5NtgZ+9JDhC N9Gg== MIME-Version: 1.0 X-Received: by 10.50.114.195 with SMTP id ji3mr2403856igb.67.1365902596409; Sat, 13 Apr 2013 18:23:16 -0700 (PDT) Received: by 10.64.27.3 with HTTP; Sat, 13 Apr 2013 18:23:16 -0700 (PDT) In-Reply-To: <83bo9i8wzf.fsf@gnu.org> References: <83fvyu91xt.fsf@gnu.org> <516942A4.5090707@swipnet.se> <83bo9i8wzf.fsf@gnu.org> Date: Sat, 13 Apr 2013 21:23:16 -0400 Message-ID: Subject: Re: bug#14180: PATCH Better fullscreen frame support on Windows From: Erik Charlebois To: Eli Zaretskii Content-Type: multipart/mixed; boundary=089e0122ac460e91d004da47fb55 X-Spam-Score: -2.6 (--) X-Debbugs-Envelope-To: 14180 Cc: 14180@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) --089e0122ac460e91d004da47fb55 Content-Type: multipart/alternative; boundary=089e0122ac460e91cb04da47fb53 --089e0122ac460e91cb04da47fb53 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I've rewritten the patch to preserve the maximized, fullwidth and fullheight functionality and fix them on Windows 8; came out cleaner in the end too. The FULLSCREEN_WAIT flag now gets cleared prior to using want_fullscreen (was a bug in the existing implementation too I believe). I've contacted the FSF clerk. Hopefully that can get cleared up soon. 2013-04-11 Erik Charlebois * src/w32fns.c (w32_fullscreen_rect): New function to compute the window rectangle for the given fullscreen mode. (w32_wnd_proc): When in a fullscreen mode, WM_WINDOWPOSCHANGING no longer tunes the window size. This keeps the window's edges flush with the screen and allows the taskbar to hide itself in fullboth. * src/w32term.c (w32fullscreen_hook): fullboth now shows without window decorations and uses the entire screen. On Sat, Apr 13, 2013 at 7:56 AM, Eli Zaretskii wrote: > > Date: Sat, 13 Apr 2013 13:33:56 +0200 > > From: Jan Dj=C3=A4rv > > CC: Erik Charlebois , 14180@debbugs.gnu.org > > > > 2013-04-13 12:09, Eli Zaretskii skrev: > > > > > > > > Jan, does the fullscreen functionality on X also maximizes the frame > > > to one of the monitors, when several monitors are available? I don't > > > want to introduce differences in behavior here. > > > > > > > If there is a window manager running, we just tell the window manager t= o > make > > Emacs fullscreen, so it is really up to the WM. The window managers I > worked > > with do maximize on one monitor only. > > > > When no WM is running we maximize to the whole display, i.e. all > monitors. > > But that is more or less just for debugging when you want to see Emacs > <-> > > Xserver interractions without a WM getting in the way. It is nothing a > user > > ever encounters. > > OK, thanks. So I guess that part of Erik's patch is fine. > --089e0122ac460e91cb04da47fb53 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I've rewritten the patch to preserve the maximized, fu= llwidth and fullheight functionality and fix them
on Windows 8; came ou= t cleaner in the end too.

The FULLSCREEN_WAIT flag= now gets cleared prior to using want_fullscreen (was a bug in the
existing implementation too I believe).

I've contacted the FSF clerk. Hopefully that can get cleared up soon.<= /div>

2013-04-11 =C2=A0Erik Charlebois =C2=A0<erikcharlebois= @gmail.com>

* src/w32fns.c (w32_fullscreen_rect): New function to compute the
window rectangle for the given= fullscreen mode.
(w32_wnd_proc): When in a fullscreen mode, WM_WINDOWPOSCHANGING
no longer tunes th= e window size. =C2=A0This keeps the window's edges
flush with the screen and allo= ws the taskbar to hide itself in
fullboth.
* src/w32term.c (w= 32fullscreen_hook): fullboth now shows without
window decorations and uses th= e entire screen.
<= br>
On Sat, Apr 13, 2013 at 7:56 AM, Eli Zare= tskii <eliz@gnu.org> wrote:
> Date: Sat, 13 Apr 2013 13:33:56 +0200 > From: Jan Dj=C3=A4rv <jan.h.d= @swipnet.se>
> CC: Erik Charlebois <er= ikcharlebois@gmail.com>, 14= 180@debbugs.gnu.org
>
> 2013-04-13 12:09, Eli Zaretskii skrev:
>
> >
> > Jan, does the fullscreen functionality on X also maximizes the fr= ame
> > to one of the monitors, when several monitors are available? =C2= =A0I don't
> > want to introduce differences in behavior here.
> >
>
> If there is a window manager running, we just tell the window manager = to make
> Emacs fullscreen, so it is really up to the WM. =C2=A0The window manag= ers I worked
> with do maximize on one monitor only.
>
> When no WM is running we maximize to the whole display, i.e. all monit= ors.
> But that is more or less just for debugging when you want to see Emacs= <->
> Xserver interractions without a WM getting in the way. =C2=A0It is not= hing a user
> ever encounters.

OK, thanks. =C2=A0So I guess that part of Erik's patch is f= ine.

--089e0122ac460e91cb04da47fb53-- --089e0122ac460e91d004da47fb55 Content-Type: text/plain; charset=US-ASCII; name="W32_FULLSCREEN_2.txt" Content-Disposition: attachment; filename="W32_FULLSCREEN_2.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hfhirru00 IyBCYXphYXIgbWVyZ2UgZGlyZWN0aXZlIGZvcm1hdCAyIChCYXphYXIgMC45MCkKIyByZXZpc2lv bl9pZDogZXJpa2NoYXJsZWJvaXNAZ21haWwuY29tLTIwMTMwNDE0MDA1ODQ1LVwKIyAgIHdhdHBz azh3MTcwMWoyMngKIyB0YXJnZXRfYnJhbmNoOiBmaWxlOi8vL0M6L1VzZXJzL0VyaWsvU291cmNl L2VtYWNzL3RydW5rLwojIHRlc3RhbWVudF9zaGExOiA5ZDFiYzMxODIxYjMxNWFiMDI4NjAzMWUy MGVkN2M5ZDQ1N2E2ZTk4CiMgdGltZXN0YW1wOiAyMDEzLTA0LTEzIDIwOjU5OjA1IC0wNDAwCiMg YmFzZV9yZXZpc2lvbl9pZDogcmdtQGdudS5vcmctMjAxMzA0MTAwMTIyMTUtMGFsZzlzcG13cG1p Ymk0NQojIAojIEJlZ2luIHBhdGNoCj09PSBtb2RpZmllZCBmaWxlICdzcmMvdzMyZm5zLmMnCi0t LSBzcmMvdzMyZm5zLmMJMjAxMy0wNC0wNyAwNDo0MToxOSArMDAwMAorKysgc3JjL3czMmZucy5j CTIwMTMtMDQtMTQgMDA6NTg6NDUgKzAwMDAKQEAgLTE1Nyw2ICsxNTcsOCBAQAogdHlwZWRlZiBI TU9OSVRPUiAoV0lOQVBJICogTW9uaXRvckZyb21Qb2ludF9Qcm9jKSAoSU4gUE9JTlQgcHQsIElO IERXT1JEIGZsYWdzKTsKIHR5cGVkZWYgQk9PTCAoV0lOQVBJICogR2V0TW9uaXRvckluZm9fUHJv YykKICAgKElOIEhNT05JVE9SIG1vbml0b3IsIE9VVCBzdHJ1Y3QgTU9OSVRPUl9JTkZPKiBpbmZv KTsKK3R5cGVkZWYgSE1PTklUT1IgKFdJTkFQSSAqIE1vbml0b3JGcm9tV2luZG93X1Byb2MpCisg IChJTiBIV05EIGh3bmQsIElOIERXT1JEIGR3RmxhZ3MpOwogCiBUcmFja01vdXNlRXZlbnRfUHJv YyB0cmFja19tb3VzZV9ldmVudF9mbiA9IE5VTEw7CiBJbW1HZXRDb21wb3NpdGlvblN0cmluZ19Q cm9jIGdldF9jb21wb3NpdGlvbl9zdHJpbmdfZm4gPSBOVUxMOwpAQCAtMTY1LDYgKzE2Nyw3IEBA CiBJbW1TZXRDb21wb3NpdGlvbldpbmRvd19Qcm9jIHNldF9pbWVfY29tcG9zaXRpb25fd2luZG93 X2ZuID0gTlVMTDsKIE1vbml0b3JGcm9tUG9pbnRfUHJvYyBtb25pdG9yX2Zyb21fcG9pbnRfZm4g PSBOVUxMOwogR2V0TW9uaXRvckluZm9fUHJvYyBnZXRfbW9uaXRvcl9pbmZvX2ZuID0gTlVMTDsK K01vbml0b3JGcm9tV2luZG93X1Byb2MgbW9uaXRvcl9mcm9tX3dpbmRvd19mbiA9IE5VTEw7CiAK ICNpZmRlZiBOVEdVSV9VTklDT0RFCiAjZGVmaW5lIHVuaWNvZGVfYXBwZW5kX21lbnUgQXBwZW5k TWVudVcKQEAgLTMzNiw2ICszMzksNjYgQEAKICAgKnlwdHIgPSByZWN0LnRvcDsKIH0KIAorLyog UmV0dXJucyB0aGUgd2luZG93IHJlY3RhbmdsZSBhcHByb3ByaWF0ZSBmb3IgdGhlIGdpdmVuIGZ1 bGxzY3JlZW4gbW9kZS4KKyAgIFRoZSBub3JtYWwgcmVjdCBwYXJhbWV0ZXIgd2FzIHRoZSB3aW5k b3cncyByZWN0YW5nbGUgcHJpb3IgdG8gZW50ZXJpbmcKKyAgIGZ1bGxzY3JlZW4gbW9kZS4gIElm IG11bHRpcGxlIG1vbml0b3Igc3VwcG9ydCBpcyBhdmFpbGFibGUsIHRoZSBuZWFyZXN0CisgICBt b25pdG9yIHRvIHRoZSB3aW5kb3cgaXMgY2hvc2VuLiAgKi8KKwordm9pZAordzMyX2Z1bGxzY3Jl ZW5fcmVjdCAoSFdORCBod25kLCBpbnQgZnNtb2RlLCBSRUNUIG5vcm1hbCwgUkVDVCAqcmVjdCkK K3sKKyAgc3RydWN0IE1PTklUT1JfSU5GTyBtaSA9IHsgc2l6ZW9mKG1pKSB9OworICBpZiAobW9u aXRvcl9mcm9tX3dpbmRvd19mbiAmJiBnZXRfbW9uaXRvcl9pbmZvX2ZuKQorICAgIHsKKyAgICAg IEhNT05JVE9SIG1vbml0b3IgPQorICAgICAgICBtb25pdG9yX2Zyb21fd2luZG93X2ZuIChod25k LCBNT05JVE9SX0RFRkFVTFRfVE9fTkVBUkVTVCk7CisgICAgICBnZXRfbW9uaXRvcl9pbmZvX2Zu IChtb25pdG9yLCAmbWkpOworICAgIH0KKyAgZWxzZQorICAgIHsKKyAgICAgIG1pLnJjTW9uaXRv ci5sZWZ0ID0gMDsKKyAgICAgIG1pLnJjTW9uaXRvci50b3AgPSAwOworICAgICAgbWkucmNNb25p dG9yLnJpZ2h0ID0gR2V0U3lzdGVtTWV0cmljcyAoU01fQ1hTQ1JFRU4pOworICAgICAgbWkucmNN b25pdG9yLmJvdHRvbSA9IEdldFN5c3RlbU1ldHJpY3MgKFNNX0NZU0NSRUVOKTsKKyAgICAgIG1p LnJjV29yay5sZWZ0ID0gMDsKKyAgICAgIG1pLnJjV29yay50b3AgPSAwOworICAgICAgbWkucmNX b3JrLnJpZ2h0ID0gR2V0U3lzdGVtTWV0cmljcyAoU01fQ1hNQVhJTUlaRUQpOworICAgICAgbWku cmNXb3JrLmJvdHRvbSA9IEdldFN5c3RlbU1ldHJpY3MgKFNNX0NZTUFYSU1JWkVEKTsKKyAgICB9 CisKKyAgc3dpdGNoIChmc21vZGUpCisgICAgeworICAgIGNhc2UgRlVMTFNDUkVFTl9CT1RIOgor ICAgICAgcmVjdC0+bGVmdCA9IG1pLnJjTW9uaXRvci5sZWZ0OworICAgICAgcmVjdC0+dG9wID0g bWkucmNNb25pdG9yLnRvcDsKKyAgICAgIHJlY3QtPnJpZ2h0ID0gbWkucmNNb25pdG9yLnJpZ2h0 OworICAgICAgcmVjdC0+Ym90dG9tID0gbWkucmNNb25pdG9yLmJvdHRvbTsKKyAgICAgIGJyZWFr OworICAgIGNhc2UgRlVMTFNDUkVFTl9NQVhJTUlaRUQ6CisgICAgICByZWN0LT5sZWZ0ID0gbWku cmNXb3JrLmxlZnQ7CisgICAgICByZWN0LT50b3AgPSBtaS5yY1dvcmsudG9wOworICAgICAgcmVj dC0+cmlnaHQgPSBtaS5yY1dvcmsucmlnaHQ7CisgICAgICByZWN0LT5ib3R0b20gPSBtaS5yY1dv cmsuYm90dG9tOworICAgICAgYnJlYWs7CisgICAgY2FzZSBGVUxMU0NSRUVOX1dJRFRIOgorICAg ICAgcmVjdC0+bGVmdCA9IG1pLnJjV29yay5sZWZ0OworICAgICAgcmVjdC0+dG9wID0gbm9ybWFs LnRvcDsKKyAgICAgIHJlY3QtPnJpZ2h0ID0gbWkucmNXb3JrLnJpZ2h0OworICAgICAgcmVjdC0+ Ym90dG9tID0gbm9ybWFsLmJvdHRvbTsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgRlVMTFNDUkVF Tl9IRUlHSFQ6CisgICAgICByZWN0LT5sZWZ0ID0gbm9ybWFsLmxlZnQ7CisgICAgICByZWN0LT50 b3AgPSBtaS5yY1dvcmsudG9wOworICAgICAgcmVjdC0+cmlnaHQgPSBub3JtYWwucmlnaHQ7Cisg ICAgICByZWN0LT5ib3R0b20gPSBtaS5yY1dvcmsuYm90dG9tOworICAgICAgYnJlYWs7CisgICAg Y2FzZSBGVUxMU0NSRUVOX05PTkU6CisgICAgZGVmYXVsdDoKKyAgICAgICpyZWN0ID0gbm9ybWFs OworICAgICAgYnJlYWs7CisgICAgfQorfQorCiAMCiAKIERFRlVOICgidzMyLWRlZmluZS1yZ2It Y29sb3IiLCBGdzMyX2RlZmluZV9yZ2JfY29sb3IsCkBAIC0zNjkxLDYgKzM3NTQsMTMgQEAKICAg ICAgIC8qIERvbid0IHJlc3RyaWN0IHRoZSBzaXppbmcgb2YgdGlwIGZyYW1lcy4gICovCiAgICAg ICBpZiAoaHduZCA9PSB0aXBfd2luZG93KQogCXJldHVybiAwOworCisgICAgICAvKiBEb24ndCBy ZXN0cmljdCB0aGUgc2l6aW5nIG9mIGZ1bGxzY3JlZW5lZCBmcmFtZXMsIGFsbG93aW5nIHRoZW0g dG8gYmUKKyAgICAgICAgIGZsdXNoIHdpdGggdGhlIHNpZGVzIG9mIHRoZSBzY3JlZW4uICAqLwor ICAgICAgZiA9IHhfd2luZG93X3RvX2ZyYW1lIChkcHlpbmZvLCBod25kKTsKKyAgICAgIGlmIChm ICYmIEZSQU1FX1BSRVZfRlNNT0RFIChmKSAhPSBGVUxMU0NSRUVOX05PTkUpCisgICAgICAgIHJl dHVybiAwOworCiAgICAgICB7CiAJV0lORE9XUExBQ0VNRU5UIHdwOwogCUxQV0lORE9XUE9TIGxw cG9zID0gKFdJTkRPV1BPUyAqKSBsUGFyYW07CkBAIC03NjM1LDYgKzc3MDUsOCBAQAogICAgIEdl dFByb2NBZGRyZXNzICh1c2VyMzJfbGliLCAiTW9uaXRvckZyb21Qb2ludCIpOwogICBnZXRfbW9u aXRvcl9pbmZvX2ZuID0gKEdldE1vbml0b3JJbmZvX1Byb2MpCiAgICAgR2V0UHJvY0FkZHJlc3Mg KHVzZXIzMl9saWIsICJHZXRNb25pdG9ySW5mb0EiKTsKKyAgbW9uaXRvcl9mcm9tX3dpbmRvd19m biA9IChNb25pdG9yRnJvbVdpbmRvd19Qcm9jKQorICAgIEdldFByb2NBZGRyZXNzICh1c2VyMzJf bGliLCAiTW9uaXRvckZyb21XaW5kb3ciKTsKIAogICB7CiAgICAgSE1PRFVMRSBpbW0zMl9saWIg PSBHZXRNb2R1bGVIYW5kbGUgKCJpbW0zMi5kbGwiKTsKCj09PSBtb2RpZmllZCBmaWxlICdzcmMv dzMydGVybS5jJwotLS0gc3JjL3czMnRlcm0uYwkyMDEzLTA0LTAxIDA3OjU4OjA0ICswMDAwCisr KyBzcmMvdzMydGVybS5jCTIwMTMtMDQtMTQgMDA6NTg6NDUgKzAwMDAKQEAgLTU2NjMsODggKzU2 NjMsNDAgQEAKIHsKICAgaWYgKEZSQU1FX1ZJU0lCTEVfUCAoZikpCiAgICAgewotICAgICAgaW50 IHdpZHRoLCBoZWlnaHQsIHRvcF9wb3MsIGxlZnRfcG9zLCBwaXhlbF9oZWlnaHQsIHBpeGVsX3dp ZHRoOwotICAgICAgaW50IGN1cl93ID0gRlJBTUVfQ09MUyAoZiksIGN1cl9oID0gRlJBTUVfTElO RVMgKGYpOwotICAgICAgUkVDVCB3b3JrYXJlYV9yZWN0OwotCi0gICAgICBibG9ja19pbnB1dCAo KTsKLSAgICAgIC8qIFJlY29yZCBjdXJyZW50ICJub3JtYWwiIGRpbWVuc2lvbnMgZm9yIHJlc3Rv cmluZyBsYXRlci4gICovCi0gICAgICBpZiAoISggICBGUkFNRV9QUkVWX0ZTTU9ERSAoZikgPT0g RlVMTFNDUkVFTl9CT1RICi0JICAgIHx8IEZSQU1FX1BSRVZfRlNNT0RFIChmKSA9PSBGVUxMU0NS RUVOX01BWElNSVpFRCkpCi0JewotCSAgaWYgKEZSQU1FX1BSRVZfRlNNT0RFIChmKSAhPSBGVUxM U0NSRUVOX0hFSUdIVCkKLQkgICAgewotCSAgICAgIEZSQU1FX05PUk1BTF9IRUlHSFQgKGYpID0g Y3VyX2g7Ci0JICAgICAgRlJBTUVfTk9STUFMX1RPUCAoZikgPSBmLT50b3BfcG9zOwotCSAgICB9 Ci0JICBpZiAoRlJBTUVfUFJFVl9GU01PREUgKGYpICE9IEZVTExTQ1JFRU5fV0lEVEgpCi0JICAg IHsKLQkgICAgICBGUkFNRV9OT1JNQUxfV0lEVEggKGYpICA9IGN1cl93OwotCSAgICAgIEZSQU1F X05PUk1BTF9MRUZUIChmKSA9IGYtPmxlZnRfcG9zOwotCSAgICB9Ci0JfQotICAgICAgZWFzc2Vy dCAoRlJBTUVfTk9STUFMX0hFSUdIVCAoZikgPiAwKTsKLSAgICAgIGVhc3NlcnQgKEZSQU1FX05P Uk1BTF9XSURUSCAoZikgPiAwKTsKLSAgICAgIHhfcmVhbF9wb3NpdGlvbnMgKGYsICZmLT5sZWZ0 X3BvcywgJmYtPnRvcF9wb3MpOwotICAgICAgeF9mdWxsc2NyZWVuX2FkanVzdCAoZiwgJndpZHRo LCAmaGVpZ2h0LCAmdG9wX3BvcywgJmxlZnRfcG9zKTsKLQotICAgICAgU3lzdGVtUGFyYW1ldGVy c0luZm8gKFNQSV9HRVRXT1JLQVJFQSwgMCwgJndvcmthcmVhX3JlY3QsIDApOwotICAgICAgcGl4 ZWxfaGVpZ2h0ID0gd29ya2FyZWFfcmVjdC5ib3R0b20gLSB3b3JrYXJlYV9yZWN0LnRvcDsKLSAg ICAgIHBpeGVsX3dpZHRoICA9IHdvcmthcmVhX3JlY3QucmlnaHQgIC0gd29ya2FyZWFfcmVjdC5s ZWZ0OwotICAgICAgLyogTmVlZCB0byBzZW5kIFNDX1JFU1RPUkUgdG8gdGhlIHdpbmRvdywgaW4g Y2FzZSB3ZSBhcmUKLQkgcmVzaXppbmcgZnJvbSBGVUxMU0NSRUVOX01BWElNSVpFRC4gIE90aGVy d2lzZSwgdGhlIG1vdXNlCi0JIHJlc2l6ZSBoaW50cyB3aWxsIG5vdCBiZSBzaG93biBieSB0aGUg d2luZG93IG1hbmFnZXIgd2hlbiB0aGUKLQkgbW91c2UgcG9pbnRlciBob3ZlcnMgb3ZlciB0aGUg d2luZG93IGVkZ2VzLCBiZWNhdXNlIHRoZSBXTQotCSB3aWxsIHN0aWxsIHRoaW5rIHRoZSB3aW5k b3cgaXMgbWF4aW1pemVkLiAgKi8KLSAgICAgIGlmIChmLT53YW50X2Z1bGxzY3JlZW4gIT0gRlVM TFNDUkVFTl9CT1RIKQotCVNlbmRNZXNzYWdlIChGUkFNRV9XMzJfV0lORE9XIChmKSwgV01fU1lT Q09NTUFORCwgU0NfUkVTVE9SRSwgMCk7Ci0KKyAgICAgIEhXTkQgaHduZCA9IEZSQU1FX1czMl9X SU5ET1coZik7CisgICAgICBEV09SRCBkd1N0eWxlID0gR2V0V2luZG93TG9uZyAoaHduZCwgR1dM X1NUWUxFKTsKKyAgICAgIFJFQ1QgcmVjdDsKKworICAgICAgYmxvY2tfaW5wdXQoKTsKKyAgICAg IGYtPndhbnRfZnVsbHNjcmVlbiAmPSB+RlVMTFNDUkVFTl9XQUlUOworCisgICAgICBpZiAoRlJB TUVfUFJFVl9GU01PREUgKGYpID09IEZVTExTQ1JFRU5fTk9ORSkKKyAgICAgICAgR2V0V2luZG93 UGxhY2VtZW50IChod25kLCAmRlJBTUVfTk9STUFMX1BMQUNFTUVOVCAoZikpOworCisgICAgICBp ZiAoRlJBTUVfUFJFVl9GU01PREUgKGYpID09IEZVTExTQ1JFRU5fQk9USCkKKyAgICAgICAgewor ICAgICAgICAgIFNldFdpbmRvd0xvbmcgKGh3bmQsIEdXTF9TVFlMRSwgZHdTdHlsZSB8IFdTX09W RVJMQVBQRURXSU5ET1cpOworICAgICAgICAgIFNldFdpbmRvd1BvcyAoaHduZCwgTlVMTCwgMCwg MCwgMCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgIFNXUF9OT01PVkUgfCBTV1BfTk9TSVpF IHwgU1dQX05PWk9SREVSIHwKKyAgICAgICAgICAgICAgICAgICAgICAgIFNXUF9OT09XTkVSWk9S REVSIHwgU1dQX0ZSQU1FQ0hBTkdFRCk7CisgICAgICAgIH0KKworICAgICAgdzMyX2Z1bGxzY3Jl ZW5fcmVjdCAoaHduZCwgZi0+d2FudF9mdWxsc2NyZWVuLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgRlJBTUVfTk9STUFMX1BMQUNFTUVOVCAoZikucmNOb3JtYWxQb3NpdGlvbiwgJnJlY3Qp OwogICAgICAgRlJBTUVfUFJFVl9GU01PREUgKGYpID0gZi0+d2FudF9mdWxsc2NyZWVuOwotICAg ICAgc3dpdGNoIChmLT53YW50X2Z1bGxzY3JlZW4pCi0JewotCWNhc2UgRlVMTFNDUkVFTl9CT1RI OgotCSAgUG9zdE1lc3NhZ2UgKEZSQU1FX1czMl9XSU5ET1cgKGYpLCBXTV9TWVNDT01NQU5ELCBT Q19NQVhJTUlaRSwgMCk7Ci0JICBicmVhazsKLQljYXNlIEZVTExTQ1JFRU5fTUFYSU1JWkVEOgot CSAgaGVpZ2h0ID0KLQkgICAgRlJBTUVfUElYRUxfSEVJR0hUX1RPX1RFWFRfTElORVMgKGYsIHBp eGVsX2hlaWdodCkKLQkgICAgLSBYSU5UIChGdG9vbF9iYXJfbGluZXNfbmVlZGVkIChzZWxlY3Rl ZF9mcmFtZSkpCi0JICAgICsgKE5JTFAgKFZtZW51X2Jhcl9tb2RlKSA/IDEgOiAwKTsKLQkgIHdp ZHRoICA9Ci0JICAgIEZSQU1FX1BJWEVMX1dJRFRIX1RPX1RFWFRfQ09MUyAoZiwgcGl4ZWxfd2lk dGgpCi0JICAgIC0gRlJBTUVfU0NST0xMX0JBUl9DT0xTIChmKTsKLQkgIGxlZnRfcG9zID0gd29y a2FyZWFfcmVjdC5sZWZ0OwotCSAgdG9wX3BvcyA9IHdvcmthcmVhX3JlY3QudG9wOwotCSAgYnJl YWs7Ci0JY2FzZSBGVUxMU0NSRUVOX1dJRFRIOgotCSAgd2lkdGggID0KLQkgICAgRlJBTUVfUElY RUxfV0lEVEhfVE9fVEVYVF9DT0xTIChmLCBwaXhlbF93aWR0aCkKLQkgICAgLSBGUkFNRV9TQ1JP TExfQkFSX0NPTFMgKGYpOwotCSAgaGVpZ2h0ID0gRlJBTUVfTk9STUFMX0hFSUdIVCAoZik7Ci0J ICBsZWZ0X3BvcyA9IHdvcmthcmVhX3JlY3QubGVmdDsKLQkgIGJyZWFrOwotCWNhc2UgRlVMTFND UkVFTl9IRUlHSFQ6Ci0JICBoZWlnaHQgPQotCSAgICBGUkFNRV9QSVhFTF9IRUlHSFRfVE9fVEVY VF9MSU5FUyAoZiwgcGl4ZWxfaGVpZ2h0KQotCSAgICAtIFhJTlQgKEZ0b29sX2Jhcl9saW5lc19u ZWVkZWQgKHNlbGVjdGVkX2ZyYW1lKSkKLQkgICAgKyAoTklMUCAoVm1lbnVfYmFyX21vZGUpID8g MSA6IDApOwotCSAgd2lkdGggPSBGUkFNRV9OT1JNQUxfV0lEVEggKGYpOwotCSAgdG9wX3BvcyA9 IHdvcmthcmVhX3JlY3QudG9wOwotCSAgYnJlYWs7Ci0JY2FzZSBGVUxMU0NSRUVOX05PTkU6Ci0J ICBoZWlnaHQgPSBGUkFNRV9OT1JNQUxfSEVJR0hUIChmKTsKLQkgIHdpZHRoID0gRlJBTUVfTk9S TUFMX1dJRFRIIChmKTsKLQkgIGxlZnRfcG9zID0gRlJBTUVfTk9STUFMX0xFRlQgKGYpOwotCSAg dG9wX3BvcyA9IEZSQU1FX05PUk1BTF9UT1AgKGYpOwotCSAgYnJlYWs7Ci0JfQorICAgICAgaWYg KGYtPndhbnRfZnVsbHNjcmVlbiA9PSBGVUxMU0NSRUVOX0JPVEgpCisgICAgICAgIHsKKyAgICAg ICAgICBTZXRXaW5kb3dMb25nIChod25kLCBHV0xfU1RZTEUsIGR3U3R5bGUgJiB+V1NfT1ZFUkxB UFBFRFdJTkRPVyk7CisgICAgICAgICAgU2V0V2luZG93UG9zIChod25kLCBIV05EX1RPUCwgcmVj dC5sZWZ0LCByZWN0LnRvcCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlY3QucmlnaHQgLSBy ZWN0LmxlZnQsIHJlY3QuYm90dG9tIC0gcmVjdC50b3AsCisgICAgICAgICAgICAgICAgICAgICAg ICBTV1BfTk9PV05FUlpPUkRFUiB8IFNXUF9GUkFNRUNIQU5HRUQpOworICAgICAgICB9CisgICAg ICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICBTZXRXaW5kb3dQb3MgKGh3bmQsIEhXTkRfVE9Q LCByZWN0LmxlZnQsIHJlY3QudG9wLAorICAgICAgICAgICAgICAgICAgICAgICAgcmVjdC5yaWdo dCAtIHJlY3QubGVmdCwgcmVjdC5ib3R0b20gLSByZWN0LnRvcCwgMCk7CisgICAgICAgIH0KIAot ICAgICAgaWYgKGN1cl93ICE9IHdpZHRoIHx8IGN1cl9oICE9IGhlaWdodCkKLQl7Ci0JICB4X3Nl dF9vZmZzZXQgKGYsIGxlZnRfcG9zLCB0b3BfcG9zLCAxKTsKLQkgIHhfc2V0X3dpbmRvd19zaXpl IChmLCAxLCB3aWR0aCwgaGVpZ2h0KTsKLQkgIGRvX3BlbmRpbmdfd2luZG93X2NoYW5nZSAoMCk7 Ci0JfQogICAgICAgZi0+d2FudF9mdWxsc2NyZWVuID0gRlVMTFNDUkVFTl9OT05FOwogICAgICAg dW5ibG9ja19pbnB1dCAoKTsKICAgICB9Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3JjL3czMnRlcm0u aCcKLS0tIHNyYy93MzJ0ZXJtLmgJMjAxMy0wNC0wNyAwNDo0MToxOSArMDAwMAorKysgc3JjL3cz MnRlcm0uaAkyMDEzLTA0LTE0IDAwOjU4OjQ1ICswMDAwCkBAIC03MSw2ICs3MSw4IEBACiB9Owog CiBleHRlcm4gdm9pZCB3MzJfcmVnZW5lcmF0ZV9wYWxldHRlIChzdHJ1Y3QgZnJhbWUgKmYpOwor ZXh0ZXJuIHZvaWQgdzMyX2Z1bGxzY3JlZW5fcmVjdCAoSFdORCBod25kLCBpbnQgZnNtb2RlLCBS RUNUIG5vcm1hbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFQ1QgKnJlY3Qp OwogCiAMCiAvKiBGb3IgZWFjaCBkaXNwbGF5IChjdXJyZW50bHkgb25seSBvbmUgb24gdzMyKSwg d2UgaGF2ZSBhIHN0cnVjdHVyZSB0aGF0CkBAIC0zNjIsNyArMzY0LDcgQEAKICAgLyogRnJhbWUg Z2VvbWV0cnkgYW5kIGZ1bGwtc2NyZWVuIG1vZGUgYmVmb3JlIGl0IHdhcyByZXNpemVkIGJ5CiAg ICAgIHNwZWNpZnlpbmcgdGhlICdmdWxsc2NyZWVuJyBmcmFtZSBwYXJhbWV0ZXIuICBVc2VkIHRv IHJlc3RvcmUgdGhlCiAgICAgIGdlb21ldHJ5IHdoZW4gJ2Z1bGxzY3JlZW4nIGlzIHJlc2V0IHRv IG5pbC4gICovCi0gIGludCBub3JtYWxfd2lkdGgsIG5vcm1hbF9oZWlnaHQsIG5vcm1hbF90b3As IG5vcm1hbF9sZWZ0OworICBXSU5ET1dQTEFDRU1FTlQgbm9ybWFsX3BsYWNlbWVudDsKICAgaW50 IHByZXZfZnNtb2RlOwogfTsKIApAQCAtMzk2LDExICszOTgsOCBAQAogI2RlZmluZSBGUkFNRV9T TUFMTEVTVF9GT05UX0hFSUdIVChGKSBcCiAgICAgIEZSQU1FX1czMl9ESVNQTEFZX0lORk8oRikt PnNtYWxsZXN0X2ZvbnRfaGVpZ2h0CiAKLSNkZWZpbmUgRlJBTUVfTk9STUFMX1dJRFRIKEYpICAo KEYpLT5vdXRwdXRfZGF0YS53MzItPm5vcm1hbF93aWR0aCkKLSNkZWZpbmUgRlJBTUVfTk9STUFM X0hFSUdIVChGKSAoKEYpLT5vdXRwdXRfZGF0YS53MzItPm5vcm1hbF9oZWlnaHQpCi0jZGVmaW5l IEZSQU1FX05PUk1BTF9UT1AoRikgICAgKChGKS0+b3V0cHV0X2RhdGEudzMyLT5ub3JtYWxfdG9w KQotI2RlZmluZSBGUkFNRV9OT1JNQUxfTEVGVChGKSAgICgoRiktPm91dHB1dF9kYXRhLnczMi0+ bm9ybWFsX2xlZnQpCi0jZGVmaW5lIEZSQU1FX1BSRVZfRlNNT0RFKEYpICAgKChGKS0+b3V0cHV0 X2RhdGEudzMyLT5wcmV2X2ZzbW9kZSkKKyNkZWZpbmUgRlJBTUVfTk9STUFMX1BMQUNFTUVOVChG KSAoKEYpLT5vdXRwdXRfZGF0YS53MzItPm5vcm1hbF9wbGFjZW1lbnQpCisjZGVmaW5lIEZSQU1F X1BSRVZfRlNNT0RFKEYpICAgICAgKChGKS0+b3V0cHV0X2RhdGEudzMyLT5wcmV2X2ZzbW9kZSkK IAogDAogLyogVzMyLXNwZWNpZmljIHNjcm9sbCBiYXIgc3R1ZmYuICAqLwoKIyBCZWdpbiBidW5k bGUKSXlCQ1lYcGhZWElnY21WMmFYTnBiMjRnWW5WdVpHeGxJSFkwQ2lNS1FscG9PVEZCV1NaVFdV MUdGQ1FBQlhYL2dGY1FCSUo1OS8vLwpmK2ZmOEwvLy8vOWdDeTdyNlBkM2oyQUI1VEhkNkFLb1BY ZXMwRjFuSWE2R29TU1JpcWZpbnBROXBOVDlKUGFDYW0wOVViU2JLYU1nCnhCb0JvQnBvUFVDVUlv OUdtSmlVUUFBR2dhQUdRQUFBQURRRXBKTXdVeE5UMGpRTk5BMDBhYUFBQm9ESU1nTkdnQWtTSm9G UitxYWUKbnFKK2xHTkFnMGJLQTBCR0VHbUFBQ1lPTW1DYUdReU1qSm9hQU5Ca1lRRFFhTk1oaUdn QWtrQ2FBbUVOQkRUUkhwVE5URlBOS2JRYgpVTW84bzBQVTlKb1BVZVVtRUlOZTNqWk9NVWh1U2xE aHp0bDBHUG4raXpMUGx5WkovN09HZVE5c2lsaEZWOFNhTUxJSkQ0WFJpS3dZCkU3ZUpxNmFkQ0cr RDh0Rmp3d3RtcE5sZkpBdHhNMkdwQlBhdE5xUlBFUlNnSHVZeFdIQXlKaTZEWG8zS2IweFgzYTda ZXZITFcyTkEKaEpLaUZKcElETXBPQ0cycFpVOW1ROVFlVWxHL1VINTB5KzFlMGQ4S2VoVExXZnFm S0h3UHh1S2laK3g1MUpicWJZRGFiTmRGNW1EMwpodTdsMW10b3B0eE1iNG5NVmNxVGRJS09wN3hv dWlSVzdHclJrM0tkbVAxdyttRGU4ekUycW9rVlFRRUVRUTgrRlc0ZlB6K0s3d1BKCk5NWm5VSXVw SmJiNVZrVTQ0VXVNS0tUUG02emFTWHFxdjg4OEZWOGRXdDZvVzNvNWt2dk1qZW1tUlBPaXBDRXNk Ukc5MUo5Nm1DTkQKVlhHVjVOSklTd05RVlpzeVpzelViOHpuV0tGS0ZQeUtaekNhZ3pkenVjd3Na OGhOT0JYZGUxY2RUQmYxYXFRemN6cTBURWJ4ZlcrUAp5eTl1NzRNOXVodCtuRVBVdkV0SFZneFhF UHBja3RSMXlSSjUybmVURHM1ZWNlSVB1d0tsZ29hdXBxSmpvSmFPRnVpZG1OVE9Ha2Z3CldZNVRQ b202MnhkcXphb3Mxalh6a3Z0cHJrTURFZUZZT0RKVGJLK0MrVHdJNGxYaVQ0Mlp6M0RLWUJ4TDhM b2FFdUlrdFMxQ0lGYUIKNE44Y0FieTF1bjlxRDFlYTRROHZJMEp4c2pNNWI5ck9OdUF5WWdrZXB5 akdRT2RGc1ZxQXlZRkloSWs0OG85MEFjNkRWVkhwT25qdQpXT3ZKYnJtWXkyK2lZajdtUzNNSm85 enhNbmlKSUdJdHZsdVVwQUVoRXZyNVd2NkNYbDdnQ1k5QlVJK29vS3pBbEZCQkZzVm9RNDlTCnJO aGlRc0taN3hxVVpOWm9jU1pxU1N5dVdVcFZIaDRYNEs1Qkt0QlVVYzlNYW1VcUhYYWRXV3VjZ0Q0 VW9Hd1pYQ05hTDZQSG9qbW8KQlczY0laK2t4UFc3cXlLVUY1c2JJWXZUUk15ZXpVSWpjRzVuN0Iy cEFyWG9JR0N5bXZrSWhuaENibXJLNGJNb3ZGWWxsd3llQ3d2RQpWajZIYSthOTg0b0J0ZzVCNW5C Y3lGZVFhNWtWcy9Gdyt0M1JHRER6QmFKeUx1Y1l1TmZ6SlkwN2NpRTNSdEVTdGl3dzlESjR3aTF5 CkM2MnpIblZWTktRNnNZdEVNdFNmVW1VckhrWGxRWEc4WWdYY3hwY09DaHo0MlZ2aEZNSXJtU3Vv Tk0zbFVNTUNJcE54Y05aTm9pakcKVnl3aG1VMUdLYnlCdG9EN1JlUWZFbzFLTHY5VlhRVmxjeUY2 SW1oTmd1V01idXJsUkx0cmtvaE10ZEdCZkdaQWhtTktzaTRsUy9UTgowQnhFaGZjaWtzS2RGYUNV WHltMHNaRm1JVmM0UXJsQ1ZGNGVJNTlWTXk1bWNrUVdwTnRHa1lJZzFub0dPUm5lbVVPT2FvRWRn ZUZ6CmtiRUpFVzBNQ0JrOHZOSzYvVjczYmZKcVYreGZqQkRNY21SZ1JsRks0Q3FFT3JNb3FDd1Zk am55N3IzMjVRdWVER3pzaHNRRll4bFEKZFVHRWtlWGExQTB2Q3ZYQ0JlTEd6ZlVHbGFBazIyNkxW MzF3aG1hUVc4aVJJdFpmRFYwcm1FYmE1SG01elFYZnJxWm1ZWm1iV29kSQpNZFNFeUhocXRMQWdq K0lSZ29JOThTWDR3SGVSZkw1dWdZcGk3QXJSSS9RVmRLQUkzRytnbEdnb1FoU01vakVJZ09QdUJr VTVYd1RpCnhSQUdBK2pmdzlvVFdiUVh4Wkg2OXdaS3FHN1l6clJqUGpqODFDTUJUbnd1RGhtcDlC WUcwK2krZ0tBaHFWWXMxSlMwWFNMd1lEV3IKZzZDNDR2Q3prSGdBN2ZEbk9vc0dtRElZcVZyaDVh b0JCSWlFaGhEVmN0WVpnd01id3JQQ25wNXRkN0ZLczVLMFlqUThvTHBGVE00YwpEa3RvZlk5ZHRC Z3RBaHlNUGt4MDhRVmxvVEtFd3hKdWJuNlJENncyaFJjcG55VEdKOGtaTEVOUmdETTNEcDU5QzIy andhS3d0Sm1BCmpWU3NBWlRXTFZrM2RhZGFLUkVZc1M3SW5WZ2t5NlFWcXhPZE1aQlYxbVM0QTdt TzBJUGFNSEpqVW1Mek5QRFluTEl0aFFkOW1KTS8KUmhqeGg1b0tRZWtjdjNLSjY0QklvVFROOWdi dnRFSkhWRHpkV2VzckRRT3c2RHRMbDR0M1R5bzNSUzkydUpscDJDbC9iV2ticG9jawpYcjRheWUx TVpzOCtJOVdxWkRMVmdJUjQ0SXpJUWM0eXlXQ1JZaDR5Y2xGbDhnY2M5ek12bFVtTVJhNmFNT2c2 bldGSjBGOWhvV2ZmCmdDNkQ0Qi9zR0MrS09DQjU3VUIyT0dXOU9CamlZWW0rNHhINFV6UWo0bnZS c0tqOXFsbWNmQnMzSkc2VDdaNUpHY3QzSkFVQjlIaFEKejJCQlc1aHd6bVF0a3VrMUVmRVlsQ09C RXBLVWJJeU41U2svdk16NzRhUU1hOXYvak9WUkdzOFFaa0VrZmwyVVVXV0E1Qm1hT3psNAoycklv ZEJsd1p4VzV3emRUQTlVSFBRVlU2akpibDh6YjQzMkg3VFZJR0tWVGF1cG1yVFRBVE9xRjZrUVdF RUNJZGZBM2ErVmlEVjFhCkVHV3RzN1VCMmJ5OE1CTG54MDNMelZieml5OXZWN1FZRkJZaVZ3b3NC aEttWlRFRTVGajFaUFZMYkorNDBnMWorcWtGbTY3Yk5ubVoKWVEyLzZGNFJ0V0UrUUt2NWFYZXZL VXMwYmRoRzFmdHllZDFqUkZCc09QVkRLU2FTWFFXb04yQVhJZDBJb0x3NExKV3FnZDgvT0tzTwpB U0RxMFJleU1YRklrMU1Cd05LYmdlOXBpM3JOVmRRd29jT2JaTzNBRTRrcWw2UktrMjg2Nnp5cDhu SUR6UWtjazBmd3hHdS9QeTU3CkZkVnV1Q29aQ2JUTWtMZ1dMQWlndDdsa2JZcDJwa2RaK3Q2WG12 ZnZMTjRYdkNrQmJRWEZCSWl2UUw4RWJXR0VNaUpxOWVncTg4bjAKbXp3YzlOcGlKcW1EVE0wdVNQ UUt3S05Za1N6NWlDTnJmWUk2K0Zkd0owUkcxRG5SU0t0SW9nOUlaZDUwaElWYmdnRTVlemtlK2cz bAo4azBXZjFRRm9CY2oxQXdGdHF2YmQ0Und5U3B5dUFLQ0RtNlRVQkJoSEtTYU9ZcEJBRUpFa2pn R3JncVQzTmFIZnUvRG95YmJiYWlxCktvcW15bkVud2dlaVFQbXhzbVVnZy9GSldvbzJiRG5LQlNi bktCcHRwdGhSV1p0RURRckJPQ0VDblZTazBRbUdpdXh3a1owQWJXSlUKb1B3SldXQlpJWlZwZ1lZ SE1qTk9VUEFIVXpya0REcG8zWmdPdUt1czVnVjB3T0loZ2FnQmlublpMZDlhcHBEeGdtRSsyYWNT WVk3QgpLNFFxTXk3d0s4QnhzUlZoRldxaHFpcGdVbUVnWndtWklMbytJanNzRlowc21ROE95SGlP czFjVnlWdzg4QjFZVTIwMno2ZFFqSmkvCko2UjZPNGtiTExtQm1lTWdZR0FIajgzNG8zb1JsQkY2 LzVpenUxM2FBUUYvVVlEcFFGaURGbjl1dlB0Z0dDZXNvM2JFWWh0Qmc5OGcKVXBnckFUMG5DVzl6 Y1ZGcWZLRzBMSWs1alZsRGsvTUVMUG4ybWZwMGg2SnhkclQwenFDNnhJdnU0VFphR05LdGx5STI1 YTJUSGtZeApWSldLVG5waThSVFNibVdrUGN2WXFEUUhJTFJHY010cTNORjU1U1F3cXFLS3JoNTBX NEN3ZXdhd1VBWmdXdG5VQkFKenNCVEpDY2UwClVTdWxXYTRUbElLTWFmdVNqU0s3T3NaNEE2dDl1 QmRHTkZTbWpPd0Z2T0FNQk1TTHhVS2tSZ1lCQ0RYU2VodEFLeVJ2L05jZWhjMVEKNFZTZmREdDRi VUJoMnUwNGpIcHd6TXVJTUdtcnZRVDFtS2lMVFZON0FlOFJrUWo0c0QrK0Z1SWhzYjUxcVRUQTN0 dFc4NFJkQTJ0eApGTm1TM3hLZmtRYmxJclFWaXhHVTJjQnpMdk4yd09BWG0vY2xQM0w2MXB0U2NT WXlTL1l1NUlwd29TQ2FqQ2hJCg== --089e0122ac460e91d004da47fb55-- From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 14 02:45:29 2013 Received: (at 14180) by debbugs.gnu.org; 14 Apr 2013 06:45:29 +0000 Received: from localhost ([127.0.0.1]:49643 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1URGgp-0002Po-OF for submit@debbugs.gnu.org; Sun, 14 Apr 2013 02:45:28 -0400 Received: from mtaout21.012.net.il ([80.179.55.169]:44025) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1URGgi-0002PF-7Y for 14180@debbugs.gnu.org; Sun, 14 Apr 2013 02:45:22 -0400 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0ML800100FD33V00@a-mtaout21.012.net.il> for 14180@debbugs.gnu.org; Sun, 14 Apr 2013 09:41:12 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0ML80011JFWO9400@a-mtaout21.012.net.il>; Sun, 14 Apr 2013 09:41:12 +0300 (IDT) Date: Sun, 14 Apr 2013 09:41:18 +0300 From: Eli Zaretskii Subject: Re: bug#14180: PATCH Better fullscreen frame support on Windows In-reply-to: X-012-Sender: halo1@inter.net.il To: Erik Charlebois Message-id: <83r4id7gxd.fsf@gnu.org> References: <83fvyu91xt.fsf@gnu.org> <516942A4.5090707@swipnet.se> <83bo9i8wzf.fsf@gnu.org> X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: 14180 Cc: 14180@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) > Date: Sat, 13 Apr 2013 21:23:16 -0400 > From: Erik Charlebois > Cc: 14180@debbugs.gnu.org > > I've rewritten the patch to preserve the maximized, fullwidth and > fullheight functionality and fix them > on Windows 8; came out cleaner in the end too. Thank you! > I've contacted the FSF clerk. Hopefully that can get cleared up soon. Thanks. The moment your assignment is on file, these changes can go in. Thanks again for working on this. From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 19 20:47:24 2013 Received: (at 14180) by debbugs.gnu.org; 20 Apr 2013 00:47:24 +0000 Received: from localhost ([127.0.0.1]:60920 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UTLxc-0003kD-BG for submit@debbugs.gnu.org; Fri, 19 Apr 2013 20:47:24 -0400 Received: from mail-ie0-f170.google.com ([209.85.223.170]:51963) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UTLxZ-0003jv-0z for 14180@debbugs.gnu.org; Fri, 19 Apr 2013 20:47:22 -0400 Received: by mail-ie0-f170.google.com with SMTP id at1so1766923iec.29 for <14180@debbugs.gnu.org>; Fri, 19 Apr 2013 17:42:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=vm+ZFRjd75ZWgo/4q1un+S2e8hy0I4tGMlbB2ZnQr8U=; b=ocz3tY4N2D7CsLvAuoSPmq5cNn7Yfick1TDYMAnDLVYsSTYRdWTBqISlWyYBugfcRK KKz7pKJPv51LDBi4VH2LbkM/2IDX5KhbC9PSAD2rTouBkpGkQJIaNOZ2NrSmDgodn2Ek qBlkbsognoI0seQVBq0ox5C6PJLMCdQe48yPmHLvJ9swXlQUWQ6aDxqMi8882L+Vh6bT /3plOTzOpIEblPS4MVHWu1lYGBpXgQnxEl9oKQENZ5JO5s9iTsV21cwaA5mc9vHxUmcJ H3lrgM8P1pOOcCTQLVs5JLfsnxfegTtV6eW/2yMZ9W6vqS2463hPniNoAfZxh7mFWOhN 8h+Q== MIME-Version: 1.0 X-Received: by 10.50.12.101 with SMTP id x5mr3189259igb.41.1366418563561; Fri, 19 Apr 2013 17:42:43 -0700 (PDT) Received: by 10.64.27.3 with HTTP; Fri, 19 Apr 2013 17:42:43 -0700 (PDT) In-Reply-To: <83r4id7gxd.fsf@gnu.org> References: <83fvyu91xt.fsf@gnu.org> <516942A4.5090707@swipnet.se> <83bo9i8wzf.fsf@gnu.org> <83r4id7gxd.fsf@gnu.org> Date: Fri, 19 Apr 2013 20:42:43 -0400 Message-ID: Subject: Re: bug#14180: PATCH Better fullscreen frame support on Windows From: Erik Charlebois To: Eli Zaretskii Content-Type: multipart/alternative; boundary=089e0118362218827104dac01dbc X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: 14180 Cc: 14180@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.6 (--) --089e0118362218827104dac01dbc Content-Type: text/plain; charset=UTF-8 Hi Eli, The assignment should be on file now. On Sun, Apr 14, 2013 at 2:41 AM, Eli Zaretskii wrote: > > Date: Sat, 13 Apr 2013 21:23:16 -0400 > > From: Erik Charlebois > > Cc: 14180@debbugs.gnu.org > > > > I've rewritten the patch to preserve the maximized, fullwidth and > > fullheight functionality and fix them > > on Windows 8; came out cleaner in the end too. > > Thank you! > > > I've contacted the FSF clerk. Hopefully that can get cleared up soon. > > Thanks. The moment your assignment is on file, these changes can go > in. > > Thanks again for working on this. > --089e0118362218827104dac01dbc Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Eli,

The assignment should be on fil= e now.


On Sun, Apr 14, 2013 at 2:41 AM, Eli Zaretskii <<= a href=3D"mailto:eliz@gnu.org" target=3D"_blank">eliz@gnu.org> wrote:
> Date: Sat, 13 Apr 2013 21:23:16 -0400 > From: Erik Charlebois <= erikcharlebois@gmail.com>
> Cc: 14180@debbugs.gnu.org=
>
> I've rewritten the patch to preserve the maximized, fullwidth and<= br> > fullheight functionality and fix them
> on Windows 8; came out cleaner in the end too.

Thank you!

> I've contacted the FSF clerk. Hopefully that can get cleared up so= on.

Thanks. =C2=A0The moment your assignment is on file, these changes ca= n go
in.

Thanks again for working on this.

--089e0118362218827104dac01dbc-- From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 20 03:41:51 2013 Received: (at 14180-done) by debbugs.gnu.org; 20 Apr 2013 07:41:51 +0000 Received: from localhost ([127.0.0.1]:32987 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UTSQg-00022p-TR for submit@debbugs.gnu.org; Sat, 20 Apr 2013 03:41:51 -0400 Received: from mtaout23.012.net.il ([80.179.55.175]:45458) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UTSQd-00022X-4c for 14180-done@debbugs.gnu.org; Sat, 20 Apr 2013 03:41:49 -0400 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0MLJ00500ME66600@a-mtaout23.012.net.il> for 14180-done@debbugs.gnu.org; Sat, 20 Apr 2013 10:37:07 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MLJ005E3MHT1X70@a-mtaout23.012.net.il>; Sat, 20 Apr 2013 10:37:06 +0300 (IDT) Date: Sat, 20 Apr 2013 10:36:55 +0300 From: Eli Zaretskii Subject: Re: bug#14180: PATCH Better fullscreen frame support on Windows In-reply-to: X-012-Sender: halo1@inter.net.il To: Erik Charlebois Message-id: <838v4d1wmg.fsf@gnu.org> References: <83fvyu91xt.fsf@gnu.org> <516942A4.5090707@swipnet.se> <83bo9i8wzf.fsf@gnu.org> <83r4id7gxd.fsf@gnu.org> X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 14180-done Cc: 14180-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.2 (-) > Date: Fri, 19 Apr 2013 20:42:43 -0400 > From: Erik Charlebois > Cc: 14180@debbugs.gnu.org > > The assignment should be on file now. Indeed, it is. Therefore, I committed your changes as trunk revision 112337. A few comments on your ChangeLog entries (for the future; I fixed all of the issues mentioned below): . We have a separate ChangeLog in src, so the file names should not include "src/". . The entries for different files should be separated by an empty line. . Each non-empty line should begin with a TAB. . You forgot to describe the changes in w32term.h. FYI, here are the log entries I committed in your name: 2013-04-20 Erik Charlebois * w32fns.c (w32_fullscreen_rect): New function to compute the window rectangle for the given fullscreen mode. (w32_wnd_proc): When in a fullscreen mode, WM_WINDOWPOSCHANGING no longer tunes the window size. This keeps the window's edges flush with the screen and allows the taskbar to hide itself in fullboth. * w32term.c (w32fullscreen_hook): 'fullboth' now shows without window decorations and uses the entire screen. * w32term.h (w32_fullscreen_rect) Add prototype. (struct w32_output): Replace normal_width, normal_height, normal_top, and normal_left members with a single normal_placement struct. (FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP): Remove macros. (FRAME_NORMAL_PLACEMENT): New macro. Thanks again for working on this. I'm marking this bug as done. From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 20 10:39:36 2013 Received: (at 14180) by debbugs.gnu.org; 20 Apr 2013 14:39:36 +0000 Received: from localhost ([127.0.0.1]:33583 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UTYwy-00061B-IW for submit@debbugs.gnu.org; Sat, 20 Apr 2013 10:39:36 -0400 Received: from ironport2-out.teksavvy.com ([206.248.154.182]:41705) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UTYwx-000615-Jr for 14180@debbugs.gnu.org; Sat, 20 Apr 2013 10:39:35 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av4EABK/CFHO+LAd/2dsb2JhbABEvw4Xc4IfAQVWIxALNBIUGA2ISMEtjWGDKQOkeoFegxM X-IPAS-Result: Av4EABK/CFHO+LAd/2dsb2JhbABEvw4Xc4IfAQVWIxALNBIUGA2ISMEtjWGDKQOkeoFegxM X-IronPort-AV: E=Sophos;i="4.84,565,1355115600"; d="scan'208";a="7866136" Received: from 206-248-176-29.dsl.teksavvy.com (HELO pastel.home) ([206.248.176.29]) by ironport2-out.teksavvy.com with ESMTP/TLS/ADH-AES256-SHA; 20 Apr 2013 10:34:51 -0400 Received: by pastel.home (Postfix, from userid 20848) id 4E44C67534; Sat, 20 Apr 2013 10:34:54 -0400 (EDT) From: Stefan Monnier To: 14180@debbugs.gnu.org Subject: Re: bug#14180: PATCH Better fullscreen frame support on Windows Message-ID: References: <83fvyu91xt.fsf@gnu.org> <516942A4.5090707@swipnet.se> <83bo9i8wzf.fsf@gnu.org> <83r4id7gxd.fsf@gnu.org> <838v4d1wmg.fsf@gnu.org> Date: Sat, 20 Apr 2013 10:34:54 -0400 In-Reply-To: <838v4d1wmg.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 20 Apr 2013 10:36:55 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 14180 Cc: eliz@gnu.org, erikcharlebois@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -1.9 (-) > . The entries for different files should be separated by an empty > line. BTW, while that's what we usually do, it's sometimes useful to eliminate the line as an indication that the changes are inter-dependent. Stefan From unknown Tue Aug 19 12:50:54 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 19 May 2013 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator