diff options
-rw-r--r-- | system/wine/LOTRO.patch | 44 | ||||
-rw-r--r-- | system/wine/README | 8 | ||||
-rw-r--r-- | system/wine/slack-desc | 1 | ||||
-rw-r--r-- | system/wine/wine.SlackBuild | 25 | ||||
-rw-r--r-- | system/wine/wine.info | 8 |
5 files changed, 57 insertions, 29 deletions
diff --git a/system/wine/LOTRO.patch b/system/wine/LOTRO.patch new file mode 100644 index 000000000000..4f760793ce96 --- /dev/null +++ b/system/wine/LOTRO.patch @@ -0,0 +1,44 @@ +From b9716dfe5f6283f83131fe6a638eea14c137ceb4 Mon Sep 17 00:00:00 2001 +From: Daniel Santos <daniel.santos@pobox.com> +Date: Mon, 15 Oct 2012 15:12:59 -0500 +Subject: user32: Don't ignore return/error value of MapWindowPoints + +ScreenToClient should return zero if the operation fails, but is always +returning TRUE. This patch corrects the problem and solves a crash bug +in Lord of the Rings Online (bug #31979) + +Credit for discovering the source of this problem should go to somebody +else, as yet unidentified, since the original patch came from a closed +forum for beta testers of the LoTRO Riders of Rohan expansion and the +forum has subsequently been wiped. However, I'll take credit for fixing +it up, but if I ever figure out where it came from, hopefully they can +get credit as well. +--- + dlls/user32/winpos.c | 11 +++++++++-- + 1 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/dlls/user32/winpos.c b/dlls/user32/winpos.c +index 5a2f1f2..80aab32 100644 +--- a/dlls/user32/winpos.c ++++ b/dlls/user32/winpos.c +@@ -250,8 +250,15 @@ BOOL WINAPI ClientToScreen( HWND hwnd, LPPOINT lppnt ) + */ + BOOL WINAPI ScreenToClient( HWND hwnd, LPPOINT lppnt ) + { +- MapWindowPoints( 0, hwnd, lppnt, 1 ); +- return TRUE; ++ DWORD old_err = GetLastError(); ++ BOOL ret; ++ ++ SetLastError(0xd00d13); ++ ret = MapWindowPoints( 0, hwnd, lppnt, 1 ) != 0 || ++ GetLastError() != 0xd00d13; ++ SetLastError(old_err); ++ ++ return ret; + } + + +-- +1.7.3.4 + diff --git a/system/wine/README b/system/wine/README index 9fc912239855..4cd4f1d036b7 100644 --- a/system/wine/README +++ b/system/wine/README @@ -6,13 +6,7 @@ script like this: OPENGL=NO ./wine.SlackBuild If you wish to apply an unoffical patch that might fix up some problems running IE in wine, then do this: IEFIX=YES ./wine.SlackBuild -If you want to apply the DIB engine patches use DIB=YES ./wine.SlackBuild. - -(There is an environment variable, WINEDIB, which can be set with -"export WINEDIB=ON". This must be done in the terminal before any applications -needing the DIB engine are run. To permanently enable it, use regedit: -In "HKEY_CURRENT_USER\Software\Wine\DIB Engine" create a string named -"Enabled" with value "Y".) +If you want to apply the LOTRO patch use LOTRO=YES ./wine.SlackBuild. These options can be used together. diff --git a/system/wine/slack-desc b/system/wine/slack-desc index 7159011e2de7..941fb89cfc29 100644 --- a/system/wine/slack-desc +++ b/system/wine/slack-desc @@ -4,7 +4,6 @@ # on the right side marks the last column you can put a character in. You must # make exactly 11 lines for the formatting to be correct. It's also # customary to leave one space after the ':'. - |-----handy-ruler------------------------------------------------------| wine: wine (Wine Is Not an Emulator) wine: diff --git a/system/wine/wine.SlackBuild b/system/wine/wine.SlackBuild index ad0e3607745b..13c6a76c1276 100644 --- a/system/wine/wine.SlackBuild +++ b/system/wine/wine.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for wine -# Copyright 2011 David Woodfall +# Copyright 2011- David Woodfall # All rights reserved. # Uses patches supplied by Robby Workman's previous slackbuild. @@ -24,10 +24,9 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=wine -VERSION=${VERSION:-1.4.1} +VERSION=${VERSION:-1.5.13} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} - if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i486 ;; @@ -50,8 +49,8 @@ IEFIX=${IEFIX:-NO} # the run the script like: OPENGL=NO ./wine.SlackBuild OPENGL=${OPENGL:-YES} -# Apply DIB patch. -DIB=${DIB:-NO} +# Apply LOTRO patch. +LOTRO=${LOTRO:-NO} if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" @@ -61,7 +60,7 @@ elif [ "$ARCH" = "i686" ]; then LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" + LIBDIRSUFFIX="" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" @@ -94,16 +93,10 @@ if [ "$OPENGL" = "YES" ]; then do_opengl="without" fi -# If DIB=YES then apply DIB patches. -if [ "$DIB" = "YES" ]; then - mkdir dib - cd dib - unzip $CWD/dibeng-max-2010-11-12.zip - cd .. - for i in $(grep dib dib/series); do - patch -p1 < dib/$i - done - autoconf +# Thanks to Branden for supplying the patch +# If LOTRO = YES above, then apply the patch +if [ "$LOTRO" = "YES" ]; then + patch -p1 --verbose < $CWD/LOTRO.patch fi # All of the libraries produced are 32bit libs anyway diff --git a/system/wine/wine.info b/system/wine/wine.info index de44772a1c83..2930706e69e0 100644 --- a/system/wine/wine.info +++ b/system/wine/wine.info @@ -1,10 +1,8 @@ PRGNAM="wine" -VERSION="1.4.1" +VERSION="1.5.13" HOMEPAGE="http://www.winehq.com/" -DOWNLOAD="http://downloads.sf.net/wine/source/1.4/wine-1.4.1.tar.bz2 \ - http://www.unrealize.co.uk/source/dibeng-max-2010-11-12.zip" -MD5SUM="0c28702ed478df7a1c097f3a9c4cabd6 \ - 97159d77631da13952fe87e846cf1f3b" +DOWNLOAD="http://downloads.sf.net/wine/source/1.5/wine-1.5.13.tar.bz2" +MD5SUM="a03d2feafdf6ece0a1cdd6d0daf6a8ae" DOWNLOAD_x86_64="UNSUPPORTED" MD5SUM_x86_64="" REQUIRES="fontforge webcore-fonts" |