winehq.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
January
2003
December
November
October
September
August
July
June
May
April
March
February
January
2002
December
November
October
September
August
July
June
May
April
March
February
January
2001
December
November
October
September
August
July
June
May
April
March
February
List overview
wine-commits
October 2017
----- 2025 -----
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
----- 2003 -----
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003
----- 2002 -----
December 2002
November 2002
October 2002
September 2002
August 2002
July 2002
June 2002
May 2002
April 2002
March 2002
February 2002
January 2002
----- 2001 -----
December 2001
November 2001
October 2001
September 2001
August 2001
July 2001
June 2001
May 2001
April 2001
March 2001
February 2001
wine-commits@winehq.org
2 participants
478 discussions
Start a n
N
ew thread
Sebastian Lackner : ntoskrnl.exe: Add KeReleaseInStackQueuedSpinLock stub.
by Alexandre Julliard
20 Oct '17
20 Oct '17
Module: wine Branch: stable Commit: b5ee94f0a436e8bed43b93a0cd9ac5c9aad1a555 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=b5ee94f0a436e8bed43b93a0c…
Author: Sebastian Lackner <sebastian(a)fds-team.de> Date: Tue Mar 7 16:01:48 2017 +0100 ntoskrnl.exe: Add KeReleaseInStackQueuedSpinLock stub. Signed-off-by: Sebastian Lackner <sebastian(a)fds-team.de> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> (cherry picked from commit 83b9fdb23b20f3b12d0364f5400c5a6d3840fa2b) Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org> --- dlls/hal/hal.spec | 2 +- dlls/ntoskrnl.exe/ntoskrnl.c | 13 +++++++++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/dlls/hal/hal.spec b/dlls/hal/hal.spec index f441ac5..414e49b 100644 --- a/dlls/hal/hal.spec +++ b/dlls/hal/hal.spec @@ -9,7 +9,7 @@ @ stub KeAcquireQueuedSpinLock @ stub KeAcquireQueuedSpinLockRaiseToSynch @ stub KeAcquireSpinLockRaiseToSynch -@ stub KeReleaseInStackQueuedSpinLock +@ stdcall -norelay KeReleaseInStackQueuedSpinLock(ptr) ntoskrnl.exe.KeReleaseInStackQueuedSpinLock @ stub KeReleaseQueuedSpinLock @ stub KeTryToAcquireQueuedSpinLock @ stub KeTryToAcquireQueuedSpinLockRaiseToSynch diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index c2d3127..5a7f348 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -3215,3 +3215,16 @@ void WINAPI KeAcquireInStackQueuedSpinLock( KSPIN_LOCK *spinlock, KLOCK_QUEUE_HA { FIXME( "stub: %p %p\n", spinlock, handle ); } + +/*********************************************************************** + * KeReleaseInStackQueuedSpinLock (NTOSKRNL.EXE.@) + */ +#ifdef DEFINE_FASTCALL1_ENTRYPOINT +DEFINE_FASTCALL1_ENTRYPOINT( KeReleaseInStackQueuedSpinLock ) +void WINAPI __regs_KeReleaseInStackQueuedSpinLock( KLOCK_QUEUE_HANDLE *handle ) +#else +void WINAPI KeReleaseInStackQueuedSpinLock( KLOCK_QUEUE_HANDLE *handle ) +#endif +{ + FIXME( "stub: %p\n", handle); +} diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index cb92d80..53e3c94 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -43,6 +43,7 @@ @ stdcall -norelay IofCompleteRequest(ptr long) @ stdcall -norelay KeAcquireInStackQueuedSpinLock(ptr ptr) @ stub KeAcquireInStackQueuedSpinLockAtDpcLevel +@ stdcall -norelay KeReleaseInStackQueuedSpinLock(ptr) @ stub KeReleaseInStackQueuedSpinLockFromDpcLevel @ stub KeSetTimeUpdateNotifyRoutine @ stub KefAcquireSpinLockAtDpcLevel
1
0
0
0
Hans Leidekker : winhttp: Reset content length when a redirect creates a new connection.
by Alexandre Julliard
20 Oct '17
20 Oct '17
Module: wine Branch: stable Commit: 6d4d378b5d2f902d70468c9e7dfb71eff95d73b7 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=6d4d378b5d2f902d70468c9e7…
Author: Hans Leidekker <hans(a)codeweavers.com> Date: Thu Jun 22 14:16:58 2017 +0200 winhttp: Reset content length when a redirect creates a new connection. Signed-off-by: Hans Leidekker <hans(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> (cherry picked from commit f2bb2064bfdf0e7b369f22c34d680dec6c12493c) Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org> --- dlls/winhttp/request.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c index fc04794..97fd1de 100644 --- a/dlls/winhttp/request.c +++ b/dlls/winhttp/request.c @@ -2349,9 +2349,9 @@ static BOOL handle_redirect( request_t *request, DWORD status ) netconn_close( &request->netconn ); if (!(ret = netconn_init( &request->netconn ))) goto end; + request->content_length = request->content_read = 0; request->read_pos = request->read_size = 0; - request->read_chunked = FALSE; - request->read_chunked_eof = FALSE; + request->read_chunked = request->read_chunked_eof = FALSE; } else heap_free( hostname );
1
0
0
0
Zebediah Figura : msacm32: Don' t write cbSize if the format is WAVE_FORMAT_PCM.
by Alexandre Julliard
20 Oct '17
20 Oct '17
Module: wine Branch: stable Commit: 1089b1ab6c84f1fcec48f09c66fc59758ce3efea URL:
http://source.winehq.org/git/wine.git/?a=commit;h=1089b1ab6c84f1fcec48f09c6…
Author: Zebediah Figura <z.figura12(a)gmail.com> Date: Thu Jun 1 14:16:43 2017 -0500 msacm32: Don't write cbSize if the format is WAVE_FORMAT_PCM. Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> Signed-off-by: Andrew Eikum <aeikum(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> (cherry picked from commit 4e0c3707c3af8019db2c41ed6287bdde6e0b6fd3) Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org> --- dlls/msacm32/format.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dlls/msacm32/format.c b/dlls/msacm32/format.c index de07cba..3f3ee54 100644 --- a/dlls/msacm32/format.c +++ b/dlls/msacm32/format.c @@ -78,7 +78,8 @@ static BOOL CALLBACK MSACM_FillFormatTagsCB(HACMDRIVERID hadid, afd.pwfx = HeapAlloc(MSACM_hHeap, 0, paftd->cbFormatSize); if (!afd.pwfx) return FALSE; afd.pwfx->wFormatTag = paftd->dwFormatTag; - afd.pwfx->cbSize = paftd->cbFormatSize; + if (paftd->dwFormatTag != WAVE_FORMAT_PCM) + afd.pwfx->cbSize = paftd->cbFormatSize - sizeof(WAVEFORMATEX); afd.cbwfx = paftd->cbFormatSize; for (i = 0; i < paftd->cStandardFormats; i++) {
1
0
0
0
Dmitry Timoshkov : oleaut32: Add an arguments check to LoadTypeLibEx.
by Alexandre Julliard
20 Oct '17
20 Oct '17
Module: wine Branch: stable Commit: 515e91bbae5977e72e36a4d18ba1c574abd8be9a URL:
http://source.winehq.org/git/wine.git/?a=commit;h=515e91bbae5977e72e36a4d18…
Author: Dmitry Timoshkov <dmitry(a)baikal.ru> Date: Wed Jun 7 00:29:37 2017 +0300 oleaut32: Add an arguments check to LoadTypeLibEx. Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> (cherry picked from commit cf45f3bcc81337ad6642a2856521e8294282c711) Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org> --- dlls/oleaut32/typelib.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c index 4fdfbeb..c3f948e 100644 --- a/dlls/oleaut32/typelib.c +++ b/dlls/oleaut32/typelib.c @@ -472,6 +472,9 @@ HRESULT WINAPI LoadTypeLibEx( TRACE("(%s,%d,%p)\n",debugstr_w(szFile), regkind, pptLib); + if (!szFile || !pptLib) + return E_INVALIDARG; + *pptLib = NULL; res = TLB_ReadTypeLib(szFile, szPath, MAX_PATH + 1, (ITypeLib2**)pptLib);
1
0
0
0
Fabian Maurer : user32: Don' t send WM_CHAR when a menu gets VK_ESCAPE and add tests.
by Alexandre Julliard
20 Oct '17
20 Oct '17
Module: wine Branch: stable Commit: 695c91a78a67d7532a9fe1f4914d1698339f34c2 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=695c91a78a67d7532a9fe1f49…
Author: Fabian Maurer <dark.shadow4(a)web.de> Date: Thu Feb 2 16:33:54 2017 +0100 user32: Don't send WM_CHAR when a menu gets VK_ESCAPE and add tests. Signed-off-by: Fabian Maurer <dark.shadow4(a)web.de> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> (cherry picked from commit 115bbf424cc0f5ea325e3052aed8ad8106045294) Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org> --- dlls/user32/menu.c | 2 +- dlls/user32/tests/msg.c | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/dlls/user32/menu.c b/dlls/user32/menu.c index 59fcd9c..827bee7 100644 --- a/dlls/user32/menu.c +++ b/dlls/user32/menu.c @@ -3077,7 +3077,6 @@ static BOOL MENU_TrackMenu( HMENU hmenu, UINT wFlags, INT x, INT y, break; } - TranslateMessage( &msg ); mt.pt = msg.pt; if ( (msg.hwnd==menu->hWnd) || (msg.message!=WM_TIMER) ) @@ -3206,6 +3205,7 @@ static BOOL MENU_TrackMenu( HMENU hmenu, UINT wFlags, INT x, INT y, } default: + TranslateMessage( &msg ); break; } break; /* WM_KEYDOWN */ diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c index eba949b..51009ad 100644 --- a/dlls/user32/tests/msg.c +++ b/dlls/user32/tests/msg.c @@ -1942,6 +1942,10 @@ static const struct message WmTrackPopupMenu[] = { { 0 } }; +static const struct message WmTrackPopupMenuEsc[] = { + { 0 } +}; + static const struct message WmTrackPopupMenuCapture[] = { { HCBT_CREATEWND, hook }, { WM_ENTERMENULOOP, sent|wparam|lparam, TRUE, 0 }, @@ -16071,6 +16075,7 @@ static LRESULT WINAPI cancel_init_proc(HWND hwnd, UINT message, WPARAM wParam, L static void test_TrackPopupMenu(void) { + MSG msg; HWND hwnd; BOOL ret; @@ -16093,6 +16098,20 @@ static void test_TrackPopupMenu(void) ok_sequence(WmTrackPopupMenu, "TrackPopupMenu", TRUE); ok(ret == 1, "TrackPopupMenu failed with error %i\n", GetLastError()); + /* Test popup closing with an ESC-press */ + flush_events(); + PostMessageW(hwnd, WM_KEYDOWN, VK_ESCAPE, 0); + ret = TrackPopupMenu(hpopupmenu, 0, 100,100, 0, hwnd, NULL); + ok(ret == 1, "TrackPopupMenu failed with error %i\n", GetLastError()); + PostQuitMessage(0); + flush_sequence(); + while ( PeekMessageA(&msg, 0, 0, 0, PM_REMOVE) ) + { + TranslateMessage(&msg); + DispatchMessageA(&msg); + } + ok_sequence(WmTrackPopupMenuEsc, "TrackPopupMenuEsc", FALSE); /* Shouldn't get any message */ + SetWindowLongPtrA( hwnd, GWLP_WNDPROC, (LONG_PTR)cancel_init_proc); flush_events();
1
0
0
0
Piotr Caban : msvcrt: Use temp directory when creating file in tmpfile.
by Alexandre Julliard
20 Oct '17
20 Oct '17
Module: wine Branch: stable Commit: a310cdf4abee760be03ac45e2347337a597ab326 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=a310cdf4abee760be03ac45e2…
Author: Piotr Caban <piotr(a)codeweavers.com> Date: Mon Jun 5 18:15:30 2017 +0200 msvcrt: Use temp directory when creating file in tmpfile. Signed-off-by: Piotr Caban <piotr(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> (cherry picked from commit e4c9a2ec81b8029876d588e09587db40ab65ee69) Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org> --- dlls/msvcrt/file.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/msvcrt/file.c b/dlls/msvcrt/file.c index 8965156..b1c66e5 100644 --- a/dlls/msvcrt/file.c +++ b/dlls/msvcrt/file.c @@ -4970,7 +4970,7 @@ MSVCRT_wchar_t * CDECL MSVCRT__wtmpnam(MSVCRT_wchar_t *s) */ MSVCRT_FILE* CDECL MSVCRT_tmpfile(void) { - char *filename = MSVCRT_tmpnam(NULL); + char *filename = MSVCRT__tempnam(",", "t"); int fd; MSVCRT_FILE* file = NULL;
1
0
0
0
Jacek Caban : wmp: Added IOleObject:: GetExtent and SetExtent implementation.
by Alexandre Julliard
20 Oct '17
20 Oct '17
Module: wine Branch: stable Commit: c0a288b17c715cbb2d1e99d0d8a9a4369fd493e3 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=c0a288b17c715cbb2d1e99d0d…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Wed May 31 16:05:58 2017 +0200 wmp: Added IOleObject::GetExtent and SetExtent implementation. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> (cherry picked from commit a8d956b5b60759f144a863db6fb563ea8b0873b4) Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org> --- dlls/wmp/oleobj.c | 30 +++++++++++++++++++++++---- dlls/wmp/tests/Makefile.in | 2 +- dlls/wmp/tests/oleobj.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++ dlls/wmp/wmp_private.h | 1 + 4 files changed, 79 insertions(+), 5 deletions(-) diff --git a/dlls/wmp/oleobj.c b/dlls/wmp/oleobj.c index 75957a4..8dcdfbd 100644 --- a/dlls/wmp/oleobj.c +++ b/dlls/wmp/oleobj.c @@ -457,15 +457,27 @@ static HRESULT WINAPI OleObject_GetUserType(IOleObject *iface, DWORD dwFormOfTyp static HRESULT WINAPI OleObject_SetExtent(IOleObject *iface, DWORD dwDrawAspect, SIZEL *psizel) { WindowsMediaPlayer *This = impl_from_IOleObject(iface); - FIXME("(%p)->(%d %p)\n", This, dwDrawAspect, psizel); - return E_NOTIMPL; + + TRACE("(%p)->(%d %p)\n", This, dwDrawAspect, psizel); + + if(dwDrawAspect != DVASPECT_CONTENT) + return DV_E_DVASPECT; + + This->extent = *psizel; + return S_OK; } static HRESULT WINAPI OleObject_GetExtent(IOleObject *iface, DWORD dwDrawAspect, SIZEL *psizel) { WindowsMediaPlayer *This = impl_from_IOleObject(iface); - FIXME("(%p)->(%d %p)\n", This, dwDrawAspect, psizel); - return E_NOTIMPL; + + TRACE("(%p)->(%d %p)\n", This, dwDrawAspect, psizel); + + if(dwDrawAspect != DVASPECT_CONTENT) + return E_FAIL; + + *psizel = This->extent; + return S_OK; } static HRESULT WINAPI OleObject_Advise(IOleObject *iface, IAdviseSink *pAdvSink, DWORD *pdwConnection) @@ -905,6 +917,8 @@ HRESULT WINAPI WMPFactory_CreateInstance(IClassFactory *iface, IUnknown *outer, REFIID riid, void **ppv) { WindowsMediaPlayer *wmp; + DWORD dpi_x, dpi_y; + HDC hdc; HRESULT hres; TRACE("(%p %s %p)\n", outer, debugstr_guid(riid), ppv); @@ -924,6 +938,14 @@ HRESULT WINAPI WMPFactory_CreateInstance(IClassFactory *iface, IUnknown *outer, init_player_ifaces(wmp); + hdc = GetDC(0); + dpi_x = GetDeviceCaps(hdc, LOGPIXELSX); + dpi_y = GetDeviceCaps(hdc, LOGPIXELSY); + ReleaseDC(0, hdc); + + wmp->extent.cx = MulDiv(192, 2540, dpi_x); + wmp->extent.cy = MulDiv(192, 2540, dpi_y); + hres = IOleObject_QueryInterface(&wmp->IOleObject_iface, riid, ppv); IOleObject_Release(&wmp->IOleObject_iface); return hres; diff --git a/dlls/wmp/tests/Makefile.in b/dlls/wmp/tests/Makefile.in index 465b878..df770c7 100644 --- a/dlls/wmp/tests/Makefile.in +++ b/dlls/wmp/tests/Makefile.in @@ -1,4 +1,4 @@ TESTDLL = wmp.dll -IMPORTS = ole32 oleaut32 user32 +IMPORTS = ole32 oleaut32 user32 gdi32 C_SRCS = oleobj.c diff --git a/dlls/wmp/tests/oleobj.c b/dlls/wmp/tests/oleobj.c index 971a2fe..b008af1 100644 --- a/dlls/wmp/tests/oleobj.c +++ b/dlls/wmp/tests/oleobj.c @@ -857,6 +857,56 @@ static void test_QI(IUnknown *unk) IUnknown_Release(tmp); } +static void test_extent(IOleObject *oleobj) +{ + SIZE expected, extent; + DWORD dpi_x; + DWORD dpi_y; + HDC hdc; + HRESULT hres; + + /* default aspect ratio is 96dpi / 96dpi */ + hdc = GetDC(0); + dpi_x = GetDeviceCaps(hdc, LOGPIXELSX); + dpi_y = GetDeviceCaps(hdc, LOGPIXELSY); + ReleaseDC(0, hdc); + if (dpi_x != 96 || dpi_y != 96) + trace("dpi: %d / %d\n", dpi_y, dpi_y); + + extent.cx = extent.cy = 0xdeadbeef; + hres = IOleObject_GetExtent(oleobj, DVASPECT_CONTENT, &extent); + ok(hres == S_OK, "GetExtent failed: %08x\n", hres); + expected.cx = MulDiv(192, 2540, dpi_x); + expected.cy = MulDiv(192, 2540, dpi_y); + ok(extent.cx == expected.cx && extent.cy == expected.cy, "size = {%d %d} (expected %d %d)\n", + extent.cx, extent.cy, expected.cx, expected.cy ); + + extent.cx = 800; + extent.cy = 700; + hres = IOleObject_SetExtent(oleobj, DVASPECT_CONTENT, &extent); + ok(hres == S_OK, "SetExtent failed: %08x\n", hres); + + extent.cx = extent.cy = 0xdeadbeef; + hres = IOleObject_GetExtent(oleobj, DVASPECT_CONTENT, &extent); + ok(hres == S_OK, "GetExtent failed: %08x\n", hres); + ok(extent.cx == 800 && extent.cy == 700, "size = {%d %d}\n", extent.cx, extent.cy); + + hres = IOleObject_GetExtent(oleobj, 0, &extent); + ok(hres == E_FAIL, "GetExtent failed: %08x\n", hres); + hres = IOleObject_GetExtent(oleobj, 7, &extent); + ok(hres == E_FAIL, "GetExtent failed: %08x\n", hres); + + extent.cx = 900; + extent.cy = 800; + hres = IOleObject_SetExtent(oleobj, DVASPECT_CONTENT, &expected); + ok(hres == S_OK, "SetExtent failed: %08x\n", hres); + + hres = IOleObject_SetExtent(oleobj, 0, &expected); + ok(hres == DV_E_DVASPECT, "SetExtent failed: %08x\n", hres); + hres = IOleObject_SetExtent(oleobj, 7, &expected); + ok(hres == DV_E_DVASPECT, "SetExtent failed: %08x\n", hres); +} + static void test_wmp(void) { IProvideClassInfo2 *class_info; @@ -902,6 +952,7 @@ static void test_wmp(void) IProvideClassInfo2_Release(class_info); test_QI((IUnknown*)oleobj); + test_extent(oleobj); hres = IOleObject_GetMiscStatus(oleobj, DVASPECT_CONTENT, &misc_status); ok(hres == S_OK, "GetMiscStatus failed: %08x\n", hres); diff --git a/dlls/wmp/wmp_private.h b/dlls/wmp/wmp_private.h index 91e8465..c23f487 100644 --- a/dlls/wmp/wmp_private.h +++ b/dlls/wmp/wmp_private.h @@ -36,6 +36,7 @@ struct WindowsMediaPlayer { IOleClientSite *client_site; HWND hwnd; + SIZEL extent; }; void init_player_ifaces(WindowsMediaPlayer*) DECLSPEC_HIDDEN;
1
0
0
0
Stefan Dösinger : ws2_32: Don' t post completion packet if receiving fails with error immediately.
by Alexandre Julliard
20 Oct '17
20 Oct '17
Module: wine Branch: stable Commit: f75720a58003052122d49e0377f8b403eba631cd URL:
http://source.winehq.org/git/wine.git/?a=commit;h=f75720a58003052122d49e037…
Author: Stefan Dösinger <stefan(a)codeweavers.com> Date: Mon May 15 19:06:32 2017 +0200 ws2_32: Don't post completion packet if receiving fails with error immediately. Signed-off-by: Stefan Dösinger <stefan(a)codeweavers.com> Signed-off-by: Bruno Jesus <bjesus(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> (cherry picked from commit 7a1142035d7ee04839417176ff93fd0953e2a4e1) Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org> --- dlls/ws2_32/socket.c | 2 - dlls/ws2_32/tests/sock.c | 162 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 162 insertions(+), 2 deletions(-) diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c index 513cbfc..6e77d1a 100644 --- a/dlls/ws2_32/socket.c +++ b/dlls/ws2_32/socket.c @@ -7786,9 +7786,7 @@ static int WS2_recv_base( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, if (errno != EAGAIN) { - int loc_errno = errno; err = wsaErrno(); - if (cvalue) WS_AddCompletion( s, cvalue, sock_get_ntstatus(loc_errno), 0 ); goto error; } } diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c index d7e7fff..dd0b1b3 100644 --- a/dlls/ws2_32/tests/sock.c +++ b/dlls/ws2_32/tests/sock.c @@ -9057,6 +9057,7 @@ static void test_completion_port(void) struct sockaddr_in bindAddress; GUID acceptExGuid = WSAID_ACCEPTEX; LPFN_ACCEPTEX pAcceptEx = NULL; + fd_set fds_recv; memset(buf, 0, sizeof(buf)); previous_port = CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, 0); @@ -9172,6 +9173,167 @@ static void test_completion_port(void) if (dest != INVALID_SOCKET) closesocket(dest); + /* Test IOCP response on successful immediate read. */ + tcp_socketpair(&src, &dest); + if (src == INVALID_SOCKET || dest == INVALID_SOCKET) + { + skip("failed to create sockets\n"); + goto end; + } + + bufs.len = sizeof(buf); + bufs.buf = buf; + flags = 0; + SetLastError(0xdeadbeef); + + iret = WSASend(src, &bufs, 1, &num_bytes, 0, &ov, NULL); + ok(!iret, "WSASend failed - %d, last error %u\n", iret, GetLastError()); + ok(num_bytes == sizeof(buf), "Managed to send %d\n", num_bytes); + + io_port = CreateIoCompletionPort((HANDLE)dest, previous_port, 125, 0); + ok(io_port != NULL, "failed to create completion port %u\n", GetLastError()); + set_blocking(dest, FALSE); + + FD_ZERO(&fds_recv); + FD_SET(dest, &fds_recv); + select(dest + 1, &fds_recv, NULL, NULL, NULL); + + num_bytes = 0xdeadbeef; + flags = 0; + + iret = WSARecv(dest, &bufs, 1, &num_bytes, &flags, &ov, NULL); + ok(!iret, "WSARecv failed - %d, last error %u\n", iret, GetLastError()); + ok(num_bytes == sizeof(buf), "Managed to read %d\n", num_bytes); + + SetLastError(0xdeadbeef); + key = 0xdeadbeef; + num_bytes = 0xdeadbeef; + olp = (WSAOVERLAPPED *)0xdeadbeef; + + bret = GetQueuedCompletionStatus( io_port, &num_bytes, &key, &olp, 200 ); + ok(bret == TRUE, "failed to get completion status %u\n", bret); + ok(GetLastError() == 0xdeadbeef, "Last error was %d\n", GetLastError()); + ok(key == 125, "Key is %lu\n", key); + ok(num_bytes == sizeof(buf), "Number of bytes transferred is %u\n", num_bytes); + ok(olp == &ov, "Overlapped structure is at %p\n", olp); + + /* Test IOCP response on graceful shutdown. */ + closesocket(src); + + FD_ZERO(&fds_recv); + FD_SET(dest, &fds_recv); + select(dest + 1, &fds_recv, NULL, NULL, NULL); + + num_bytes = 0xdeadbeef; + flags = 0; + memset(&ov, 0, sizeof(ov)); + + iret = WSARecv(dest, &bufs, 1, &num_bytes, &flags, &ov, NULL); + ok(!iret, "WSARecv failed - %d, last error %u\n", iret, GetLastError()); + ok(!num_bytes, "Managed to read %d\n", num_bytes); + + SetLastError(0xdeadbeef); + key = 0xdeadbeef; + num_bytes = 0xdeadbeef; + olp = (WSAOVERLAPPED *)0xdeadbeef; + + bret = GetQueuedCompletionStatus( io_port, &num_bytes, &key, &olp, 200 ); + ok(bret == TRUE, "failed to get completion status %u\n", bret); + ok(GetLastError() == 0xdeadbeef, "Last error was %d\n", GetLastError()); + ok(key == 125, "Key is %lu\n", key); + ok(!num_bytes, "Number of bytes transferred is %u\n", num_bytes); + ok(olp == &ov, "Overlapped structure is at %p\n", olp); + + closesocket(src); + src = INVALID_SOCKET; + closesocket(dest); + dest = INVALID_SOCKET; + + /* Test IOCP response on hard shutdown. This was the condition that triggered + * a crash in an actual app (bug 38980). */ + tcp_socketpair(&src, &dest); + if (src == INVALID_SOCKET || dest == INVALID_SOCKET) + { + skip("failed to create sockets\n"); + goto end; + } + + bufs.len = sizeof(buf); + bufs.buf = buf; + flags = 0; + memset(&ov, 0, sizeof(ov)); + + ling.l_onoff = 1; + ling.l_linger = 0; + iret = setsockopt (src, SOL_SOCKET, SO_LINGER, (char *) &ling, sizeof(ling)); + ok(!iret, "Failed to set linger %d\n", GetLastError()); + + io_port = CreateIoCompletionPort((HANDLE)dest, previous_port, 125, 0); + ok(io_port != NULL, "failed to create completion port %u\n", GetLastError()); + set_blocking(dest, FALSE); + + closesocket(src); + src = INVALID_SOCKET; + + FD_ZERO(&fds_recv); + FD_SET(dest, &fds_recv); + select(dest + 1, &fds_recv, NULL, NULL, NULL); + + num_bytes = 0xdeadbeef; + SetLastError(0xdeadbeef); + + /* Somehow a hard shutdown doesn't work on my Linux box. It seems SO_LINGER is ignored. */ + iret = WSARecv(dest, &bufs, 1, &num_bytes, &flags, &ov, NULL); + todo_wine ok(iret == SOCKET_ERROR, "WSARecv failed - %d\n", iret); + todo_wine ok(GetLastError() == WSAECONNRESET, "Last error was %d\n", GetLastError()); + todo_wine ok(num_bytes == 0xdeadbeef, "Managed to read %d\n", num_bytes); + + SetLastError(0xdeadbeef); + key = 0xdeadbeef; + num_bytes = 0xdeadbeef; + olp = (WSAOVERLAPPED *)0xdeadbeef; + + bret = GetQueuedCompletionStatus( io_port, &num_bytes, &key, &olp, 200 ); + todo_wine ok(bret == FALSE, "GetQueuedCompletionStatus returned %u\n", bret ); + todo_wine ok(GetLastError() == WAIT_TIMEOUT, "Last error was %d\n", GetLastError()); + todo_wine ok(key == 0xdeadbeef, "Key is %lu\n", key); + todo_wine ok(num_bytes == 0xdeadbeef, "Number of bytes transferred is %u\n", num_bytes); + todo_wine ok(!olp, "Overlapped structure is at %p\n", olp); + + closesocket(dest); + + /* Test reading from a non-connected socket, mostly because the above test is marked todo. */ + dest = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); + ok(dest != INVALID_SOCKET, "socket() failed\n"); + + io_port = CreateIoCompletionPort((HANDLE)dest, previous_port, 125, 0); + ok(io_port != NULL, "failed to create completion port %u\n", GetLastError()); + set_blocking(dest, FALSE); + + num_bytes = 0xdeadbeef; + SetLastError(0xdeadbeef); + memset(&ov, 0, sizeof(ov)); + + iret = WSARecv(dest, &bufs, 1, &num_bytes, &flags, &ov, NULL); + ok(iret == SOCKET_ERROR, "WSARecv failed - %d\n", iret); + ok(GetLastError() == WSAENOTCONN, "Last error was %d\n", GetLastError()); + ok(num_bytes == 0xdeadbeef, "Managed to read %d\n", num_bytes); + + SetLastError(0xdeadbeef); + key = 0xdeadbeef; + num_bytes = 0xdeadbeef; + olp = (WSAOVERLAPPED *)0xdeadbeef; + + bret = GetQueuedCompletionStatus( io_port, &num_bytes, &key, &olp, 200 ); + ok(bret == FALSE, "GetQueuedCompletionStatus returned %u\n", bret ); + ok(GetLastError() == WAIT_TIMEOUT, "Last error was %d\n", GetLastError()); + ok(key == 0xdeadbeef, "Key is %lu\n", key); + ok(num_bytes == 0xdeadbeef, "Number of bytes transferred is %u\n", num_bytes); + ok(!olp, "Overlapped structure is at %p\n", olp); + + num_bytes = 0xdeadbeef; + closesocket(dest); + dest = socket(AF_INET, SOCK_STREAM, 0); if (dest == INVALID_SOCKET) {
1
0
0
0
Alex Henrie : comctl32/listview: When adding a scrollbar, update the other one.
by Alexandre Julliard
20 Oct '17
20 Oct '17
Module: wine Branch: stable Commit: 101291f1ceea7f2e59d858ae5d9d9ea6c1d24e75 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=101291f1ceea7f2e59d858ae5…
Author: Alex Henrie <alexhenrie24(a)gmail.com> Date: Thu May 18 13:11:04 2017 +0300 comctl32/listview: When adding a scrollbar, update the other one. Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com> Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> (cherry picked from commit 5fe449307f6604a781bcb9fe1b81185e3ea1cf51) Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org> --- dlls/comctl32/listview.c | 78 +++++++++++++++++++++++++++++++----------------- 1 file changed, 50 insertions(+), 28 deletions(-) diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c index c01d816..5048199 100644 --- a/dlls/comctl32/listview.c +++ b/dlls/comctl32/listview.c @@ -2016,23 +2016,10 @@ static void LISTVIEW_UpdateHeaderSize(const LISTVIEW_INFO *infoPtr, INT nNewScro SWP_NOZORDER | SWP_NOACTIVATE); } -/*** - * DESCRIPTION: - * Update the scrollbars. This functions should be called whenever - * the content, size or view changes. - * - * PARAMETER(S): - * [I] infoPtr : valid pointer to the listview structure - * - * RETURN: - * None - */ -static void LISTVIEW_UpdateScroll(const LISTVIEW_INFO *infoPtr) +static INT LISTVIEW_UpdateHScroll(LISTVIEW_INFO *infoPtr) { - SCROLLINFO horzInfo, vertInfo; - INT dx, dy; - - if ((infoPtr->dwStyle & LVS_NOSCROLL) || !is_redrawing(infoPtr)) return; + SCROLLINFO horzInfo; + INT dx; ZeroMemory(&horzInfo, sizeof(SCROLLINFO)); horzInfo.cbSize = sizeof(SCROLLINFO); @@ -2084,10 +2071,22 @@ static void LISTVIEW_UpdateScroll(const LISTVIEW_INFO *infoPtr) dx -= SetScrollInfo(infoPtr->hwndSelf, SB_HORZ, &horzInfo, TRUE); TRACE("horzInfo=%s\n", debugscrollinfo(&horzInfo)); - /* Setting the horizontal scroll can change the listview size - * (and potentially everything else) so we need to recompute - * everything again for the vertical scroll - */ + /* Update the Header Control */ + if (infoPtr->hwndHeader) + { + horzInfo.fMask = SIF_POS; + GetScrollInfo(infoPtr->hwndSelf, SB_HORZ, &horzInfo); + LISTVIEW_UpdateHeaderSize(infoPtr, horzInfo.nPos); + } + + LISTVIEW_UpdateSize(infoPtr); + return dx; +} + +static INT LISTVIEW_UpdateVScroll(LISTVIEW_INFO *infoPtr) +{ + SCROLLINFO vertInfo; + INT dy; ZeroMemory(&vertInfo, sizeof(SCROLLINFO)); vertInfo.cbSize = sizeof(SCROLLINFO); @@ -2117,6 +2116,37 @@ static void LISTVIEW_UpdateScroll(const LISTVIEW_INFO *infoPtr) dy -= SetScrollInfo(infoPtr->hwndSelf, SB_VERT, &vertInfo, TRUE); TRACE("vertInfo=%s\n", debugscrollinfo(&vertInfo)); + LISTVIEW_UpdateSize(infoPtr); + return dy; +} + +/*** + * DESCRIPTION: + * Update the scrollbars. This function should be called whenever + * the content, size or view changes. + * + * PARAMETER(S): + * [I] infoPtr : valid pointer to the listview structure + * + * RETURN: + * None + */ +static void LISTVIEW_UpdateScroll(LISTVIEW_INFO *infoPtr) +{ + INT dx, dy, pass; + + if ((infoPtr->dwStyle & LVS_NOSCROLL) || !is_redrawing(infoPtr)) return; + + /* Setting the horizontal scroll can change the listview size + * (and potentially everything else) so we need to recompute + * everything again for the vertical scroll and vice-versa + */ + for (dx = 0, dy = 0, pass = 0; pass <= 1; pass++) + { + dx += LISTVIEW_UpdateHScroll(infoPtr); + dy += LISTVIEW_UpdateVScroll(infoPtr); + } + /* Change of the range may have changed the scroll pos. If so move the content */ if (dx != 0 || dy != 0) { @@ -2125,14 +2155,6 @@ static void LISTVIEW_UpdateScroll(const LISTVIEW_INFO *infoPtr) ScrollWindowEx(infoPtr->hwndSelf, dx, dy, &listRect, &listRect, 0, 0, SW_ERASE | SW_INVALIDATE); } - - /* Update the Header Control */ - if (infoPtr->hwndHeader) - { - horzInfo.fMask = SIF_POS; - GetScrollInfo(infoPtr->hwndSelf, SB_HORZ, &horzInfo); - LISTVIEW_UpdateHeaderSize(infoPtr, horzInfo.nPos); - } }
1
0
0
0
Henri Verbeet : ddraw: Ignore unsupported blit flags.
by Alexandre Julliard
20 Oct '17
20 Oct '17
Module: wine Branch: stable Commit: bcaf945ed2f1e4d0ba2b4e0f53ab2c42d796575d URL:
http://source.winehq.org/git/wine.git/?a=commit;h=bcaf945ed2f1e4d0ba2b4e0f5…
Author: Henri Verbeet <hverbeet(a)codeweavers.com> Date: Mon Apr 24 23:31:30 2017 +0200 ddraw: Ignore unsupported blit flags. Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> (cherry picked from commit 6b41501344ecedf12692902f08aada283847e8cd) Conflicts: dlls/ddraw/surface.c Signed-off-by: Michael Stefaniuc <mstefani(a)winehq.org> --- dlls/ddraw/surface.c | 24 +++++++++++++++++++++--- dlls/ddraw/tests/ddraw1.c | 4 ++-- dlls/ddraw/tests/ddraw2.c | 4 ++-- dlls/ddraw/tests/ddraw4.c | 4 ++-- dlls/ddraw/tests/ddraw7.c | 4 ++-- 5 files changed, 29 insertions(+), 11 deletions(-) diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c index 94f850b..0c8081d 100644 --- a/dlls/ddraw/surface.c +++ b/dlls/ddraw/surface.c @@ -1547,15 +1547,33 @@ static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface7_Blt(IDirectDrawSurface7 * struct ddraw_surface *dst_impl = impl_from_IDirectDrawSurface7(iface); struct ddraw_surface *src_impl = unsafe_impl_from_IDirectDrawSurface7(src_surface); struct wined3d_blt_fx wined3d_fx; + DWORD unsupported_flags; HRESULT hr = DD_OK; DDBLTFX rop_fx; TRACE("iface %p, dst_rect %s, src_surface %p, src_rect %s, flags %#x, fx %p.\n", iface, wine_dbgstr_rect(dst_rect), src_surface, wine_dbgstr_rect(src_rect), flags, fx); - /* Check for validity of the flags here. WineD3D Has the software-opengl selection path and would have - * to check at 2 places, and sometimes do double checks. This also saves the call to wined3d :-) - */ + unsupported_flags = DDBLT_ALPHADEST + | DDBLT_ALPHADESTCONSTOVERRIDE + | DDBLT_ALPHADESTNEG + | DDBLT_ALPHADESTSURFACEOVERRIDE + | DDBLT_ALPHAEDGEBLEND + | DDBLT_ALPHASRC + | DDBLT_ALPHASRCCONSTOVERRIDE + | DDBLT_ALPHASRCNEG + | DDBLT_ALPHASRCSURFACEOVERRIDE + | DDBLT_ZBUFFER + | DDBLT_ZBUFFERDESTCONSTOVERRIDE + | DDBLT_ZBUFFERDESTOVERRIDE + | DDBLT_ZBUFFERSRCCONSTOVERRIDE + | DDBLT_ZBUFFERSRCOVERRIDE; + if (flags & unsupported_flags) + { + WARN("Ignoring unsupported flags %#x.\n", flags & unsupported_flags); + flags &= ~unsupported_flags; + } + if ((flags & DDBLT_KEYSRCOVERRIDE) && (!fx || flags & DDBLT_KEYSRC)) { WARN("Invalid source color key parameters, returning DDERR_INVALIDPARAMS\n"); diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c index 999547d..a09570c 100644 --- a/dlls/ddraw/tests/ddraw1.c +++ b/dlls/ddraw/tests/ddraw1.c @@ -8867,10 +8867,10 @@ static void test_blt_z_alpha(void) ok(SUCCEEDED(hr), "Test %u: Got unexpected hr %#x.\n", i, hr); hr = IDirectDrawSurface_Blt(dst_surface, NULL, src_surface, NULL, blt_flags[i] | DDBLT_WAIT, &fx); - todo_wine ok(SUCCEEDED(hr), "Test %u: Got unexpected hr %#x.\n", i, hr); + ok(SUCCEEDED(hr), "Test %u: Got unexpected hr %#x.\n", i, hr); color = get_surface_color(dst_surface, 32, 32); - todo_wine ok(compare_color(color, 0x0000ff00, 0), "Test %u: Got unexpected color 0x%08x.\n", i, color); + ok(compare_color(color, 0x0000ff00, 0), "Test %u: Got unexpected color 0x%08x.\n", i, color); } IDirectDrawSurface_Release(dst_surface); diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c index 1acaa96..bc3f345 100644 --- a/dlls/ddraw/tests/ddraw2.c +++ b/dlls/ddraw/tests/ddraw2.c @@ -9955,10 +9955,10 @@ static void test_blt_z_alpha(void) ok(SUCCEEDED(hr), "Test %u: Got unexpected hr %#x.\n", i, hr); hr = IDirectDrawSurface_Blt(dst_surface, NULL, src_surface, NULL, blt_flags[i] | DDBLT_WAIT, &fx); - todo_wine ok(SUCCEEDED(hr), "Test %u: Got unexpected hr %#x.\n", i, hr); + ok(SUCCEEDED(hr), "Test %u: Got unexpected hr %#x.\n", i, hr); color = get_surface_color(dst_surface, 32, 32); - todo_wine ok(compare_color(color, 0x0000ff00, 0), "Test %u: Got unexpected color 0x%08x.\n", i, color); + ok(compare_color(color, 0x0000ff00, 0), "Test %u: Got unexpected color 0x%08x.\n", i, color); } IDirectDrawSurface_Release(dst_surface); diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c index 557de42..9314ca1 100644 --- a/dlls/ddraw/tests/ddraw4.c +++ b/dlls/ddraw/tests/ddraw4.c @@ -11076,10 +11076,10 @@ static void test_blt_z_alpha(void) ok(SUCCEEDED(hr), "Test %u: Got unexpected hr %#x.\n", i, hr); hr = IDirectDrawSurface4_Blt(dst_surface, NULL, src_surface, NULL, blt_flags[i] | DDBLT_WAIT, &fx); - todo_wine ok(SUCCEEDED(hr), "Test %u: Got unexpected hr %#x.\n", i, hr); + ok(SUCCEEDED(hr), "Test %u: Got unexpected hr %#x.\n", i, hr); color = get_surface_color(dst_surface, 32, 32); - todo_wine ok(compare_color(color, 0x0000ff00, 0), "Test %u: Got unexpected color 0x%08x.\n", i, color); + ok(compare_color(color, 0x0000ff00, 0), "Test %u: Got unexpected color 0x%08x.\n", i, color); } IDirectDrawSurface4_Release(dst_surface); diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c index a800629..43ba419 100644 --- a/dlls/ddraw/tests/ddraw7.c +++ b/dlls/ddraw/tests/ddraw7.c @@ -11402,10 +11402,10 @@ static void test_blt_z_alpha(void) ok(SUCCEEDED(hr), "Test %u: Got unexpected hr %#x.\n", i, hr); hr = IDirectDrawSurface7_Blt(dst_surface, NULL, src_surface, NULL, blt_flags[i] | DDBLT_WAIT, &fx); - todo_wine ok(SUCCEEDED(hr), "Test %u: Got unexpected hr %#x.\n", i, hr); + ok(SUCCEEDED(hr), "Test %u: Got unexpected hr %#x.\n", i, hr); color = get_surface_color(dst_surface, 32, 32); - todo_wine ok(compare_color(color, 0x0000ff00, 0), "Test %u: Got unexpected color 0x%08x.\n", i, color); + ok(compare_color(color, 0x0000ff00, 0), "Test %u: Got unexpected color 0x%08x.\n", i, color); } IDirectDrawSurface7_Release(dst_surface);
1
0
0
0
← Newer
1
...
14
15
16
17
18
19
20
...
48
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Results per page:
10
25
50
100
200