--Boundary-00=_YpCoJtlNiXqxwlK Content-Type: text/plain Content-Transfer-Encoding: 7bit ---------- Forwarded Message ---------- Subject: ksplash blurry icon clipping fix Date: Saturday 21 February 2009 From: Roman Shtylman To: kde-devel@kde.org This is a fix for the icon clipping that happens when a user logs into their computer and is presented with the splash screen and icons fading in. Currently, they get clipped because of the way drawing was done in the past, this changed the drawing a bit to fix the clipping. ~Roman ------------------------------------------------------- --Boundary-00=_YpCoJtlNiXqxwlK Content-Type: text/x-diff; charset="us-ascii"; name="ksplash.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ksplash.patch" PT09IG1vZGlmaWVkIGZpbGUgJ2tzcGxhc2gva3NwbGFzaHgvcGl4bWFwLmgnCi0tLSBrc3BsYXNo L2tzcGxhc2h4L3BpeG1hcC5oCTIwMDktMDItMjEgMDY6MjQ6NDQgKzAwMDAKKysrIGtzcGxhc2gv a3NwbGFzaHgvcGl4bWFwLmgJMjAwOS0wMi0yMSAwNzoxODozNyArMDAwMApAQCAtNDgsNyArNDgs NyBAQAogCiAjaW5jbHVkZSAieDExX2RlZnMuaCIKIAotY2xhc3MgUUltYWdlOworI2luY2x1ZGUg InFpbWFnZS5oIgogCiBlbnVtIE9wdGltaXphdGlvbiB7IERlZmF1bHRPcHRpbSwgTm9PcHRpbSwg TWVtb3J5T3B0aW09Tm9PcHRpbSwKIAkJCU5vcm1hbE9wdGltLCBCZXN0T3B0aW0gfTsKQEAgLTYy LDYgKzYyLDcgQEAKICAgICBpbnQgZDsKICAgICBPcHRpbWl6YXRpb24gb3B0aW07CiAgICAgWElt YWdlKiB4aW1hZ2U7CisgICAgUUltYWdlIG9yaWc7CiAgICAgfTsKIAogY2xhc3MgUFAgOiBwdWJs aWMgUXQgLy8gaW5oZXJpdCBmcm9tIFF0IHRvIHJlZHVjZSBuZWVkZWQgY29kZSBjaGFuZ2VzIGlu IHRoZSBmdW5jdGlvbgoKPT09IG1vZGlmaWVkIGZpbGUgJ2tzcGxhc2gva3NwbGFzaHgvc3BsYXNo LmNwcCcKLS0tIGtzcGxhc2gva3NwbGFzaHgvc3BsYXNoLmNwcAkyMDA5LTAyLTIxIDA2OjI0OjQ0 ICswMDAwCisrKyBrc3BsYXNoL2tzcGxhc2h4L3NwbGFzaC5jcHAJMjAwOS0wMi0yMSAwNzo1Mjow OSArMDAwMApAQCAtNDU4LDcgKzQ1OCw3IEBACiAgICAgcmV0dXJuIGltZzsKICAgICB9CiAKLXN0 YXRpYyBQaXhtYXBEYXRhKiBpbWFnZUFuaW1Ub1BpeG1hcHMoIGNvbnN0IFFJbWFnZSYgaW1nLCBp bnQgZnJhbWVzICkKK3N0YXRpYyBQaXhtYXBEYXRhKiBpbWFnZUFuaW1Ub1BpeG1hcHMoIGNvbnN0 IFFJbWFnZSYgaW1nLCBjb25zdCBRSW1hZ2UmIG9yaWcsIGludCBmcmFtZXMgKQogICAgIHsKICAg ICBpZiggaW1nLmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTQ3OCw2ICs0Nzgs OSBAQAogICAgICAgICByZXRbIGZyYW1lIF0udyA9IGZyYW1ldzsKICAgICAgICAgcmV0WyBmcmFt ZSBdLmggPSBmcmFtZWg7CiAgICAgICAgIHJldFsgZnJhbWUgXS5kID0geDExRGVwdGgoKTsKKyAg ICAgICAgcmV0WyBmcmFtZSBdLm9yaWcgPSBvcmlnLmNvcHkoCisgICAgICAgICAgICAoIGZyYW1l ICUgQU5JTV9JTUFHRVNfUk9XICkgKiBmcmFtZXcsICggZnJhbWUgLyBBTklNX0lNQUdFU19ST1cg KSAqIGZyYW1laCwgZnJhbWV3LCBmcmFtZWgpOworICAgICAgICAKICAgICAgICAgfQogICAgIGlm KCBwaXguaGQgIT0gTm9uZSApCiAgICAgICAgIFhGcmVlUGl4bWFwKCBxdF94ZGlzcGxheSgpLCBw aXguaGQgKTsKQEAgLTUwOCwxMCArNTExLDQwIEBACiAgICAgICAgIGlmKCBhbmltICE9IE5VTEwK ICAgICAgICAgICAgICYmIGFyZWEuaW50ZXJzZWN0cyggUVJlY3QoIGFuaW0tPngsIGFuaW0tPnks IGZyYW1lLT53LCBmcmFtZS0+aCApKSkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgIFhDb3B5 QXJlYSggcXRfeGRpc3BsYXkoKSwgZnJhbWUtPmhkLCBwaXhtYXAsIGdjLAotICAgICAgICAgICAg ICAgIHFNYXgoIDAsIGFyZWEueCgpIC0gYW5pbS0+eCApLCBxTWF4KCAwLCBhcmVhLnkoKSAtIGFu aW0tPnkgKSwKLSAgICAgICAgICAgICAgICBhcmVhLngoKSAtIGFuaW0tPnggKyBhcmVhLndpZHRo KCksIGFyZWEueSgpIC0gYW5pbS0+eSArIGFyZWEuaGVpZ2h0KCksCi0gICAgICAgICAgICAgICAg cU1heCggMCwgYW5pbS0+eCAtIGFyZWEueCgpKSwgcU1heCggMCwgYW5pbS0+eSAtIGFyZWEueSgp KSk7CisgICAgICAgICAgICAgICAgUVJlY3QgcmVjdCA9IGFyZWEuaW50ZXJzZWN0KFFSZWN0KCBh bmltLT54LCBhbmltLT55LCBmcmFtZS0+dywgZnJhbWUtPmgpKTsKKyAgICAgICAgICAgICAgICBy ZWN0Lm1vdmVCeSgtYXJlYS54KCksIC1hcmVhLnkoKSk7CisgICAgICAgICAgICAgICAgCisgICAg ICAgICAgICAgICAgY29uc3QgaW50IHcgPSByZWN0LndpZHRoKCk7CisgICAgICAgICAgICAgICAg Y29uc3QgaW50IGggPSByZWN0LmhlaWdodCgpOworICAgICAgICAgICAgICAgIAorICAgICAgICAg ICAgICAgIFhJbWFnZSogaW1nID0gWEdldEltYWdlKHF0X3hkaXNwbGF5KCksIHBpeG1hcCwgcmVj dC54KCksIHJlY3QueSgpLCB3LCBoLCBBbGxQbGFuZXMsIFpQaXhtYXApOworICAgICAgICAgICAg ICAgIAorICAgICAgICAgICAgICAgIGNvbnN0IGludCBoX29mZiA9IGZyYW1lLT53IC0gdzsKKyAg ICAgICAgICAgICAgICBpbnQgdl9vZmYgPSBmcmFtZS0+aCAtIGg7CisgICAgICAgICAgICAgICAg CisgICAgICAgICAgICAgICAgUVJnYiogYmcgPSAoUVJnYiopKGltZy0+ZGF0YSk7CisgICAgICAg ICAgICAgICAgUVJnYiogZmcgPSAoUVJnYiopZnJhbWUtPm9yaWcuYml0cygpOworICAgICAgICAg ICAgICAgIGZnICs9IHZfb2ZmICogZnJhbWUtPnc7CisgICAgICAgICAgICAgICAgZm9yIChpbnQg eT0wIDsgeTxoIDsgKyt5KQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg aWYgKGFuaW0tPnggPCBhcmVhLngoKSkKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAg ICAgICAgICAgICAgICAgZmcgKz0gaF9vZmY7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg ICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIGZvciAoaW50IHg9MDsgeDx3IDsg Kyt4LCArK2ZnLCArK2JnKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg ICAgICAgICAqYmcgPSBibGVuZCgqZmcsICpiZyk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAg ICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIGlmIChhbmltLT54ID4gYXJl YS54KCkpCisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZn ICs9IGhfb2ZmOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAg ICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIFhQdXRJbWFnZShxdF94ZGlzcGxheSgpLCBw aXhtYXAsIGdjLCBpbWcsIDAsIDAsIHJlY3QubGVmdCgpLCByZWN0LnRvcCgpLCB3LCBoKTsKKyAg ICAgICAgICAgICAgICBYRGVzdHJveUltYWdlKGltZyk7CiAgICAgICAgICAgICB9CiAgICAgICAg IH0KICAgICBYQ29weUFyZWEoIHF0X3hkaXNwbGF5KCksIHBpeG1hcCwgd2luZG93LCBnYywgMCwg MCwgYXJlYS53aWR0aCgpLCBhcmVhLmhlaWdodCgpLCBhcmVhLngoKSwgYXJlYS55KCkpOwpAQCAt NTYxLDcgKzU5NCw3IEBACiAgICAgICAgIGZwcmludGYoIHN0ZGVyciwgIk5vIHdpbmRvdyBjb250 ZW50c1xuIiApOwogICAgICAgICBleGl0KCAzICk7CiAgICAgICAgIH0KLSAgICB0aW1lX3QgdGVz dF90aW1lID0gdGltZSggTlVMTCApICsgMjsKKyAgICB0aW1lX3QgdGVzdF90aW1lID0gdGltZSgg TlVMTCApICsgMTsKICNpZmRlZiBERUJVRwogICAgIGZwcmludGYoIHN0ZGVyciwiQVdBVElORyBT VEFURTogJWQgKCVzKVxuIiwgZXhwZWN0ZWRfc3RhdGUsIHN0YXRlc1sgZXhwZWN0ZWRfc3RhdGUg XSApOwogI2VuZGlmCkBAIC02MjQsNyArNjU3LDcgQEAKICAgICAgICAgaWYoIHRlc3QgJiYgdGlt ZSggTlVMTCApID49IHRlc3RfdGltZSApCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICArK3N0 YXRlOwotICAgICAgICAgICAgdGVzdF90aW1lID0gdGltZSggTlVMTCApICsgMjsKKyAgICAgICAg ICAgIHRlc3RfdGltZSA9IHRpbWUoIE5VTEwgKSArIDE7CiAgICAgICAgICAgICB9CiAgICAgICAg IGlmKCBleHBlY3RlZF9zdGF0ZSA8PSBzdGF0ZSApCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7 CkBAIC03MjMsMTUgKzc1Niw2IEBACiAgICAgcmV0dXJuIG1ha2VBYnNvbHV0ZSggc2NyZWVuX3Jl ZlsgMSBdLCB5X3JlbCwgaW1hZ2VfcmVmWyAxIF0sIGhlaWdodCwgZ2VvbWV0cnkuaGVpZ2h0KCkp OwogICAgIH0KIAotc3RhdGljIGlubGluZSBRUmdiIGJsZW5kKCBRUmdiIGMsIFFSZ2IgYmFja2dy b3VuZCApCi0gICAgewotICAgIGlmKCBxQWxwaGEoIGMgKSA9PSAyNTUgKQotICAgICAgICByZXR1 cm4gYzsKLSAgICByZXR1cm4gcVJnYiggKCBxUmVkKCBiYWNrZ3JvdW5kICkgKiAoIDI1NSAtIHFB bHBoYSggYyApICkgKyBxUmVkKCBjICkgKiBxQWxwaGEoIGMgKSApIC8gMjU1LAotICAgICAgICAg ICAgICAgICAoIHFHcmVlbiggYmFja2dyb3VuZCApICogKCAyNTUgLSBxQWxwaGEoIGMgKSApICsg cUdyZWVuKCBjICkgKiBxQWxwaGEoIGMgKSApIC8gMjU1LAotICAgICAgICAgICAgICAgICAoIHFC bHVlKCBiYWNrZ3JvdW5kICkgKiAoIDI1NSAtIHFBbHBoYSggYyApICkgKyBxQmx1ZSggYyApICog cUFscGhhKCBjICkgKSAvIDI1NSApOwotICAgIH0KLQogc3RhdGljIHZvaWQgYmxlbmQoIFFJbWFn ZSYgaW1nLCBpbnQgeF9wb3MsIGludCB5X3BvcywgaW50IHhfaW1nLCBpbnQgeV9pbWcsIGludCB3 X2ltZywgaW50IGhfaW1nICkKICAgICB7CiAgICAgaWYoICFpbWcuaGFzQWxwaGFCdWZmZXIoKSkK QEAgLTExMTUsMTAgKzExMzksMTEgQEAKICAgICAgICAgICAgIGlmKCBzcGxhc2hfaW1hZ2UuaXNO dWxsKCkpCiAgICAgICAgICAgICAgICAgY3JlYXRlU3BsYXNoSW1hZ2UoKTsKICAgICAgICAgICAg IFFJbWFnZSBpbWdzID0gbG9hZEFuaW1JbWFnZSggYnVmLCBmcmFtZXMgKTsKKyAgICAgICAgICAg IFFJbWFnZSBvcmlncyA9IGxvYWRBbmltSW1hZ2UoIGJ1ZiwgZnJhbWVzICk7CiAgICAgICAgICAg ICBpZiggIWltZ3MuaXNOdWxsKCkpCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg IGJsZW5kQW5pbSggaW1ncywgeCwgeSwgZnJhbWVzICk7Ci0gICAgICAgICAgICAgICAgUGl4bWFw RGF0YSogcGl4cyA9IGltYWdlQW5pbVRvUGl4bWFwcyggaW1ncywgZnJhbWVzICk7CisgICAgICAg ICAgICAgICAgUGl4bWFwRGF0YSogcGl4cyA9IGltYWdlQW5pbVRvUGl4bWFwcyggaW1ncywgb3Jp Z3MsIGZyYW1lcyApOwogICAgICAgICAgICAgICAgIGRlbGV0ZSBhbmltYXRpb25zWyBudW1iZXIg XTsKICAgICAgICAgICAgICAgICBhbmltYXRpb25zWyBudW1iZXIgXSA9IG5ldyBBbmltRGF0YSgg eCwgeSwgcGl4cywgZnJhbWVzLCBkZWxheSwgcmVwZWF0ICk7CiAgICAgICAgICAgICAgICAgfQpA QCAtMTE1NCw2ICsxMTc5LDcgQEAKICAgICAgICAgICAgIGlmKCBzcGxhc2hfaW1hZ2UuaXNOdWxs KCkpCiAgICAgICAgICAgICAgICAgY3JlYXRlU3BsYXNoSW1hZ2UoKTsKICAgICAgICAgICAgIFFJ bWFnZSBpbWdzID0gbG9hZEFuaW1JbWFnZSggYnVmLCBmcmFtZXMgKTsKKyAgICAgICAgICAgIFFJ bWFnZSBvcmlncyA9IGxvYWRBbmltSW1hZ2UoIGJ1ZiwgZnJhbWVzICk7CiAgICAgICAgICAgICBp ZiggIWltZ3MuaXNOdWxsKCkpCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGlu dCBmcmFtZXcsIGZyYW1laDsKQEAgLTExNjEsNyArMTE4Nyw3IEBACiAgICAgICAgICAgICAgICAg eCA9IG1ha2VBYnNvbHV0ZVgoIHdpbmRvd19yZWYsIHhfcmVsLCBpbWFnZV9yZWYsIGZyYW1ldyAp OwogICAgICAgICAgICAgICAgIHkgPSBtYWtlQWJzb2x1dGVZKCB3aW5kb3dfcmVmLCB5X3JlbCwg aW1hZ2VfcmVmLCBmcmFtZWggKTsKICAgICAgICAgICAgICAgICBibGVuZEFuaW0oIGltZ3MsIHgs IHksIGZyYW1lcyApOwotICAgICAgICAgICAgICAgIFBpeG1hcERhdGEqIHBpeHMgPSBpbWFnZUFu aW1Ub1BpeG1hcHMoIGltZ3MsIGZyYW1lcyApOworICAgICAgICAgICAgICAgIFBpeG1hcERhdGEq IHBpeHMgPSBpbWFnZUFuaW1Ub1BpeG1hcHMoIGltZ3MsIG9yaWdzLCBmcmFtZXMgKTsKICAgICAg ICAgICAgICAgICBkZWxldGUgYW5pbWF0aW9uc1sgbnVtYmVyIF07CiAgICAgICAgICAgICAgICAg YW5pbWF0aW9uc1sgbnVtYmVyIF0gPSBuZXcgQW5pbURhdGEoIHgsIHksIHBpeHMsIGZyYW1lcywg ZGVsYXksIHJlcGVhdCApOwogICAgICAgICAgICAgICAgIH0KCj09PSBtb2RpZmllZCBmaWxlICdr c3BsYXNoL2tzcGxhc2h4L3NwbGFzaC5oJwotLS0ga3NwbGFzaC9rc3BsYXNoeC9zcGxhc2guaAky MDA5LTAyLTIxIDA2OjI0OjQ0ICswMDAwCisrKyBrc3BsYXNoL2tzcGxhc2h4L3NwbGFzaC5oCTIw MDktMDItMjEgMDc6MTk6MDggKzAwMDAKQEAgLTIyLDYgKzIyLDE2IEBACiAjZGVmaW5lIF9TUExB U0hfSAogCiAjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlICJxY29sb3IuaCIKKworc3RhdGlj IGlubGluZSBRUmdiIGJsZW5kKGNvbnN0IFFSZ2ImIGMsIGNvbnN0IFFSZ2ImIGJhY2tncm91bmQg KQoreworICAgIGlmKCBxQWxwaGEoIGMgKSA9PSAyNTUgKQorICAgICAgICByZXR1cm4gYzsKKyAg ICByZXR1cm4gcVJnYiggKCBxUmVkKCBiYWNrZ3JvdW5kICkgKiAoIDI1NSAtIHFBbHBoYSggYyAp ICkgKyBxUmVkKCBjICkgKiBxQWxwaGEoIGMgKSApIC8gMjU1LAorICAgICAgICAgICAgICAgICAo IHFHcmVlbiggYmFja2dyb3VuZCApICogKCAyNTUgLSBxQWxwaGEoIGMgKSApICsgcUdyZWVuKCBj ICkgKiBxQWxwaGEoIGMgKSApIC8gMjU1LAorICAgICAgICAgICAgICAgICAoIHFCbHVlKCBiYWNr Z3JvdW5kICkgKiAoIDI1NSAtIHFBbHBoYSggYyApICkgKyBxQmx1ZSggYyApICogcUFscGhhKCBj ICkgKSAvIDI1NSApOworfQogCiB2b2lkIHJ1blNwbGFzaCggY29uc3QgY2hhciogdGhlbWUsIGJv b2wgdGVzdCwgaW50IHBpcGUgKTsKIAoK --Boundary-00=_YpCoJtlNiXqxwlK--