From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Benjamin Newsgroups: gmane.emacs.bugs Subject: bug#16097: [PATCH] Treat windows on other spaces as not visible in Cocoa Date: Mon, 9 Dec 2013 20:42:22 -0500 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a11c30ce28032c404ed243a02 X-Trace: ger.gmane.org 1386640989 27159 80.91.229.3 (10 Dec 2013 02:03:09 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 10 Dec 2013 02:03:09 +0000 (UTC) To: 16097@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Dec 10 03:03:14 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VqCfI-0000mT-KZ for geb-bug-gnu-emacs@m.gmane.org; Tue, 10 Dec 2013 03:03:12 +0100 Original-Received: from localhost ([::1]:46826 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VqCfI-0005DH-7S for geb-bug-gnu-emacs@m.gmane.org; Mon, 09 Dec 2013 21:03:12 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34577) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VqCfD-0005DB-TY for bug-gnu-emacs@gnu.org; Mon, 09 Dec 2013 21:03:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VqCf8-0004sd-Qo for bug-gnu-emacs@gnu.org; Mon, 09 Dec 2013 21:03:07 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:55331) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VqCf8-0004rg-MQ for bug-gnu-emacs@gnu.org; Mon, 09 Dec 2013 21:03:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1VqCf8-0005wJ-0p for bug-gnu-emacs@gnu.org; Mon, 09 Dec 2013 21:03:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: David Benjamin Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 10 Dec 2013 02:03:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 16097 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.138664097922821 (code B ref -1); Tue, 10 Dec 2013 02:03:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 10 Dec 2013 02:02:59 +0000 Original-Received: from localhost ([127.0.0.1]:41117 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VqCf3-0005vy-Tq for submit@debbugs.gnu.org; Mon, 09 Dec 2013 21:02:58 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:53664) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VqCLZ-0005O6-Oi for submit@debbugs.gnu.org; Mon, 09 Dec 2013 20:42:51 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VqCLX-00055g-6H for submit@debbugs.gnu.org; Mon, 09 Dec 2013 20:42:49 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:59930) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VqCLX-00055a-2d for submit@debbugs.gnu.org; Mon, 09 Dec 2013 20:42:47 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55369) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VqCLV-0007Ch-QC for bug-gnu-emacs@gnu.org; Mon, 09 Dec 2013 20:42:46 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VqCLU-00054x-FF for bug-gnu-emacs@gnu.org; Mon, 09 Dec 2013 20:42:45 -0500 Original-Received: from mail-ob0-x229.google.com ([2607:f8b0:4003:c01::229]:65281) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VqCLU-00054n-6m for bug-gnu-emacs@gnu.org; Mon, 09 Dec 2013 20:42:44 -0500 Original-Received: by mail-ob0-f169.google.com with SMTP id wm4so4704271obc.0 for ; Mon, 09 Dec 2013 17:42:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type; bh=ksjfldCSQb3aKD/25hgLwRIr6dNN8d9EebqfU3yzzh4=; b=OhBMKzrOEUjF+VyuTke4DY/ID70/9Cv5AkwTcaMku60nUoLTBFUB0dQ8iPGWc/YhJ5 0NWVLZ59apORHRq+BC75iWozxtJh95vzWvWODmI8i+G01sek8hrQVmg55roMscg2cDlK Omi9lSx5g9A2k/m7QGHE+NllA7MOfD3GzMWjLsfiHzFatmY7zo9OmbsPgEfJF39la1Bq 5Fo3QZNQ0vkuexC0k5c+zyxyiOcE38M59SkO4+h6urD4BzQ+sG6YVx+IJTyXnNvfm2Ne FQfvSBbdI6FIohdZ9vJpFd5J7bnVs0MTl95EUb5dUXvt+f06CCkDk5veyC7UNu9mi5a9 elHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to :content-type; bh=ksjfldCSQb3aKD/25hgLwRIr6dNN8d9EebqfU3yzzh4=; b=DNqmhs5HnZQ8kWx5OFfdw0fhZRYmz0zDQ4RgrX0DPtshCrUDapevBnCF1k7EVXTLDL dD1+GqrMWC+j01GH1XP5epOwHwuOvJx3YExatNW1cKgHcxwwqGvSHq8GUF7VI9B8WuQu O0XvhoG3Vvt7E4Cp4jUGNkGrMC2auzeL6cNR7RW9noFEjVmF5wHVz4Df6KdPBZimjbbH DhJQB7li0yKWlqtLomweIadtPSxorIoSYnZ9nlXVqgb154R3uHJTEUXmQC8dPPu4OpH5 FOlVD/ZPAn2+pJXIunPb8z6HFptCfFk7EyEa8nLBLO5cZgwfyM+u3l7sj/zKVXHZV7PV 4ypg== X-Gm-Message-State: ALoCoQk95ZVl1RV7vQorC6mrFrwK3Bbfit4Eh7qDRvLdLfKYU2zDzG/PWviCuRa92EH1nkp+QySTqxzCF6fCiEjF6ds80JyCNZn7dxNEd4stVume8gBsLyppt6gua8G3+oaKaIcW7TK2/LA/sq7sulB1chB0U7ql/f3sowf05C/LM/eqwGoYq+NAuQWwXKFpjP93Pa2Sv+BfB2FwrGTjBP33DcyWI+c8+g== X-Received: by 10.182.43.161 with SMTP id x1mr14677177obl.5.1386639762895; Mon, 09 Dec 2013 17:42:42 -0800 (PST) Original-Received: by 10.76.35.41 with HTTP; Mon, 9 Dec 2013 17:42:22 -0800 (PST) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Mailman-Approved-At: Mon, 09 Dec 2013 21:02:56 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:81658 Archived-At: --001a11c30ce28032c404ed243a02 Content-Type: multipart/alternative; boundary=001a11c30ce28032c004ed243a00 --001a11c30ce28032c004ed243a00 Content-Type: text/plain; charset=ISO-8859-1 Here's a patch for something that's been bugging me. This makes Cmd-` cycle through only the current space's windows, which is consistent with other programs on OS X. It also matches the behavior of other-frame on X11 for window managers that implement virtual desktops by mapping and unmapping windows. The patch is attached. It's not perfect; if you go into Mission Control or so and move a window onto another space without switching spaces, it won't notice until you switch spaces again. I wasn't able to find a notification to listen to; it'd be nice to replace the visible field in a frame with some virtual call that, in Cocoa, would just call out to [win isVisible] and [win isOnActiveSpace], but that'd be a more invasive change. It also doesn't fix the behavior where closing the last window on a space warps you to a window on another space. I'm not sure yet what's causing that. As far as copyright goes, if this is a large enough change to matter (a decent chunk of the diff is just moving some code around), I'm a Google employee. I'm told we already have an agreement on file with the FSF. David Benjamin --001a11c30ce28032c004ed243a00 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Here's a patch for something that's been bugging m= e. This makes Cmd-` cycle through only the current space's windows, whi= ch is consistent with other programs on OS X. It also matches the behavior = of other-frame on X11 for window managers that implement virtual desktops b= y mapping and unmapping windows. The patch is attached.

