diff options
author | Dan Gudmundsson <[email protected]> | 2012-12-14 14:41:07 +0100 |
---|---|---|
committer | Dan Gudmundsson <[email protected]> | 2013-01-09 11:44:28 +0100 |
commit | a15d14a0c266b9e86c5a2ca39b3c1808a5e1bae0 (patch) | |
tree | ac0d902cd288c5a4d04ab0414b94512653be57c3 | |
parent | b6d75e15b9d6400a61f5ea29fa20c1c6376a4b32 (diff) | |
download | otp-a15d14a0c266b9e86c5a2ca39b3c1808a5e1bae0.tar.gz otp-a15d14a0c266b9e86c5a2ca39b3c1808a5e1bae0.tar.bz2 otp-a15d14a0c266b9e86c5a2ca39b3c1808a5e1bae0.zip |
wx: Fix loading icons and cursors in Windows
wxWidgets looked in the wrong executable after icons and cursors, stole
wxLua's solution.
Also finds wx-2.9 on windows
-rw-r--r-- | lib/wx/c_src/wxe_impl.cpp | 10 | ||||
-rwxr-xr-x | lib/wx/configure.in | 9 |
2 files changed, 15 insertions, 4 deletions
diff --git a/lib/wx/c_src/wxe_impl.cpp b/lib/wx/c_src/wxe_impl.cpp index 5f3122d7d8..5442fea618 100644 --- a/lib/wx/c_src/wxe_impl.cpp +++ b/lib/wx/c_src/wxe_impl.cpp @@ -30,6 +30,11 @@ // Ok ugly but needed for wxBufferedDC crash workaround #define private public #include <wx/dcbuffer.h> + +#if defined(__WXMSW__) + #include <wx/msw/private.h> // for wxSetInstance +#endif + #undef private #include "wxe_impl.h" @@ -222,6 +227,11 @@ void *wxe_main_loop(void *vpdl) // This should be done in emulator but it's not in yet. #ifndef _WIN32 erts_thread_disable_fpe(); +#else + // Setup that wxWidgets should look for cursors and icons in + // this dll and not in werl.exe (which is the default) + HMODULE WXEHandle = GetModuleHandle(_T("wxe_driver")); + wxSetInstance((HINSTANCE) WXEHandle); #endif result = wxEntry(argc, argv); diff --git a/lib/wx/configure.in b/lib/wx/configure.in index f58c8d92fa..4f717de3f7 100755 --- a/lib/wx/configure.in +++ b/lib/wx/configure.in @@ -416,12 +416,12 @@ else else CWXWIN_PROG=`cygpath -d "$PROGRAMFILES" | cygpath -f - 2>/dev/null` fi - CWXWIN3=$CWXWIN_PROG/wxWidgets-2.8 - CWXWIN4=$CWXWIN_PROG/wxMSW-2.8 - CWX_DOCUMENTED="/opt/local/pgm/wxMSW-2.8.* /opt/local/pgm/wxWidgets-2.8.*" + CWXWIN3=$CWXWIN_PROG/wxWidgets-2.*.* + CWXWIN4=$CWXWIN_PROG/wxMSW-2.*.* + CWX_DOCUMENTED="/opt/local/pgm/wxMSW-2.*.* /opt/local/pgm/wxWidgets-2.*.*" case $ac_cv_sizeof_void_p in 8) - CWX_DOCUMENTED="/opt/local64/pgm/wxMSW-2.8.* /opt/local64/pgm/wxWidgets-2.8.* $CWX_DOCUMENTED" + CWX_DOCUMENTED="/opt/local64/pgm/wxMSW-2.*.* /opt/local64/pgm/wxWidgets-2.*.* $CWX_DOCUMENTED" ;; *) true @@ -463,6 +463,7 @@ else fi fi done + if test -z "$WX_LIBS_STATIC"; then AC_MSG_RESULT([failed]) if test X"$WX_BUILDING_INSIDE_ERLSRC" != X"true" ; then |