diff --git a/wine-dsound-notify.patch b/wine-dsound-notify.patch new file mode 100644 index 0000000..3abec76 --- /dev/null +++ b/wine-dsound-notify.patch @@ -0,0 +1,47 @@ +--- dlls/dsound/mixer.c ++++ dlls/dsound/mixer.c +@@ -238,29 +238,26 @@ + offset = event->dwOffset; + TRACE("checking %d, position %d, event = %p\n", + i, offset, event->hEventNotify); +- /* DSBPN_OFFSETSTOP has to be the last element. So this is */ +- /* OK. [Inside DirectX, p274] */ +- /* */ +- /* This also means we can't sort the entries by offset, */ +- /* because DSBPN_OFFSETSTOP == -1 */ ++ /* DSBPN_OFFSETSTOP is not necessarily the last element. */ + if (offset == DSBPN_OFFSETSTOP) { + if (dsb->state == STATE_STOPPED) { + SetEvent(event->hEventNotify); + TRACE("signalled event %p (%d)\n", event->hEventNotify, i); +- return; +- } else +- return; +- } +- if ((playpos + len) >= dsb->buflen) { +- if ((offset < ((playpos + len) % dsb->buflen)) || +- (offset >= playpos)) { +- TRACE("signalled event %p (%d)\n", event->hEventNotify, i); +- SetEvent(event->hEventNotify); + } +- } else { +- if ((offset >= playpos) && (offset < (playpos + len))) { +- TRACE("signalled event %p (%d)\n", event->hEventNotify, i); +- SetEvent(event->hEventNotify); ++ } ++ else ++ { ++ if ((playpos + len) >= dsb->buflen) { ++ if ((offset < ((playpos + len) % dsb->buflen)) || ++ (offset >= playpos)) { ++ TRACE("signalled event %p (%d)\n", event->hEventNotify, i); ++ SetEvent(event->hEventNotify); ++ } ++ } else { ++ if ((offset >= playpos) && (offset < (playpos + len))) { ++ TRACE("signalled event %p (%d)\n", event->hEventNotify, i); ++ SetEvent(event->hEventNotify); ++ } + } + } + } diff --git a/wine.changes b/wine.changes index a6a30f5..d53afe8 100644 --- a/wine.changes +++ b/wine.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri May 16 11:46:40 CEST 2008 - uli@suse.de + +- always use -m32/--32/-m elf_i386, even on x86 (allows x86 + devel tools to work on AMD64) +- fixed invalid dsound assumption + ------------------------------------------------------------------- Sat May 10 11:40:57 CEST 2008 - meissner@suse.de diff --git a/wine.spec b/wine.spec index 23cf044..e601e51 100644 --- a/wine.spec +++ b/wine.spec @@ -17,13 +17,15 @@ License: LGPL v2.1 or later Group: System/Emulators/PC AutoReqProv: on Version: 0.9.62_aka_1.0.rc1 -Release: 1 +Release: 4 Summary: An MS Windows Emulator Url: http://www.winehq.com Source0: wine-%version.tar.bz2 Source1: http://kegel.com/wine/winetricks Source3: README.SuSE Source4: wine.desktop +Patch: winegcc-m32.aptch +Patch1: wine-dsound-notify.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -56,6 +58,8 @@ libraries. %prep %setup -q +%patch +%patch1 # cp %{S:3} . # @@ -120,6 +124,10 @@ rm -rf $RPM_BUILD_ROOT /usr/share/aclocal/wine.m4 %changelog +* Fri May 16 2008 uli@suse.de +- always use -m32/--32/-m elf_i386, even on x86 (allows x86 + devel tools to work on AMD64) +- fixed invalid dsound assumption * Sat May 10 2008 meissner@suse.de - Upgraded to upstream 1.0-rc1 (labeled 0.9.62_aka_1.0.rc1 to avoid update problems to 1.0) diff --git a/winegcc-m32.aptch b/winegcc-m32.aptch new file mode 100644 index 0000000..e6c9046 --- /dev/null +++ b/winegcc-m32.aptch @@ -0,0 +1,11 @@ +--- configure.ac ++++ configure.ac +@@ -79,7 +79,7 @@ + + AC_CANONICAL_HOST + case $host in +- x86_64*linux*) ++ x86_64*linux*|*i[[3456789]]86*) + if test "x$enable_win64" != "xyes" + then + test -n "$CC" || CC="gcc -m32"