It's not perfect; if you go into Mission Control or so a= nd move a window onto another space without switching spaces, it won't = notice until you switch spaces again. I wasn't able to find a notificat= ion to listen to; it'd be nice to replace the visible field in a frame = with some virtual call that, in Cocoa, would just call out to [win isVisibl= e] and [win isOnActiveSpace], but that'd be a more invasive change. It = also doesn't fix the behavior where closing the last window on a space = warps you to a window on another space. I'm not sure yet what's cau= sing that.

As far as copyright goes, if this is a large enough change t= o matter (a decent chunk of the diff is just moving some code around), I= 9;m a Google employee. I'm told we already have an agreement on file wi= th the FSF.

David Benjamin
--001a11c30ce28032c004ed243a00-- --001a11c30ce28032c404ed243a02 Content-Type: application/octet-stream; name="0001-In-nsterm-update-frame-visibility-on-space-change-an.patch" Content-Disposition: attachment; filename="0001-In-nsterm-update-frame-visibility-on-space-change-an.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hp0gr73t0 RnJvbSAzNDgyYTAxNzkzNTQ2OWFhMmI2ZDVkNzU5YmZjZjA0NDZjNTZkYzFmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBCZW5qYW1pbiA8ZGF2aWRiZW5AZ29vZ2xlLmNvbT4K RGF0ZTogU2F0LCA5IE5vdiAyMDEzIDE5OjAxOjAwIC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gSW4g bnN0ZXJtLCB1cGRhdGUgZnJhbWUgdmlzaWJpbGl0eSBvbiBzcGFjZSBjaGFuZ2UgYW5kCiBhcHBs aWNhdGlvbiBoaWRlL3VuaGlkZS4gVGhpcyBtYWtlcyBvdGhlci1mcmFtZSBjeWNsZSB0aHJvdWdo IHdpbmRvd3MKIGNvcnJlY3RseS4KCiogbnN0ZXJtLm0gKHVwZGF0ZVZpc2liaWxpdHk6KTogTmV3 IGZ1bmN0aW9uIGZyb20gY29kZSBpbgp3aW5kb3dEaWRNaW5pYXR1cml6ZSBhbmQgd2luZG93RGlk RGVtaW5pYXR1cml6ZS4KKHdpbmRvd0RpZE1pbmlhdHVyaXplOiwgd2luZG93RGlkRGVtaW5pYXR1 cml6ZTopOiBDYWxsIHVwZGF0ZVZpc2liaWxpdHkuCihpbml0RnJhbWVGcm9tRW1hY3M6KTogUmVn aXN0ZXIgZm9yIG5vdGlmaWNhdGlvbnMgb2YgYXBwbGljYXRpb24KaGlkZS91bmhpZGUgYW5kLCBv biBDb2NvYSwgc3BhY2UgY2hhbmdlcy4KKGRlYWxsb2MpOiBDbGVhbiB1cCBub3RpZmljYXRpb25z LgoKKiBuc3Rlcm0uaCAoRW1hY3NWaWV3KTogRGVjbGFyYXRpb24gZm9yIHVwZGF0ZVZpc2liaWxp dHkuCi0tLQogc3JjL0NoYW5nZUxvZyB8IDExICsrKysrKysrCiBzcmMvbnN0ZXJtLmggIHwgIDEg Kwogc3JjL25zdGVybS5tICB8IDkwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDg1IGluc2VydGlvbnMo KyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9DaGFuZ2VMb2cgYi9zcmMvQ2hh bmdlTG9nCmluZGV4IDE3ZWE4NWQuLmUyNjFiN2IgMTAwNjQ0Ci0tLSBhL3NyYy9DaGFuZ2VMb2cK KysrIGIvc3JjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEzLTEyLTA4ICBEYXZpZCBC ZW5qYW1pbiAgPGRhdmlkYmVuQGdvb2dsZS5jb20+CisKKwkqIG5zdGVybS5tICh1cGRhdGVWaXNp YmlsaXR5Oik6IE5ldyBmdW5jdGlvbiBmcm9tIGNvZGUgaW4KKwl3aW5kb3dEaWRNaW5pYXR1cml6 ZSBhbmQgd2luZG93RGlkRGVtaW5pYXR1cml6ZS4KKwkod2luZG93RGlkTWluaWF0dXJpemU6LCB3 aW5kb3dEaWREZW1pbmlhdHVyaXplOik6IENhbGwKKwl1cGRhdGVWaXNpYmlsaXR5LgorCShpbml0 RnJhbWVGcm9tRW1hY3M6KTogUmVnaXN0ZXIgZm9yIG5vdGlmaWNhdGlvbnMgb2YgYXBwbGljYXRp b24KKwloaWRlL3VuaGlkZSBhbmQsIG9uIENvY29hLCBzcGFjZSBjaGFuZ2VzLgorCShkZWFsbG9j KTogQ2xlYW4gdXAgbm90aWZpY2F0aW9ucy4KKwkqIG5zdGVybS5oIChFbWFjc1ZpZXcpOiBEZWNs YXJhdGlvbiBmb3IgdXBkYXRlVmlzaWJpbGl0eS4KKwogMjAxMy0xMi0wOCAgSmFuIERqw6RydiAg PGphbi5oLmRAc3dpcG5ldC5zZT4KIAogCSogbnN0ZXJtLm0gKHVwZGF0ZUZyYW1lU2l6ZTopOiBG aXggR05VU3RlcCB0b29sYmFyIG5vdCB1cGRhdGluZy4KZGlmZiAtLWdpdCBhL3NyYy9uc3Rlcm0u aCBiL3NyYy9uc3Rlcm0uaAppbmRleCAwMjE1ZjEzLi5kYTk5MDdmIDEwMDY0NAotLS0gYS9zcmMv bnN0ZXJtLmgKKysrIGIvc3JjL25zdGVybS5oCkBAIC0xNzMsNiArMTczLDcgQEAgdHlwZWRlZiBm bG9hdCBFbWFjc0NHRmxvYXQ7CiAjaWZkZWYgSEFWRV9OQVRJVkVfRlMKIC0gKHZvaWQpIHVwZGF0 ZUNvbGxlY3Rpb25CZWhhdmlvdXI7CiAjZW5kaWYKKy0gKHZvaWQpIHVwZGF0ZVZpc2liaWxpdHk6 IChOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbjsKIAogI2lmZGVmIE5TX0lNUExfR05VU1RF UAogLSAodm9pZCl3aW5kb3dEaWRNb3ZlOiAoaWQpc2VuZGVyOwpkaWZmIC0tZ2l0IGEvc3JjL25z dGVybS5tIGIvc3JjL25zdGVybS5tCmluZGV4IDljODc5MjMuLjNiYmNmMDggMTAwNjQ0Ci0tLSBh L3NyYy9uc3Rlcm0ubQorKysgYi9zcmMvbnN0ZXJtLm0KQEAgLTQ5MzIsNiArNDkzMiwyMSBAQCBu b3RfaW5fYXJndiAoTlNTdHJpbmcgKmFyZykKIC0gKHZvaWQpZGVhbGxvYwogewogICBOU1RSQUNF IChFbWFjc1ZpZXdfZGVhbGxvYyk7CisgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENl bnRlcl0KKyAgICAgIHJlbW92ZU9ic2VydmVyOiBzZWxmCisgICAgICAgICAgICAgICAgbmFtZTog TlNBcHBsaWNhdGlvbkRpZEhpZGVOb3RpZmljYXRpb24KKyAgICAgICAgICAgICAgb2JqZWN0OiBu aWxdOworICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdCisgICAgICByZW1v dmVPYnNlcnZlcjogc2VsZgorICAgICAgICAgICAgICAgIG5hbWU6IE5TQXBwbGljYXRpb25EaWRV bmhpZGVOb3RpZmljYXRpb24KKyAgICAgICAgICAgICAgb2JqZWN0OiBuaWxdOworI2lmIGRlZmlu ZWQoTlNfSU1QTF9DT0NPQSkgJiYgXAorICBNQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49 IE1BQ19PU19YX1ZFUlNJT05fMTBfNgorICBbW1tOU1dvcmtzcGFjZSBzaGFyZWRXb3Jrc3BhY2Vd IG5vdGlmaWNhdGlvbkNlbnRlcl0KKyAgICByZW1vdmVPYnNlcnZlcjogc2VsZgorICAgICAgICAg ICAgICBuYW1lOiBOU1dvcmtzcGFjZUFjdGl2ZVNwYWNlRGlkQ2hhbmdlTm90aWZpY2F0aW9uCisg ICAgICAgICAgICBvYmplY3Q6IG5pbF07CisjZW5kaWYgLyogTlNfSU1QTF9DT0NPQSAmJiA+PSBN QUNfT1NfWF9WRVJTSU9OXzEwXzYgKi8KICAgW3Rvb2xiYXIgcmVsZWFzZV07CiAgIGlmIChmc19z dGF0ZSA9PSBGVUxMU0NSRUVOX0JPVEgpCiAgICAgW25vbmZzX3dpbmRvdyByZWxlYXNlXTsKQEAg LTYwMzcsNiArNjA1MiwyNyBAQCBpZiAoY29scyA+IDAgJiYgcm93cyA+IDApCiAgIFtOU0FwcCBy ZWdpc3RlclNlcnZpY2VzTWVudVNlbmRUeXBlczogbnNfc2VuZF90eXBlcwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgcmV0dXJuVHlwZXM6IG5pbF07CiAKKyAgLyogVXBkYXRlIHZpc2liaWxp dHkgc3RhdGUgb24gYXBwbGljYXRpb24gaGlkZSBhbmQgdW5oaWRlLiAqLworICBbW05TTm90aWZp Y2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdCisgICAgICBhZGRPYnNlcnZlcjogc2VsZgorICAg ICAgICAgc2VsZWN0b3I6IEBzZWxlY3RvciAodXBkYXRlVmlzaWJpbGl0eTopCisgICAgICAgICAg ICAgbmFtZTogTlNBcHBsaWNhdGlvbkRpZEhpZGVOb3RpZmljYXRpb24KKyAgICAgICAgICAgb2Jq ZWN0OiBuaWxdOworICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdCisgICAg ICBhZGRPYnNlcnZlcjogc2VsZgorICAgICAgICAgc2VsZWN0b3I6IEBzZWxlY3RvciAodXBkYXRl VmlzaWJpbGl0eTopCisgICAgICAgICAgICAgbmFtZTogTlNBcHBsaWNhdGlvbkRpZFVuaGlkZU5v dGlmaWNhdGlvbgorICAgICAgICAgICBvYmplY3Q6IG5pbF07CisKKyNpZiBkZWZpbmVkKE5TX0lN UExfQ09DT0EpICYmIFwKKyAgTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSBNQUNfT1Nf WF9WRVJTSU9OXzEwXzYKKyAgW1tbTlNXb3Jrc3BhY2Ugc2hhcmVkV29ya3NwYWNlXSBub3RpZmlj YXRpb25DZW50ZXJdCisgICAgYWRkT2JzZXJ2ZXI6IHNlbGYKKyAgICAgICBzZWxlY3RvcjogQHNl bGVjdG9yICh1cGRhdGVWaXNpYmlsaXR5OikKKyAgICAgICAgICAgbmFtZTogTlNXb3Jrc3BhY2VB Y3RpdmVTcGFjZURpZENoYW5nZU5vdGlmaWNhdGlvbgorICAgICAgICAgb2JqZWN0OiBuaWxdOwor I2VuZGlmIC8qIE5TX0lNUExfQ09DT0EgJiYgPj0gTUFDX09TX1hfVkVSU0lPTl8xMF82ICovCisK ICAgbnNfd2luZG93X251bSsrOwogICByZXR1cm4gc2VsZjsKIH0KQEAgLTYxNDMsMTggKzYxNzks NyBAQCBpZiAoY29scyA+IDAgJiYgcm93cyA+IDApCiAtICh2b2lkKXdpbmRvd0RpZERlbWluaWF0 dXJpemU6IHNlbmRlcgogewogICBOU1RSQUNFICh3aW5kb3dEaWREZW1pbmlhdHVyaXplKTsKLSAg aWYgKCFlbWFjc2ZyYW1lLT5vdXRwdXRfZGF0YS5ucykKLSAgICByZXR1cm47Ci0KLSAgU0VUX0ZS QU1FX0lDT05JRklFRCAoZW1hY3NmcmFtZSwgMCk7Ci0gIFNFVF9GUkFNRV9WSVNJQkxFIChlbWFj c2ZyYW1lLCAxKTsKLSAgd2luZG93c19vcl9idWZmZXJzX2NoYW5nZWQgPSA2MzsKLQotICBpZiAo ZW1hY3NfZXZlbnQpCi0gICAgewotICAgICAgZW1hY3NfZXZlbnQtPmtpbmQgPSBERUlDT05JRllf RVZFTlQ7Ci0gICAgICBFVl9UUkFJTEVSICgoaWQpbmlsKTsKLSAgICB9CisgIFtzZWxmIHVwZGF0 ZVZpc2liaWxpdHk6bmlsXTsKIH0KIAogCkBAIC02MTc1LDE2ICs2MjAwLDQ3IEBAIGlmIChjb2xz ID4gMCAmJiByb3dzID4gMCkKIC0gKHZvaWQpd2luZG93RGlkTWluaWF0dXJpemU6IHNlbmRlcgog ewogICBOU1RSQUNFICh3aW5kb3dEaWRNaW5pYXR1cml6ZSk7CisgIFtzZWxmIHVwZGF0ZVZpc2li aWxpdHk6bmlsXTsKK30KKworLSAodm9pZCl1cGRhdGVWaXNpYmlsaXR5OiAoTlNOb3RpZmljYXRp b24gKilub3RpZmljYXRpb24KK3sKKyAgTlNUUkFDRSAodXBkYXRlVmlzaWJpbGl0eSk7CiAgIGlm ICghZW1hY3NmcmFtZS0+b3V0cHV0X2RhdGEubnMpCiAgICAgcmV0dXJuOwogCi0gIFNFVF9GUkFN RV9JQ09OSUZJRUQgKGVtYWNzZnJhbWUsIDEpOwotICBTRVRfRlJBTUVfVklTSUJMRSAoZW1hY3Nm cmFtZSwgMCk7CisgIE5TV2luZG93ICp3aW4gPSBbc2VsZiB3aW5kb3ddOworICBCT09MIG9uX2Fj dGl2ZV9zcGFjZSA9IFlFUzsKKyAgaWYgKFt3aW4gcmVzcG9uZHNUb1NlbGVjdG9yOiBAc2VsZWN0 b3IgKGlzT25BY3RpdmVTcGFjZSldKQorICAgIG9uX2FjdGl2ZV9zcGFjZSA9IFt3aW4gaXNPbkFj dGl2ZVNwYWNlXTsKKyAgaWYgKG9uX2FjdGl2ZV9zcGFjZSAmJiBbd2luIGlzVmlzaWJsZV0pCisg ICAgeworICAgICAgaWYgKEZSQU1FX1ZJU0lCTEVfUCAoZW1hY3NmcmFtZSkgJiYgIUZSQU1FX0lD T05JRklFRF9QIChlbWFjc2ZyYW1lKSkKKyAgICAgICAgcmV0dXJuOwogCi0gIGlmIChlbWFjc19l dmVudCkKKyAgICAgIFNFVF9GUkFNRV9JQ09OSUZJRUQgKGVtYWNzZnJhbWUsIDApOworICAgICAg U0VUX0ZSQU1FX1ZJU0lCTEUgKGVtYWNzZnJhbWUsIDEpOworICAgICAgd2luZG93c19vcl9idWZm ZXJzX2NoYW5nZWQgPSA2MzsKKworICAgICAgaWYgKGVtYWNzX2V2ZW50KQorICAgICAgICB7Cisg ICAgICAgICAgZW1hY3NfZXZlbnQtPmtpbmQgPSBERUlDT05JRllfRVZFTlQ7CisgICAgICAgICAg RVZfVFJBSUxFUiAoKGlkKW5pbCk7CisgICAgICAgIH0KKyAgICB9CisgIGVsc2UKICAgICB7Ci0g ICAgICBlbWFjc19ldmVudC0+a2luZCA9IElDT05JRllfRVZFTlQ7Ci0gICAgICBFVl9UUkFJTEVS ICgoaWQpbmlsKTsKKyAgICAgIGlmICghRlJBTUVfVklTSUJMRV9QIChlbWFjc2ZyYW1lKSAmJiBG UkFNRV9JQ09OSUZJRURfUCAoZW1hY3NmcmFtZSkpCisgICAgICAgIHJldHVybjsKKworICAgICAg U0VUX0ZSQU1FX0lDT05JRklFRCAoZW1hY3NmcmFtZSwgMSk7CisgICAgICBTRVRfRlJBTUVfVklT SUJMRSAoZW1hY3NmcmFtZSwgMCk7CisKKyAgICAgIGlmIChlbWFjc19ldmVudCkKKyAgICAgICAg eworICAgICAgICAgIGVtYWNzX2V2ZW50LT5raW5kID0gSUNPTklGWV9FVkVOVDsKKyAgICAgICAg ICBFVl9UUkFJTEVSICgoaWQpbmlsKTsKKyAgICAgICAgfQogICAgIH0KIH0KIAotLSAKMS44LjMu NCAoQXBwbGUgR2l0LTQ3KQoK --001a11c30ce28032c404ed243a02--