This is a multi-part message in MIME format. --------------020501010208040402030408 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Hi, I have a small patch here which fixes a problem I recently got aware of: if you try to make a regsvr32 kdecore.dll it will fail saying that LoadLibrary was not achieved (simply try it). The correct error message would have been a missing entrypoint for DllRegisterServer though. After searching for quite a while I found the problem: When you load kdecore linked to an executable, the image will be located at the address 0x0040000. When you load kdecore directly via regsvr32, the image will have the address 0x10000000 (0x1 0x0) instead. When trying to read from the first one then you will obviously get a "crash". As I am unable to find out where our image is (this is the address of the HINSTANCE parameter in the DllMain) as the constructor of the static class will be called before running the DllMain, I have now changed it so that the code will be called from the DllMain with the parameter. As this patch might change the behaviour of your debug output, please check if it works for you | comment it. regards, Patrick -- web: http://windows.kde.org mailing list: kde-windows@kde.org irc: #kde-windows (irc.freenode.net) --------------020501010208040402030408 Content-Type: text/x-patch; name="0151-kdecore-loadLibraryProof.diff" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="0151-kdecore-loadLibraryProof.diff" SW5kZXg6IGtkZWNvcmUva2VybmVsL2trZXJuZWxfd2luLmNwcA0KPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K LS0tIGtkZWNvcmUva2VybmVsL2trZXJuZWxfd2luLmNwcAkocmV2aXNpb24gOTQyODg5KQ0K KysrIGtkZWNvcmUva2VybmVsL2trZXJuZWxfd2luLmNwcAkod29ya2luZyBjb3B5KQ0KQEAg LTkwLDYgKzkwLDcwIEBADQogICByZXR1cm4ga2RlNFByZWZpeCA/ICprZGU0UHJlZml4IDog UVN0cmluZzo6ZnJvbVV0ZjE2KCh1c2hvcnQqKSBrZGU0cHJlZml4VXRmMTYpOwogfQogCisj aW5jbHVkZSA8c3RyZWFtYnVmPgorCisvKiogCisgIGlvcyByZWxhdGVkIGRlYnVnIG1lc3Nh Z2UgcHJpbnRlciBmb3Igd2luMzIKKyovCitjbGFzcyBkZWJ1Z19zdHJlYW1idWY6IHB1Ymxp YyBzdGQ6OnN0cmVhbWJ1ZgoreworICAgIHB1YmxpYzoKKyAgICAgICAgZGVidWdfc3RyZWFt YnVmKGNoYXIgKnByZWZpeCkKKyAgICAgICAgeworICAgICAgICAgICAgc3RyY3B5KGJ1Zixw cmVmaXgpOworICAgICAgICAgICAgaW5kZXggPSByaW5kZXggPSBzdHJsZW4oYnVmKTsKKyAg ICAgICAgfQorCisgICAgcHJvdGVjdGVkOgorICAgICAgICB2aXJ0dWFsIGludCBvdmVyZmxv dyhpbnQgYyA9IEVPRikKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKGMgIT0gRU9GKQor ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNoYXIgY2MgPSB0cmFpdHNfdHlwZTo6 dG9fY2hhcl90eXBlKGMpOworICAgICAgICAgICAgICAgIC8vIEBUT0RPOiBidWZmZXIgc2l6 ZSBjaGVja2luZworICAgICAgICAgICAgICAgIGJ1ZltpbmRleCsrXSA9IGNjOworICAgICAg ICAgICAgICAgIGlmIChjYyA9PSAnXG4nKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAg ICAgICAgICAgICAgYnVmW2luZGV4XSA9ICdcMCc7CisgICAgICAgICAgICAgICAgICAgIE91 dHB1dERlYnVnU3RyaW5nQSgoTFBDU1RSKWJ1Zik7CisgICAgICAgICAgICAgICAgICAgIGlu ZGV4ID0gcmluZGV4OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAg ICAgICAgIHJldHVybiB0cmFpdHNfdHlwZTo6bm90X2VvZihjKTsKKyAgICAgICAgfQorICAg IHByaXZhdGU6CisgICAgICAgIGNoYXIgYnVmWzQwOTZdOworICAgICAgICBpbnQgaW5kZXgs IHJpbmRleDsKK307CisKK3N0YXRpYyBjbGFzcyBrTWVzc2FnZU91dHB1dEluc3RhbGxlciB7 CisgICAgcHVibGljOgorICAgICAgICBrTWVzc2FnZU91dHB1dEluc3RhbGxlcigpIAorICAg ICAgICAgICAgOiBzdGRvdXRCdWZmZXIoInN0ZG91dDoiKQorICAgICAgICAgICAgLCBzdGRl cnJCdWZmZXIoInN0ZGVycjoiKQorICAgICAgICAgICAgLCBvbGRTdGRvdXRCdWZmZXIoMCkK KyAgICAgICAgICAgICwgb2xkU3RkZXJyQnVmZmVyKDApCisgICAgICAgIHsKKyAgICAgICAg fQorCisgICAgICAgIH5rTWVzc2FnZU91dHB1dEluc3RhbGxlcigpCisgICAgICAgIHsKKyAg ICAgICAgICAgIGlmIChvbGRTdGRvdXRCdWZmZXIpIAorICAgICAgICAgICAgICAgIHN0ZDo6 Y291dC5yZGJ1ZihvbGRTdGRvdXRCdWZmZXIpOworICAgICAgICAgICAgaWYgKG9sZFN0ZGVy ckJ1ZmZlcikgCisgICAgICAgICAgICAgICAgc3RkOjpjZXJyLnJkYnVmKG9sZFN0ZGVyckJ1 ZmZlcik7CisgICAgICAgIH0KKyAgICAKKyAgICAgICAgdm9pZCByZWdpc3RlckhhbmRsZXIo SElOU1RBTkNFIGhJbnN0KTsKKworICAgIHByaXZhdGU6CisgICAgICAgIGRlYnVnX3N0cmVh bWJ1ZiBzdGRvdXRCdWZmZXI7CisgICAgICAgIGRlYnVnX3N0cmVhbWJ1ZiBzdGRlcnJCdWZm ZXI7CisgICAgICAgIHN0ZDo6c3RyZWFtYnVmKiBvbGRTdGRvdXRCdWZmZXI7CisgICAgICAg IHN0ZDo6c3RyZWFtYnVmKiBvbGRTdGRlcnJCdWZmZXI7CisKK30ga01lc3NhZ2VPdXRwdXRJ bnN0YWxsZXJJbnN0YW5jZTsKKwogLyoqCiAgKiBUaGUgZGxsIGVudHJ5IHBvaW50IC0gZ2V0 IHRoZSBpbnN0YW5jZSBoYW5kbGUgZm9yIEdldE1vZHVsZUZsZU5hbWVXCiAgKiBNYXliZSBh bHNvIHNvbWUgc3BlY2lhbCBpbml0aWFsaXphdGlvbiAvIGNsZWFudXAgY2FuIGJlIGRvbmUg aGVyZQpAQCAtOTksNiArMTYzLDcgQEANCiB7CiAgICAgc3dpdGNoICggZmR3UmVhc29uICkg ewogICAgIGNhc2UgRExMX1BST0NFU1NfQVRUQUNIOgorICAgICAgICBrTWVzc2FnZU91dHB1 dEluc3RhbGxlckluc3RhbmNlLnJlZ2lzdGVySGFuZGxlcihoaW5zdERMTCk7CiAgICAgICAg IGtkZWNvcmVEbGxJbnN0YW5jZSA9IGhpbnN0RExMOwogICAgICAgICBpbml0S2RlNHByZWZp eFV0ZjE2KCk7CiAgICAgICAgIGtkZTRQcmVmaXggPSBuZXcgUVN0cmluZyggUVN0cmluZzo6 ZnJvbVV0ZjE2KCh1c2hvcnQqKSBrZGU0cHJlZml4VXRmMTYpICk7CkBAIC0zMDIsNTMgKzM2 NywxNyBAQA0KICAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbygpOwogfQogCi0jaW5jbHVkZSA8 c3RyZWFtYnVmPgotCi0vKiogCi0gIGlvcyByZWxhdGVkIGRlYnVnIG1lc3NhZ2UgcHJpbnRl ciBmb3Igd2luMzIKLSovCi1jbGFzcyBkZWJ1Z19zdHJlYW1idWY6IHB1YmxpYyBzdGQ6OnN0 cmVhbWJ1ZgotewotICAgIHB1YmxpYzoKLSAgICAgICAgZGVidWdfc3RyZWFtYnVmKGNoYXIg KnByZWZpeCkKLSAgICAgICAgewotICAgICAgICAgICAgc3RyY3B5KGJ1ZixwcmVmaXgpOwot ICAgICAgICAgICAgaW5kZXggPSByaW5kZXggPSBzdHJsZW4oYnVmKTsKLSAgICAgICAgfQot Ci0gICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGludCBvdmVyZmxvdyhpbnQgYyA9 IEVPRikKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGMgIT0gRU9GKQotICAgICAgICAg ICAgewotICAgICAgICAgICAgICAgIGNoYXIgY2MgPSB0cmFpdHNfdHlwZTo6dG9fY2hhcl90 eXBlKGMpOwotICAgICAgICAgICAgICAgIC8vIEBUT0RPOiBidWZmZXIgc2l6ZSBjaGVja2lu ZwotICAgICAgICAgICAgICAgIGJ1ZltpbmRleCsrXSA9IGNjOwotICAgICAgICAgICAgICAg IGlmIChjYyA9PSAnXG4nKQotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAg ICAgYnVmW2luZGV4XSA9ICdcMCc7Ci0gICAgICAgICAgICAgICAgICAgIE91dHB1dERlYnVn U3RyaW5nQSgoTFBDU1RSKWJ1Zik7Ci0gICAgICAgICAgICAgICAgICAgIGluZGV4ID0gcmlu ZGV4OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJl dHVybiB0cmFpdHNfdHlwZTo6bm90X2VvZihjKTsKLSAgICAgICAgfQotICAgIHByaXZhdGU6 Ci0gICAgICAgIGNoYXIgYnVmWzQwOTZdOwotICAgICAgICBpbnQgaW5kZXgsIHJpbmRleDsK LX07Ci0KIC8qKgogICByZXRyaWV2ZSB0eXBlIG9mIHdpbjMyIHN1YnN5c3RlbSBmcm9tIHRo ZSBleGVjdXRhYmxlIGhlYWRlciAKICAgXHJldHVybiB0eXBlIG9mIHdpbjMyIHN1YnN5c3Rl bSAtIHRoZSBzdWJzeXN0ZW0gdHlwZXMgYXJlIGRlZmluZWQgYXQgaHR0cDovL21zZG4ubWlj cm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L21zNjgwMzM5KFZTLjg1KS5hc3B4IAogKi8KLXN0 YXRpYyBpbnQgc3ViU3lzdGVtKCkKK3N0YXRpYyBpbnQgc3ViU3lzdGVtKEhJTlNUQU5DRSBo SW5zdCkKIHsKICAgICBzdGF0aWMgaW50IHN1YlN5c3RlbSA9IC0xOwogICAgIGlmIChzdWJT eXN0ZW0gPiAtMSkKICAgICAgICAgcmV0dXJuIHN1YlN5c3RlbTsgCiAKLSAgICBQSU1BR0Vf RE9TX0hFQURFUiBkb3NIZWFkZXIgPSAoUElNQUdFX0RPU19IRUFERVIpMHgwMDQwMDAwMDsK KyAgICBQSU1BR0VfRE9TX0hFQURFUiBkb3NIZWFkZXIgPSAoUElNQUdFX0RPU19IRUFERVIp aEluc3Q7CiAgICAgUElNQUdFX05UX0hFQURFUlMgbnRIZWFkZXIgPSAoUElNQUdFX05UX0hF QURFUlMpICgoY2hhciAqKWRvc0hlYWRlciArIGRvc0hlYWRlci0+ZV9sZmFuZXcpOwogICAg IGlmIChudEhlYWRlci0+U2lnbmF0dXJlICE9IDB4MDAwMDQ1NTApIAogICAgIHsKQEAgLTM4 NSw1OSArNDE0LDQxIEBADQogLyoqCiAgc2V0dXAgdXAgZGVidWcgb3V0cHV0IAogKi8gCi1z dGF0aWMgY2xhc3Mga01lc3NhZ2VPdXRwdXRJbnN0YWxsZXIgewotICAgIHB1YmxpYzoKLSAg ICAgICAga01lc3NhZ2VPdXRwdXRJbnN0YWxsZXIoKSA6IHN0ZG91dEJ1ZmZlcigic3Rkb3V0 OiIpLCBzdGRlcnJCdWZmZXIoInN0ZGVycjoiKSwgb2xkU3Rkb3V0QnVmZmVyKDApLCBvbGRT dGRlcnJCdWZmZXIoMCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKHN1YlN5c3RlbSgp ID09IElNQUdFX1NVQlNZU1RFTV9XSU5ET1dTX0NVSSkgewotICAgICAgICAgICAgICAgIGlm IChhdHRhY2hUb0NvbnNvbGUoKSkgewotICAgICAgICAgICAgICAgICAgICAvLyBzZXR1cCBr ZGUgYW5kIHF0IGxldmVsIAotICAgICAgICAgICAgICAgICAgICBxSW5zdGFsbE1zZ0hhbmRs ZXIoa01lc3NhZ2VPdXRwdXRGaWxlSU8pOwotICAgICAgICAgICAgICAgICAgICAvLyByZWRp cmVjdCBpb3MgYW5kIGZpbGUgaW8gdG8gY29uc29sZQotICAgICAgICAgICAgICAgICAgICBy ZWRpcmVjdFRvQ29uc29sZSgpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg ICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgLy8gc2V0dXAga2RlIGFuZCBxdCBsZXZl bCAKLSAgICAgICAgICAgICAgICAgICAgcUluc3RhbGxNc2dIYW5kbGVyKGtNZXNzYWdlT3V0 cHV0RGVidWdTdHJpbmcpOwotICAgICAgICAgICAgICAgICAgICAvLyByZWRpcmVjdCBpb3Mg dG8gZGVidWcgbWVzc2FnZSBwb3J0IAotICAgICAgICAgICAgICAgICAgICBvbGRTdGRvdXRC dWZmZXIgPSBzdGQ6OmNvdXQucmRidWYoJnN0ZG91dEJ1ZmZlcik7Ci0gICAgICAgICAgICAg ICAgICAgIG9sZFN0ZGVyckJ1ZmZlciA9IHN0ZDo6Y2Vyci5yZGJ1Zigmc3RkZXJyQnVmZmVy KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNl IGlmIChzdWJTeXN0ZW0oKSA9PSBJTUFHRV9TVUJTWVNURU1fV0lORE9XU19HVUkpIHsKLSAg ICAgICAgICAgICAgICAvLyBzZXR1cCBrZGUgYW5kIHF0IGxldmVsIAotICAgICAgICAgICAg ICAgIHFJbnN0YWxsTXNnSGFuZGxlcihrTWVzc2FnZU91dHB1dERlYnVnU3RyaW5nKTsKLSAg ICAgICAgICAgICAgICAvLyB0cnkgdG8gZ2V0IGEgY29uc29sZQotICAgICAgICAgICAgICAg IGlmIChhdHRhY2hUb0NvbnNvbGUoKSkgewotICAgICAgICAgICAgICAgICAgICByZWRpcmVj dFRvQ29uc29sZSgpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNl IHsKLSAgICAgICAgICAgICAgICAgICAgLy8gcmVkaXJlY3QgaW9zIHRvIGRlYnVnIG1lc3Nh Z2UgcG9ydAotICAgICAgICAgICAgICAgICAgICBvbGRTdGRvdXRCdWZmZXIgPSBzdGQ6OmNv dXQucmRidWYoJnN0ZG91dEJ1ZmZlcik7Ci0gICAgICAgICAgICAgICAgICAgIG9sZFN0ZGVy ckJ1ZmZlciA9IHN0ZDo6Y2Vyci5yZGJ1Zigmc3RkZXJyQnVmZmVyKTsKLSAgICAgICAgICAg ICAgICAgICAgLy8gVE9ETzogcmVkaXJlY3QgRklMRSAqIGxldmVsIHRvIGNvbnNvbGUsIG5v IGlkZWEgaG93IHRvIGRvIHlldAotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0K LSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBxV2FybmluZygidW5rbm93biBz dWJzeXN0ZW0gJWQgZGV0ZWN0ZWQsIGNvdWxkIG5vdCBzZXR1cCBxdCBtZXNzYWdlIGhhbmRs ZXIiLHN1YlN5c3RlbSgpKTsKK3ZvaWQga01lc3NhZ2VPdXRwdXRJbnN0YWxsZXI6OnJlZ2lz dGVySGFuZGxlcihISU5TVEFOQ0UgaEluc3QpCit7CisgICAgaWYgKHN1YlN5c3RlbShoSW5z dCkgPT0gSU1BR0VfU1VCU1lTVEVNX1dJTkRPV1NfQ1VJKSB7CisgICAgICAgIGlmIChhdHRh Y2hUb0NvbnNvbGUoKSkgeworICAgICAgICAgICAgLy8gc2V0dXAga2RlIGFuZCBxdCBsZXZl bCAKKyAgICAgICAgICAgIHFJbnN0YWxsTXNnSGFuZGxlcihrTWVzc2FnZU91dHB1dEZpbGVJ Tyk7CisgICAgICAgICAgICAvLyByZWRpcmVjdCBpb3MgYW5kIGZpbGUgaW8gdG8gY29uc29s ZQorICAgICAgICAgICAgcmVkaXJlY3RUb0NvbnNvbGUoKTsKICAgICAgICAgfQotICAgICAg ICB+a01lc3NhZ2VPdXRwdXRJbnN0YWxsZXIoKQotICAgICAgICB7Ci0gICAgICAgICAgICBp ZiAob2xkU3Rkb3V0QnVmZmVyKSAKLSAgICAgICAgICAgICAgICBzdGQ6OmNvdXQucmRidWYo b2xkU3Rkb3V0QnVmZmVyKTsKLSAgICAgICAgICAgIGlmIChvbGRTdGRlcnJCdWZmZXIpIAot ICAgICAgICAgICAgICAgIHN0ZDo6Y2Vyci5yZGJ1ZihvbGRTdGRlcnJCdWZmZXIpOworICAg ICAgICBlbHNlIHsKKyAgICAgICAgICAgIC8vIHNldHVwIGtkZSBhbmQgcXQgbGV2ZWwgCisg ICAgICAgICAgICBxSW5zdGFsbE1zZ0hhbmRsZXIoa01lc3NhZ2VPdXRwdXREZWJ1Z1N0cmlu Zyk7CisgICAgICAgICAgICAvLyByZWRpcmVjdCBpb3MgdG8gZGVidWcgbWVzc2FnZSBwb3J0 IAorICAgICAgICAgICAgb2xkU3Rkb3V0QnVmZmVyID0gc3RkOjpjb3V0LnJkYnVmKCZzdGRv dXRCdWZmZXIpOworICAgICAgICAgICAgb2xkU3RkZXJyQnVmZmVyID0gc3RkOjpjZXJyLnJk YnVmKCZzdGRlcnJCdWZmZXIpOwogICAgICAgICB9Ci0gICAgCi0gICAgcHJpdmF0ZToKLSAg ICAgICAgZGVidWdfc3RyZWFtYnVmIHN0ZG91dEJ1ZmZlcjsKLSAgICAgICAgZGVidWdfc3Ry ZWFtYnVmIHN0ZGVyckJ1ZmZlcjsKLSAgICAgICAgc3RkOjpzdHJlYW1idWYqIG9sZFN0ZG91 dEJ1ZmZlcjsKLSAgICAgICAgc3RkOjpzdHJlYW1idWYqIG9sZFN0ZGVyckJ1ZmZlcjsKKyAg ICB9CisgICAgZWxzZSBpZiAoc3ViU3lzdGVtKGhJbnN0KSA9PSBJTUFHRV9TVUJTWVNURU1f V0lORE9XU19HVUkpIHsKKyAgICAgICAgLy8gc2V0dXAga2RlIGFuZCBxdCBsZXZlbCAKKyAg ICAgICAgcUluc3RhbGxNc2dIYW5kbGVyKGtNZXNzYWdlT3V0cHV0RGVidWdTdHJpbmcpOwor ICAgICAgICAvLyB0cnkgdG8gZ2V0IGEgY29uc29sZQorICAgICAgICBpZiAoYXR0YWNoVG9D b25zb2xlKCkpIHsKKyAgICAgICAgICAgIHJlZGlyZWN0VG9Db25zb2xlKCk7CisgICAgICAg IH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAvLyByZWRpcmVjdCBpb3MgdG8gZGVi dWcgbWVzc2FnZSBwb3J0CisgICAgICAgICAgICBvbGRTdGRvdXRCdWZmZXIgPSBzdGQ6OmNv dXQucmRidWYoJnN0ZG91dEJ1ZmZlcik7CisgICAgICAgICAgICBvbGRTdGRlcnJCdWZmZXIg PSBzdGQ6OmNlcnIucmRidWYoJnN0ZGVyckJ1ZmZlcik7CisgICAgICAgICAgICAvLyBUT0RP OiByZWRpcmVjdCBGSUxFICogbGV2ZWwgdG8gY29uc29sZSwgbm8gaWRlYSBob3cgdG8gZG8g eWV0CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZQorICAgICAgICBxV2FybmluZygidW5r bm93biBzdWJzeXN0ZW0gJWQgZGV0ZWN0ZWQsIGNvdWxkIG5vdCBzZXR1cCBxdCBtZXNzYWdl IGhhbmRsZXIiLHN1YlN5c3RlbShoSW5zdCkpOworfQogCi19IGtNZXNzYWdlT3V0cHV0SW5z dGFsbGVySW5zdGFuY2U7Ci0KLQogYm9vbCBpc0V4ZWN1dGFibGUoY29uc3QgUVN0cmluZyAm ZmlsZSkKIHsKICAgcmV0dXJuICggZmlsZS5lbmRzV2l0aCggUUxhdGluMVN0cmluZyggIi5l eGUiICkgKSB8fAo= --------------020501010208040402030408 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Kde-windows mailing list Kde-windows@kde.org https://mail.kde.org/mailman/listinfo/kde-windows --------------020501010208040402030408--