File qt-4.7.3-fix-loading-openssl.patch of Package mingw64-libqt4
diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
index a4cc3c4..5e052ac 100644
--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
@@ -369,14 +369,27 @@ static QPair<QSystemLibrary*, QSystemLibrary*> loadOpenSslWin32()
if (!ssleay32->load(false)) {
// Cannot find ssleay32.dll
delete ssleay32;
- return pair;
+ ssleay32 = new QSystemLibrary(QLatin1String("libssl-OPENSSL_SONAME"));
+ if (!ssleay32->load(false)) {
+ // Cannot find libssl-OPENSSL_SONAME.dll
+ // in our cross-build that's the same as ssleay32.dll
+ delete ssleay32;
+ return pair;
+ }
}
QSystemLibrary *libeay32 = new QSystemLibrary(QLatin1String("libeay32"));
if (!libeay32->load(false)) {
- delete ssleay32;
+ // Cannot find libeay32.dll
delete libeay32;
- return pair;
+ libeay32 = new QSystemLibrary(QLatin1String("libcrypto-OPENSSL_SONAME"));
+ if (!libeay32->load(false)) {
+ // Cannot find libcrypto-OPENSSL_SONAME.dll
+ // in our cross-build that's the same as libeay32.dll
+ delete libeay32;
+ delete ssleay32;
+ return pair;
+ }
}
pair.first = ssleay32;