This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---2049898904-2119944447-1048905295=:6808 Content-Type: TEXT/PLAIN; charset=US-ASCII so, the people i laughingly call my colleguges decided they wanted to move to v1.2.1, meaning that they expected me to magically pull performance out of the ether again. you have no interest in this, it's only here for curiosity. for those who remember the stuff i was hacking on around 1.2 release, which is none of you :), this patch caches redraws for each line in a bunch of QPictures. ythis is not the ideal soution, but it's one i was able to come up with without fully understanding kword and rewriting large chunks :) it also makes zoomed mode paletable on my p3-500 (tho i think that's related to my xserver, it's xinerama, which happens to be, on a p3-500, slow as fucking molasses). - jj -- Jaymz Julian aka A Life in Hell Coder, Visionary, Fat Ass. My opinions may have changed, but not the fact that I am right. ---2049898904-2119944447-1048905295=:6808 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="linecache-1.2.1.diff" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="linecache-1.2.1.diff" ZGlmZiAtdXIgL2JpZ2lzaC9rb2ZmaWNlL2tvZmZpY2UtMS4yLjEub3JpZy9s aWIva290ZXh0L3FyaWNodGV4dC5jcHAga290ZXh0L3FyaWNodGV4dC5jcHAN Ci0tLSAvYmlnaXNoL2tvZmZpY2Uva29mZmljZS0xLjIuMS5vcmlnL2xpYi9r b3RleHQvcXJpY2h0ZXh0LmNwcAkyMDAyLTEwLTIxIDAwOjIwOjMzLjAwMDAw MDAwMCArMTAwMA0KKysrIGtvdGV4dC9xcmljaHRleHQuY3BwCTIwMDMtMDMt MjkgMTI6NTk6MjAuMDAwMDAwMDAwICsxMTAwDQpAQCAtMzY5Myw2ICszNjkz LDEwIEBADQogICAgIHsNCiAgICAgICAgIGVtaXQgZG9jdW1lbnQoKS0+cGFy YWdyYXBoRGVsZXRlZCggdGhpcyApOw0KICAgICB9DQorDQorICAgIGZvcihp bnQgaT0wO2k8KGludCljYWNoZURhdGEuc2l6ZSgpO2krKykNCisJICAgIGlm KCFjYWNoZURhdGFbaV0uY2FjaGVkUGljdHVyZSkNCisJCSAgICBkZWxldGUg Y2FjaGVEYXRhW2ldLmNhY2hlZFBpY3R1cmU7DQogICAgIC8va2REZWJ1Zygz MjUwMCkgPDwgIktvVGV4dFBhcmFnOjp+S29UZXh0UGFyYWcgIiA8PCB0aGlz IDw8IGVuZGw7DQogICAgIC8vLy8NCiB9DQpAQCAtNDIwMyw3ICs0MjA3LDYg QEANCiAgICAgLy8gVGhpcyBpcyBuZWNlc3Nhcnkgd2l0aCB0aGUgY3VycmVu dCBjb2RlLCBidXQgaW4gdGhlb3J5IGl0IHNob3VsZG4ndA0KICAgICAvLyBi ZSBuZWNlc3NhcnksIGlmIFhmdCByZWFsbHkgZ2l2ZXMgdXMgZnVsbHkgcHJv cG9ydGlvbm5hbCBjaGFycy4uLi4NCiAjZGVmaW5lIENIRUNLX1BJWEVMWEFE Sg0KLQ0KICNpZmRlZiBDSEVDS19QSVhFTFhBREoNCiAgICAgaW50IGxhc3RY QWRqID0gMDsNCiAjZW5kaWYNCkBAIC00MjQyLDE0MCArNDI0NSwyMzEgQEAN CiAgICAgaW50IHBhaW50RW5kID0gLTE7DQogICAgIGludCBsYXN0aCA9IDA7 DQogICAgIGludCBpID0gMDsNCi0gICAgaWYgKCBtX2xpbmVDaGFuZ2VkID4g MCApDQorDQorICAgIC8vIERyYXcgdGhlbSBsaW5lcyENCisgICAgbGluZT1t X2xpbmVDaGFuZ2VkOw0KKyAgICBpZihsaW5lPDApIGxpbmU9MDsNCisgICAg aW50IG51bUxpbmVzPWxpbmVzKCk7DQorICAgIA0KKyAgICBmb3IoO2xpbmU8 bnVtTGluZXM7bGluZSsrKQ0KICAgICB7DQotICAgICAgICAvL3FEZWJ1Zygg InBhaW50aW5nIHBhcmFncmFwaCAlcCBpZDolZCBmcm9tIGxpbmUgJWQiLCAo dm9pZCopdGhpcywgcGFyYWdJZCgpLCBtX2xpbmVDaGFuZ2VkICk7DQotICAg ICAgICBsaW5lU3RhcnRPZkxpbmUoIG1fbGluZUNoYW5nZWQsICZpICk7DQot ICAgICAgICBsaW5lID0gbV9saW5lQ2hhbmdlZCAtIDE7IC8vICsrIGlzIHRo ZSBmaXJzdCB0aGluZyB0aGF0IHdpbGwgaGFwcGVuIGluIHRoZSBsb29wDQot ICAgIH0NCi0gICAgLy9lbHNlDQotICAgIC8vICAgIHFEZWJ1ZyggInBhaW50 aW5nIHBhcmFncmFwaCAlcCBpZDolZCIsICh2b2lkKil0aGlzLCBwYXJhZ0lk KCkgKTsNCi0gICAgaW50IHBhaW50U3RhcnQgPSBpOw0KLSAgICBmb3IgKCA7 IGkgPCBsZW5ndGgoKTsgaSsrICkgew0KLQljaHIgPSBhdCggaSApOw0KLQ0K LSAgICAgICAgY3cgPSBjaHItPndpZHRoOw0KLQ0KLQkvLyBpbml0IGEgbmV3 IGxpbmUNCi0JaWYgKCBjaHItPmxpbmVTdGFydCApIHsNCi0JICAgICsrbGlu ZTsNCi0JICAgIGxpbmVJbmZvKCBsaW5lLCBjeSwgaCwgYmFzZUxpbmUgKTsN Ci0JICAgIGxhc3RoID0gaDsNCi0JICAgIGlmICggY2xpcHkgIT0gLTEgJiYg Y3kgPiBjbGlweSAtIHIueSgpICsgY2xpcGggKSAvLyBvdXRzaWRlIGNsaXAg YXJlYSwgbGVhdmUNCi0JCWJyZWFrOw0KLQkgICAgaWYgKCBsYXN0QmFzZUxp bmUgPT0gMCApDQotCQlsYXN0QmFzZUxpbmUgPSBiYXNlTGluZTsNCi0JfQ0K KwkvLyBnZXQgdGhlIGxlbmd0aCBvZiB0aGUgbGluZQ0KKwlpbnQgbGluZUxl bj0wOw0KKwlpbnQgY3Vyc29yTGluZT0gLTE7DQorCWlmKGN1cnNvcikNCisJ CWxpbmVTdGFydE9mQ2hhciggY3Vyc29yLT5pbmRleCgpLCAwLCAmY3Vyc29y TGluZSApOw0KKwllbHNlDQorCQljdXJzb3JMaW5lID0gLTE7DQogDQotCS8v IGNoZWNrIGZvciBjdXJzb3IgbWFyaw0KLQlpZiAoIGN1cnNvciAmJiB0aGlz ID09IGN1cnNvci0+cGFyYWcoKSAmJiBpID09IGN1cnNvci0+aW5kZXgoKSAp IHsNCi0JICAgIGN1cnggPSBjdXJzb3ItPngoKTsNCi0JICAgIGN1cmxpbmUg PSBsaW5lOw0KLSAgICAgICAgICAgIEtvVGV4dFN0cmluZ0NoYXIgKmMgPSBj aHI7DQotICAgICAgICAgICAgaWYgKCBpID4gMCApDQotICAgICAgICAgICAg ICAgIC0tYzsNCi0gICAgICAgICAgICBjdXJoID0gYy0+aGVpZ2h0KCk7DQot ICAgICAgICAgICAgY3VyeSA9IGN5ICsgYmFzZUxpbmUgLSBjLT5hc2NlbnQo KTsNCi0JfQ0KLQ0KLQkvLyBmaXJzdCB0aW1lIC0gc3RhcnQgYWdhaW4uLi4N Ci0JaWYgKCAhbGFzdEZvcm1hdCB8fCBsYXN0WSA9PSAtMSApIHsNCi0JICAg IGxhc3RGb3JtYXQgPSBjaHItPmZvcm1hdCgpOw0KLQkgICAgbGFzdFkgPSBj eTsNCi0JICAgIHN0YXJ0WCA9IGNoci0+eDsNCi0JICAgIHBhaW50RW5kID0g aTsNCi0JICAgIGJ3ID0gY3c7DQotCSAgICBpZiAoICFjaHItPmlzQ3VzdG9t KCkgKQ0KLQkJY29udGludWU7DQotCX0NCisJaW50IG5leHRMaW5lOw0KKwlp bnQgc3RhcnRPZkxpbmU7DQorCWxpbmVTdGFydE9mTGluZShsaW5lLCAmc3Rh cnRPZkxpbmUpOw0KIA0KLQkvLyBjaGVjayBpZiBzZWxlY3Rpb24gc3RhdGUg Y2hhbmdlZA0KLQlib29sIHNlbGVjdGlvbkNoYW5nZSA9IEZBTFNFOw0KLQlp ZiAoIGRyYXdTZWxlY3Rpb25zICkgew0KLQkgICAgZm9yICggaW50IGogPSAw OyBqIDwgblNlbHM7ICsraiApIHsNCi0JCXNlbGVjdGlvbkNoYW5nZSA9IHNl bGVjdGlvblN0YXJ0c1sgaiBdID09IGkgfHwgc2VsZWN0aW9uRW5kc1sgaiBd ID09IGk7DQotCQlpZiAoIHNlbGVjdGlvbkNoYW5nZSApDQotCQkgICAgYnJl YWs7DQotCSAgICB9DQotCX0NCisJaWYobGluZT09KG51bUxpbmVzLTEpKQ0K KyAgICAgICAgICAgICAgICBuZXh0TGluZT1sZW5ndGgoKTsNCisgICAgICAg IGVsc2UNCisgICAgICAgICAgICAgICAgbGluZVN0YXJ0T2ZMaW5lKGxpbmUr MSwgJm5leHRMaW5lKTsNCisJbGluZUxlbj1uZXh0TGluZS1zdGFydE9mTGlu ZTsNCisJDQorCS8vIGluaXQgdGhpcyBsaW5lDQorCWxpbmVJbmZvKCBsaW5l LCBjeSwgaCwgYmFzZUxpbmUgKTsNCisJbGFzdGggPSBoOw0KKwlpZiAoIGNs aXB5ICE9IC0xICYmIGN5ID4gY2xpcHkgLSByLnkoKSArIGNsaXBoICkgLy8g b3V0c2lkZSBjbGlwIGFyZWEsIGxlYXZlDQorCSAgICBicmVhazsNCisJaWYg KCBsYXN0QmFzZUxpbmUgPT0gMCApDQorCWxhc3RCYXNlTGluZSA9IGJhc2VM aW5lOw0KIA0KLQkvL2lmIHNvbWV0aGluZyAoZm9ybWF0LCBldGMuKSBjaGFu Z2VkLCBkcmF3IHdoYXQgd2UgaGF2ZSBzbyBmYXINCi0JaWYgKCAoICggYWxp Z25tZW50KCkgJiBRdDo6QWxpZ25KdXN0aWZ5ICkgPT0gUXQ6OkFsaWduSnVz dGlmeSAmJiBwYWludEVuZCAhPSAtMSAmJiBhdChwYWludEVuZCktPmMuaXNT cGFjZSgpICkgfHwNCi0jaWZkZWYgQ0hFQ0tfUElYRUxYQURKDQotICAgICAg ICAgICAgICAgbGFzdFhBZGogIT0gY2hyLT5waXhlbHhhZGogfHwNCi0jZW5k aWYNCi0JICAgICAgIGxhc3REaXJlY3Rpb24gIT0gKGJvb2wpY2hyLT5yaWdo dFRvTGVmdCB8fA0KLQkgICAgICAgY2hyLT5zdGFydE9mUnVuIHx8DQotCSAg ICAgICBsYXN0WSAhPSBjeSB8fCBjaHItPmZvcm1hdCgpICE9IGxhc3RGb3Jt YXQgfHwNCi0JICAgICAgICggcGFpbnRFbmQgIT0gLTEgJiYgYXQoIHBhaW50 RW5kICktPmMgPT0nXHQnICkgfHwgY2hyLT5jID09ICdcdCcgfHwNCi0JICAg ICAgICggcGFpbnRFbmQgIT0gLTEgJiYgYXQoIHBhaW50RW5kICktPmMudW5p Y29kZSgpID09IDB4YWQgKSB8fCBjaHItPmMudW5pY29kZSgpID09IDB4YWQg fHwNCi0JICAgICAgIHNlbGVjdGlvbkNoYW5nZSB8fCBjaHItPmlzQ3VzdG9t KCkgKSB7DQotDQotICAgICAgICAgICAgaWYgKCBwYWludFN0YXJ0IDw9IHBh aW50RW5kICkgew0KLQkJaWYgKCBjaHItPmlzQ3VzdG9tKCkgJiYgY2hyLT5j dXN0b21JdGVtKCktPnBsYWNlbWVudCgpID09IEtvVGV4dEN1c3RvbUl0ZW06 OlBsYWNlSW5saW5lICkgew0KLQkJICAgIHFzdHIucmVwbGFjZShpLDEsIiAi KTsNCi0JCX0NCi0gICAgICAgICAgICAgICAgLy8gUVJUIGhhY2sgcmVtb3Zl ZCBmcm9tIHRoaXMgcGxhY2UsIGl0IGJyb2tlIGp1c3RpZmllZCBzcGFjZXMN Ci0JCWRyYXdQYXJhZ1N0cmluZyggcGFpbnRlciwgcXN0ciwgcGFpbnRTdGFy dCwgcGFpbnRFbmQgLSBwYWludFN0YXJ0ICsgMSwgc3RhcnRYLCBsYXN0WSwN Ci0JCQkJIGxhc3RCYXNlTGluZSwgYncsIGxhc3RoLCBkcmF3U2VsZWN0aW9u cywNCi0JCQkJIGxhc3RGb3JtYXQsIGksIHNlbGVjdGlvblN0YXJ0cywgc2Vs ZWN0aW9uRW5kcywgY2csIGxhc3REaXJlY3Rpb24gKTsNCi0JICAgIH0NCi0J ICAgIGlmICggIWNoci0+aXNDdXN0b20oKSApIHsNCi0JCXBhaW50U3RhcnQg PSBpOw0KLQkJcGFpbnRFbmQgPSBpOw0KKyAgICAJLy8gaW5pdGlhbGlzZSB0 aGUgbGluZQ0KKwlpbnQgcGFpbnRTdGFydCA9IHN0YXJ0T2ZMaW5lOw0KKwlw YWludEVuZCA9IHN0YXJ0T2ZMaW5lOw0KKwlsYXN0WSA9IGN5Ow0KKwljaHIg PSBhdChzdGFydE9mTGluZSk7DQorCXN0YXJ0WD1jaHItPng7DQorCWJ3PWN3 PWNoci0+d2lkdGg7DQorDQorCS8vIG9ubHkgcmVzZXQgbGFzdEZvcm1hdCBp ZiBpdCB3YXNuJ3Qgc2V0IGJlZm9yZSENCisJaWYoIWxhc3RGb3JtYXQpDQog CQlsYXN0Rm9ybWF0ID0gY2hyLT5mb3JtYXQoKTsNCi0JCWxhc3RZID0gY3k7 DQotCQlzdGFydFggPSBjaHItPng7DQotCQlidyA9IGN3Ow0KLQkgICAgfSBl bHNlIHsNCi0JCWlmICggY2hyLT5jdXN0b21JdGVtKCktPnBsYWNlbWVudCgp ID09IEtvVGV4dEN1c3RvbUl0ZW06OlBsYWNlSW5saW5lICkgew0KLSAgICAg ICAgICAgICAgICAgICAgY2hyLT5jdXN0b21JdGVtKCktPmRyYXcoICZwYWlu dGVyLCBjaHItPngsIGN5ICsgYmFzZUxpbmUgLSBjaHItPmN1c3RvbUl0ZW0o KS0+YXNjZW50KCksIGNsaXB4IC0gci54KCksIGNsaXB5IC0gci55KCksIGNs aXB3LCBjbGlwaCwgY2csDQotCQkJCQkgICAgIGRyYXdTZWxlY3Rpb25zICYm IG5TZWxzICYmIHNlbGVjdGlvblN0YXJ0c1sgMCBdIDw9IGkgJiYgc2VsZWN0 aW9uRW5kc1sgMCBdID4gaSApOw0KLQkJICAgIHBhaW50U3RhcnQgPSBpKzE7 DQotCQkgICAgcGFpbnRFbmQgPSAtMTsNCi0JCSAgICBsYXN0Rm9ybWF0ID0g Y2hyLT5mb3JtYXQoKTsNCi0JCSAgICBsYXN0WSA9IGN5Ow0KLQkJICAgIHN0 YXJ0WCA9IGNoci0+eCArIGNoci0+d2lkdGg7DQotCQkgICAgYncgPSAwOw0K LQkJfSBlbHNlIHsNCi0JCSAgICBjaHItPmN1c3RvbUl0ZW0oKS0+cmVzaXpl KCBwbnRyLCBjaHItPmN1c3RvbUl0ZW0oKS0+d2lkdGggKTsNCi0JCSAgICBw YWludFN0YXJ0ID0gaSsxOw0KLQkJICAgIHBhaW50RW5kID0gLTE7DQotCQkg ICAgbGFzdEZvcm1hdCA9IGNoci0+Zm9ybWF0KCk7DQotCQkgICAgbGFzdFkg PSBjeTsNCi0JCSAgICBzdGFydFggPSBjaHItPnggKyBjaHItPndpZHRoOw0K LQkJICAgIGJ3ID0gMDsNCi0JCX0NCi0JICAgIH0NCi0JfSBlbHNlIHsNCi0J ICAgIGlmKCBjaHItPnJpZ2h0VG9MZWZ0ICkgew0KLQkJc3RhcnRYID0gY2hy LT54Ow0KLQkgICAgfQ0KLQkgICAgcGFpbnRFbmQgPSBpOw0KLQkgICAgYncg Kz0gY3c7DQorDQorCS8vIG1ha2Ugc3VyZSB0aGF0IHdlIGNhbiBmaXQgdGhp cyBsaW5lDQorCWlmKGNhY2hlRGF0YS5zaXplKCk8PWxpbmUpDQorCXsNCisJ CWNhY2hlRGF0YS5yZXNpemUobGluZSsxKTsNCisJCWNhY2hlRGF0YVtsaW5l XS5jYWNoZWRQaWN0dXJlPU5VTEw7DQorCQljYWNoZURhdGFbbGluZV0ubGFz dEZvcm1hdD1OVUxMOw0KKwl9DQorDQorCS8vIGNoZWNrIGlmIHdlIG5lZWQg YSByZWRyYXcgb24gdGhpcyBsaW5lIG9yIG5vdA0KKwlib29sIG5lZWRSZWRy YXc7DQorCWlmKGNhY2hlRGF0YVtsaW5lXS5jYWNoZWRQaWN0dXJlPT1OVUxM IHx8DQorCSAgIGNhY2hlRGF0YVtsaW5lXS5jbGlweCAhPSBjbGlweCB8fA0K KwkgICBjYWNoZURhdGFbbGluZV0uY2xpcHkgIT0gY2xpcHkgfHwNCisJICAg Y2FjaGVEYXRhW2xpbmVdLmNsaXB3ICE9IGNsaXB3IHx8DQorCSAgIGNhY2hl RGF0YVtsaW5lXS5jbGlwaCAhPSBjbGlwaCB8fA0KKwkgICBjYWNoZURhdGFb bGluZV0uY3kgIT0gY3kgfHwNCisJICAgY2FjaGVEYXRhW2xpbmVdLmggIT0g aCB8fA0KKwkgICBjYWNoZURhdGFbbGluZV0uZHJhd1NlbGVjdGlvbnMgIT0g ZHJhd1NlbGVjdGlvbnMgfHwNCisJICAgY2FjaGVEYXRhW2xpbmVdLnJpZ2h0 VG9MZWZ0ICE9IGxhc3REaXJlY3Rpb24gfHwNCisJICAgY2FjaGVEYXRhW2xp bmVdLmNvbnRlbnRzICE9IHFzdHIubWlkKHN0YXJ0T2ZMaW5lLCBsaW5lTGVu KSB8fA0KKwkgICBjYWNoZURhdGFbbGluZV0ubGFzdEZvcm1hdCAhPSBsYXN0 Rm9ybWF0IHx8DQorCSAgIGN1cnNvckxpbmUgPT0gbGluZSkNCisJCW5lZWRS ZWRyYXc9dHJ1ZTsNCisJZWxzZQ0KKwl7DQorCQluZWVkUmVkcmF3PWZhbHNl Ow0KKwkJLy8gY2hlY2sgc2VsZWN0aW9ucyAtIGRvIHRoaXMgaGVyZSwgYmVj YXVzZSBpdCB0YWtlcyBzb21lIENQVQ0KKwkJaWYoZHJhd1NlbGVjdGlvbnMp DQorCQkJaWYoKGludCljYWNoZURhdGFbbGluZV0uc2VsZWN0aW9ucy5zaXpl KCk9PWxpbmVMZW4pDQorCQkJew0KKwkJCQlmb3IoaT0wO2k8bGluZUxlbjtp KyspDQorCQkJCQlpZihjYWNoZURhdGFbbGluZV0uc2VsZWN0aW9uc1tpXSE9 aGFzU2VsZWN0aW9uKGkrc3RhcnRPZkxpbmUpKQ0KKwkJCQkJCW5lZWRSZWRy YXc9dHJ1ZTsNCisJCQl9DQorCQkJZWxzZQ0KKwkJCXsNCisJCQkJLy8gVGhp cyBjb25kaXRpb24gc2hvdWxkIG5ldmVyIGhhcHBlbiwgYnV0IHRlc3QgaXQg anVzdCBpbmNhc2UgSSdtIGFuIGlkaW90IF5fXg0KKwkJCQluZWVkUmVkcmF3 PXRydWU7DQorCQkJfQ0KKw0KIAl9DQotCWxhc3RCYXNlTGluZSA9IGJhc2VM aW5lOw0KLQlsYXN0aCA9IGg7DQotCWxhc3REaXJlY3Rpb24gPSBjaHItPnJp Z2h0VG9MZWZ0Ow0KLSNpZmRlZiBDSEVDS19QSVhFTFhBREoNCi0gICAgICAg IGxhc3RYQWRqID0gY2hyLT5waXhlbHhhZGo7DQotI2VuZGlmDQotICAgIH0N CiANCi0gICAgLy8gaWYgd2UgYXJlIHRocm91Z2ggdGhlIHBhcmFnLCBidXQg c3RpbGwgaGF2ZSBzb21lIHN0dWZmIGxlZnQgdG8gZHJhdywgZHJhdyBpdCBu b3cNCi0gICAgaWYgKCBwYWludFN0YXJ0IDw9IHBhaW50RW5kICkgew0KLQli b29sIHNlbGVjdGlvbkNoYW5nZSA9IEZBTFNFOw0KLQlpZiAoIGRyYXdTZWxl Y3Rpb25zICkgew0KLQkgICAgZm9yICggaW50IGogPSAwOyBqIDwgblNlbHM7 ICsraiApIHsNCi0JCXNlbGVjdGlvbkNoYW5nZSA9IHNlbGVjdGlvblN0YXJ0 c1sgaiBdID09IGkgfHwgc2VsZWN0aW9uRW5kc1sgaiBdID09IGk7DQotCQlp ZiAoIHNlbGVjdGlvbkNoYW5nZSApDQotCQkgICAgYnJlYWs7DQotCSAgICB9 DQorCS8vIEZJWE1FOiBtYXNzIGNvcHkgZnJvbSBiZWxvdywgZG8gZml4eSBz dHVmZgkNCisJaWYobmVlZFJlZHJhdykNCisJew0KKwkJLy9rZERlYnVnKCkg PDwgIkxpbmUgIyIgPDwgbGluZSA8PCAiXG4iOw0KKwkJLy8gdXBkYXRlIHRo ZSBjYWNoZSAqZmlyc3QqLCBiZWZvcmUgdGhlIGRhdGEgaXMgbW9kaWZpZWQh DQorCQljYWNoZURhdGFbbGluZV0uY2xpcHg9Y2xpcHg7DQorCQljYWNoZURh dGFbbGluZV0uY2xpcHk9Y2xpcHk7DQorCQljYWNoZURhdGFbbGluZV0uY2xp cGg9Y2xpcGg7DQorCQljYWNoZURhdGFbbGluZV0uY2xpcHc9Y2xpcHc7DQor CQljYWNoZURhdGFbbGluZV0uY3k9Y3k7DQorCQljYWNoZURhdGFbbGluZV0u aD1oOw0KKwkJY2FjaGVEYXRhW2xpbmVdLmRyYXdTZWxlY3Rpb25zPWRyYXdT ZWxlY3Rpb25zOw0KKwkJY2FjaGVEYXRhW2xpbmVdLnJpZ2h0VG9MZWZ0PWxh c3REaXJlY3Rpb247DQorCQljYWNoZURhdGFbbGluZV0uY29udGVudHM9cXN0 ci5taWQoc3RhcnRPZkxpbmUsIGxpbmVMZW4pOw0KKwkJY2FjaGVEYXRhW2xp bmVdLmxhc3RGb3JtYXQ9bGFzdEZvcm1hdDsNCisJCQ0KKwkJaWYoZHJhd1Nl bGVjdGlvbnMpDQorCQl7DQorCQkJY2FjaGVEYXRhW2xpbmVdLnNlbGVjdGlv bnMucmVzaXplKGxpbmVMZW4pOw0KKwkJCWZvcihpPTA7aTxsaW5lTGVuO2kr KykNCisJCQkJY2FjaGVEYXRhW2xpbmVdLnNlbGVjdGlvbnNbaV09aGFzU2Vs ZWN0aW9uKGkrc3RhcnRPZkxpbmUpOw0KKwkJfQ0KKw0KKwkJLy8gYWxsb2Nh dGUNCisJCVFQaWN0dXJlICpteVBpY3R1cmU9bmV3IFFQaWN0dXJlKCk7DQor CQlRUGFpbnRlciBteVBhaW50ZXIobXlQaWN0dXJlKTsNCisNCisJCS8vIGRy YXcgdGhlIGxpbmUNCisJCWZvcihpPXN0YXJ0T2ZMaW5lO2k8bmV4dExpbmU7 aSsrKQ0KKwkJew0KKwkJCWNociA9IGF0KCBpICk7DQorCQkgICAgICAgIGN3 ID0gY2hyLT53aWR0aDsNCisJCQkvLyBjaGVjayBmb3IgY3Vyc29yIG1hcmsN CisJCQlpZiAoIGN1cnNvciAmJiB0aGlzID09IGN1cnNvci0+cGFyYWcoKSAm JiBpID09IGN1cnNvci0+aW5kZXgoKSApIHsNCisJCQkgICAgY3VyeCA9IGN1 cnNvci0+eCgpOw0KKwkJCSAgICBjdXJsaW5lID0gbGluZTsNCisJCSAgICAg ICAgICAgIEtvVGV4dFN0cmluZ0NoYXIgKmMgPSBjaHI7DQorCQkgICAgICAg ICAgICBpZiAoIGkgPiAwICkNCisJCSAgICAgICAgICAgICAgICAtLWM7DQor CQkgICAgICAgICAgICBjdXJoID0gYy0+aGVpZ2h0KCk7DQorCQkgICAgICAg ICAgICBjdXJ5ID0gY3kgKyBiYXNlTGluZSAtIGMtPmFzY2VudCgpOw0KKwkJ CX0NCisJCQkvLyB0ZXN0IGZvciBlbmQgb2YgbGluZQ0KKwkJCWJvb2wgZW5k T2ZMaW5lPWZhbHNlOw0KKwkJCWlmKGk9PSgoc3RhcnRPZkxpbmUrbGluZUxl biktMSkpDQorCQkJCWVuZE9mTGluZT10cnVlOw0KKwkJCS8vIGNoZWNrIGlm IHNlbGVjdGlvbiBzdGF0ZSBjaGFuZ2VkDQorCQkJYm9vbCBzZWxlY3Rpb25D aGFuZ2UgPSBGQUxTRTsNCisJCQlpZiAoIGRyYXdTZWxlY3Rpb25zICkgew0K KwkJCSAgICBmb3IgKCBpbnQgaiA9IDA7IGogPCBuU2VsczsgKytqICkgew0K KwkJCQlzZWxlY3Rpb25DaGFuZ2UgPSBzZWxlY3Rpb25TdGFydHNbIGogXSA9 PSBpIHx8IHNlbGVjdGlvbkVuZHNbIGogXSA9PSBpOw0KKwkJCQlpZiAoIHNl bGVjdGlvbkNoYW5nZSApDQorCQkJCSAgICBicmVhazsNCisJCQkgICAgfQ0K KwkJCX0NCisJCQkvL2lmIHNvbWV0aGluZyAoZm9ybWF0LCBldGMuKSBjaGFu Z2VkLCBkcmF3IHdoYXQgd2UgaGF2ZSBzbyBmYXINCisJCQkvLyBGSVhNRTog Y2xlYW4gdGhpcyB1cCB0byBmaXQgaW50byB0aGUgbmV3IG1vZGVsDQorCQkJ aWYgKCAoIChhbGlnbm1lbnQoKSAmIFF0OjpBbGlnbkp1c3RpZnkpID09IFF0 OjpBbGlnbkp1c3RpZnkgJiYgcGFpbnRFbmQgIT0gLTEgJiYgIGF0KHBhaW50 RW5kKS0+Yy5pc1NwYWNlKCkgKSB8fA0KKwkJI2lmZGVmIENIRUNLX1BJWEVM WEFESg0KKwkJICAgICAgICAgICAgbGFzdFhBZGogIT0gY2hyLT5waXhlbHhh ZGogfHwNCisJCSNlbmRpZg0KKwkJCSAgICBlbmRPZkxpbmUgfHwNCisJCQkg ICAgbGFzdERpcmVjdGlvbiAhPSAoYm9vbCljaHItPnJpZ2h0VG9MZWZ0IHx8 DQorCQkJICAgIGNoci0+c3RhcnRPZlJ1biB8fA0KKwkJCSAgICBsYXN0WSAh PSBjeSB8fCBjaHItPmZvcm1hdCgpICE9IGxhc3RGb3JtYXQgfHwNCisJCQkg ICAgKCBwYWludEVuZCAhPSAtMSAmJiBhdCggcGFpbnRFbmQgKS0+YyA9PSdc dCcgKSB8fCBjaHItPmMgPT0gJ1x0JyB8fA0KKwkJCSAgICAoIHBhaW50RW5k ICE9IC0xICYmIGF0KCBwYWludEVuZCApLT5jLnVuaWNvZGUoKSA9PSAweGFk ICkgfHwgY2hyLT5jLnVuaWNvZGUoKSA9PSAweGFkIHx8DQorCQkJICAgIHNl bGVjdGlvbkNoYW5nZSB8fCANCisJCQkgICAgY2hyLT5pc0N1c3RvbSgpIA0K KwkJCSAgICkgDQorCQkJICAgew0KKwkJDQorCQkJICAgaWYgKCBwYWludFN0 YXJ0IDw9IHBhaW50RW5kICkgew0KKwkJCQlpZiAoIGNoci0+aXNDdXN0b20o KSAmJiBjaHItPmN1c3RvbUl0ZW0oKS0+cGxhY2VtZW50KCkgPT0gS29UZXh0 Q3VzdG9tSXRlbTo6UGxhY2VJbmxpbmUgKSB7DQorCQkJCSAgICBxc3RyLnJl cGxhY2UoaSwxLCIgIik7DQorCQkJCX0NCisJDQorCSAgCQkgICAgZHJhd1Bh cmFnU3RyaW5nKCBteVBhaW50ZXIsIHFzdHIsIHBhaW50U3RhcnQsIHBhaW50 RW5kIC0gcGFpbnRTdGFydCArIDEsIHN0YXJ0WCwgbGFzdFksDQorCQkJCQkg bGFzdEJhc2VMaW5lLCBidywgbGFzdGgsIGRyYXdTZWxlY3Rpb25zLA0KKwkJ CQkJIGxhc3RGb3JtYXQsIGksIHNlbGVjdGlvblN0YXJ0cywgc2VsZWN0aW9u RW5kcywgY2csIGxhc3REaXJlY3Rpb24gKTsNCisJCQkgICAgfQ0KKwkJCSAg ICBpZiAoICFjaHItPmlzQ3VzdG9tKCkgKSB7DQorCQkJCXBhaW50U3RhcnQg PSBpOw0KKwkJCQlwYWludEVuZCA9IGk7DQorCQkJCWxhc3RGb3JtYXQgPSBj aHItPmZvcm1hdCgpOw0KKwkJCQlsYXN0WSA9IGN5Ow0KKwkJCQlzdGFydFgg PSBjaHItPng7DQorCQkJCWJ3ID0gY3c7DQorCQkJICAgIH0gZWxzZSB7DQor CQkJCWlmICggY2hyLT5jdXN0b21JdGVtKCktPnBsYWNlbWVudCgpID09IEtv VGV4dEN1c3RvbUl0ZW06OlBsYWNlSW5saW5lICkgew0KKwkJICAgICAgIAkg ICAgICAgICAgICBjaHItPmN1c3RvbUl0ZW0oKS0+ZHJhdyggJm15UGFpbnRl ciwgY2hyLT54LCBjeSArIGJhc2VMaW5lIC0gY2hyLT5jdXN0b21JdGVtKCkt PmFzY2VudCgpLCBjbGlweCAtIHIueCgpLCBjbGlweSAtIHIueSgpLCBjbGlw dywgY2xpcGgsIGNnLA0KKwkJCQkJCQkgICAgIGRyYXdTZWxlY3Rpb25zICYm IG5TZWxzICYmIHNlbGVjdGlvblN0YXJ0c1sgMCBdIDw9IGkgJiYgc2VsZWN0 aW9uRW5kc1sgMCBdID4gaSApOw0KKwkJCQkgICAgcGFpbnRTdGFydCA9IGkr MTsNCisJCQkJICAgIHBhaW50RW5kID0gLTE7DQorCQkJCSAgICBsYXN0Rm9y bWF0ID0gY2hyLT5mb3JtYXQoKTsNCisJCQkJICAgIGxhc3RZID0gY3k7DQor CQkJCSAgICBzdGFydFggPSBjaHItPnggKyBjaHItPndpZHRoOw0KKwkJCQkg ICAgYncgPSAwOw0KKwkJCQl9IGVsc2Ugew0KKwkJCQkgICAgY2hyLT5jdXN0 b21JdGVtKCktPnJlc2l6ZSggcG50ciwgY2hyLT5jdXN0b21JdGVtKCktPndp ZHRoICk7DQorCQkJCSAgICBwYWludFN0YXJ0ID0gaSsxOw0KKwkJCQkgICAg cGFpbnRFbmQgPSAtMTsNCisJCQkJICAgIGxhc3RGb3JtYXQgPSBjaHItPmZv cm1hdCgpOw0KKwkJCQkgICAgbGFzdFkgPSBjeTsNCisJCQkJICAgIHN0YXJ0 WCA9IGNoci0+eCArIGNoci0+d2lkdGg7DQorCQkJCSAgICBidyA9IDA7DQor CQkJCX0NCisJCQkgICAgfQ0KKwkJCX0gZWxzZSB7DQorCQkJICAgIGlmKCBj aHItPnJpZ2h0VG9MZWZ0ICkgew0KKwkJCQlzdGFydFggPSBjaHItPng7DQor CQkJICAgIH0NCisJCQkgICAgcGFpbnRFbmQgPSBpOw0KKwkJCSAgICBidyAr PSBjdzsNCisJCQl9DQorCQkJbGFzdEJhc2VMaW5lID0gYmFzZUxpbmU7DQor CQkJbGFzdGggPSBoOw0KKwkJCWxhc3REaXJlY3Rpb24gPSBjaHItPnJpZ2h0 VG9MZWZ0Ow0KKwkJI2lmZGVmIENIRUNLX1BJWEVMWEFESg0KKwkJICAgICAg ICBsYXN0WEFkaiA9IGNoci0+cGl4ZWx4YWRqOw0KKwkJI2VuZGlmDQorCQl9 IC8vIGVuZCBvZiBjaGFyZWN0ZXIgbG9vcA0KKw0KKwkJLy8gZHJhdyBpdCwg Yml0Y2ghDQorCQlteVBhaW50ZXIuZW5kKCk7DQorCQlwYWludGVyLmRyYXdQ aWN0dXJlKCpteVBpY3R1cmUpOw0KKw0KKwkJLy8gZnJlZSBhbnkgcGljdHVy ZSB0aGF0IHdlIGhhZCBmcm9tIGJlZm9yZQ0KKwkJaWYoIWNhY2hlRGF0YVts aW5lXS5jYWNoZWRQaWN0dXJlKQ0KKwkJCWZyZWUoY2FjaGVEYXRhW2xpbmVd LmNhY2hlZFBpY3R1cmUpOw0KKwkNCisJCWNhY2hlRGF0YVtsaW5lXS5jYWNo ZWRQaWN0dXJlPW15UGljdHVyZTsNCisJfQ0KKwllbHNlDQorCXsNCisJCXBh aW50ZXIuZHJhd1BpY3R1cmUoKihjYWNoZURhdGFbbGluZV0uY2FjaGVkUGlj dHVyZSkpOw0KIAl9DQotCWludCB4ID0gc3RhcnRYOw0KLQlkcmF3UGFyYWdT dHJpbmcoIHBhaW50ZXIsIHFzdHIsIHBhaW50U3RhcnQsIHBhaW50RW5kLXBh aW50U3RhcnQrMSwgeCwgbGFzdFksDQotCQkJIGxhc3RCYXNlTGluZSwgYncs IGgsIGRyYXdTZWxlY3Rpb25zLA0KLQkJCSBsYXN0Rm9ybWF0LCBpLCBzZWxl Y3Rpb25TdGFydHMsIHNlbGVjdGlvbkVuZHMsIGNnLCBsYXN0RGlyZWN0aW9u ICk7DQogICAgIH0NCiANCiAgICAgLy8gaWYgd2Ugc2hvdWxkIGRyYXcgYSBj dXJzb3IsIGRyYXcgaXQgbm93DQpkaWZmIC11ciAvYmlnaXNoL2tvZmZpY2Uv a29mZmljZS0xLjIuMS5vcmlnL2xpYi9rb3RleHQvcXJpY2h0ZXh0X3AuaCBr b3RleHQvcXJpY2h0ZXh0X3AuaA0KLS0tIC9iaWdpc2gva29mZmljZS9rb2Zm aWNlLTEuMi4xLm9yaWcvbGliL2tvdGV4dC9xcmljaHRleHRfcC5oCTIwMDIt MTAtMTkgMDI6NTk6MDkuMDAwMDAwMDAwICsxMDAwDQorKysga290ZXh0L3Fy aWNodGV4dF9wLmgJMjAwMy0wMy0yNyAwMjozMzo1Mi4wMDAwMDAwMDAgKzEx MDANCkBAIC02OCw2ICs2OCw3IEBADQogI2luY2x1ZGUgInFjb2xvci5oIg0K ICNpbmNsdWRlICJxc2l6ZS5oIg0KICNpbmNsdWRlICJxdmFsdWVsaXN0Lmgi DQorI2luY2x1ZGUgInF2YWx1ZXZlY3Rvci5oIg0KICNpbmNsdWRlICJxdmFs dWVzdGFjay5oIg0KICNpbmNsdWRlICJxb2JqZWN0LmgiDQogI2luY2x1ZGUg InFkaWN0LmgiDQpAQCAtODEsNiArODIsNyBAQA0KICNpbmNsdWRlIDxsaW1p dHMuaD4NCiAjaW5jbHVkZSAicWNvbXBsZXh0ZXh0X3AuaCINCiAjaW5jbHVk ZSAicWFwcGxpY2F0aW9uLmgiDQorI2luY2x1ZGUgInFwaWN0dXJlLmgiDQog I2VuZGlmIC8vIFFUX0gNCiANCiBjbGFzcyBLb1RleHRQYXJhZzsNCkBAIC0x MDgsNiArMTEwLDM0IEBADQogI2luY2x1ZGUgImtvcmljaHRleHQuaCINCiAv Ly8vDQogDQordHlwZWRlZiBzdHJ1Y3QNCit7DQorICAgLy8gY2xpcHBpbmcN CisgICBpbnQgY2xpcHg7DQorICAgaW50IGNsaXB5Ow0KKyAgIGludCBjbGlw dzsNCisgICBpbnQgY2xpcGg7DQorDQorICAgLy8gbGluZSBoZWlnaHQgYW5k IHBvc2l0aW9ucw0KKyAgIGludCBjeTsNCisgICBpbnQgaDsNCisNCisgICAv LyBsaW5lIGZsYWdzDQorICAgYm9vbCBkcmF3U2VsZWN0aW9uczsNCisgICBi b29sIHJpZ2h0VG9MZWZ0Ow0KKw0KKyAgIFFNZW1BcnJheTxpbnQ+IHNlbGVj dGlvbnM7DQorDQorICAgLy8gbGluZSBjb250ZW50cyBhbmQgZm9ybWF0dGlu Zw0KKyAgIFFTdHJpbmcgY29udGVudHM7DQorICAgS29UZXh0Rm9ybWF0ICps YXN0Rm9ybWF0Ow0KKw0KKyAgIC8vIGFuZCBmaW5hbGx5IHRoZSBwaWN0dXJl DQorICAgUVBpY3R1cmUgKmNhY2hlZFBpY3R1cmU7DQorfSBwYXJhZ0NhY2hl SW5mbzsNCisNCit0eXBlZGVmIFFWYWx1ZVZlY3RvcjxwYXJhZ0NhY2hlSW5m bz4gcGFyYWdDYWNoZVZlY3RvcjsNCisNCiAvLyArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysNCiANCiBjbGFzcyBRX0VYUE9S VCBLb1RleHRTdHJpbmdDaGFyDQpAQCAtMTQwMSw2ICsxNDMxLDkgQEANCiAg ICAgS29UZXh0RG9jQ29tbWFuZEhpc3RvcnkgKmNvbW1hbmRIaXN0b3J5Ow0K ICAgICBpbnQgbGlzdF92YWw7DQogICAgIFFDb2xvciAqYmdjb2w7DQorICAg IA0KKyAgICAvLyBpbmZvIGZvciByZWRyYXcgY2FjaGUNCisgICAgcGFyYWdD YWNoZVZlY3RvciBjYWNoZURhdGE7DQogfTsNCiANCiAvLyArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCg== ---2049898904-2119944447-1048905295=:6808-- _______________________________________________ koffice-devel mailing list koffice-devel@mail.kde.org http://mail.kde.org/mailman/listinfo/koffice-devel