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 2011
----- 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
3 participants
783 discussions
Start a n
N
ew thread
Vincent Povirk : msi: Use MsgWaitForMultipleObjectsEx to do waits.
by Alexandre Julliard
13 Oct '11
13 Oct '11
Module: wine Branch: master Commit: 2556173f20ba9583044aaf31b16cbb2214d2b907 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=2556173f20ba9583044aaf31b…
Author: Vincent Povirk <vincent(a)codeweavers.com> Date: Thu Oct 13 13:32:42 2011 -0500 msi: Use MsgWaitForMultipleObjectsEx to do waits. --- dlls/msi/dialog.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/dlls/msi/dialog.c b/dlls/msi/dialog.c index 7074a7b..8b10215 100644 --- a/dlls/msi/dialog.c +++ b/dlls/msi/dialog.c @@ -3787,7 +3787,7 @@ void msi_dialog_check_messages( HANDLE handle ) if( uiThreadId != GetCurrentThreadId() ) { if( handle ) - WaitForSingleObject( handle, INFINITE ); + MsgWaitForMultipleObjectsEx( 1, &handle, INFINITE, 0, 0 ); return; }
1
0
0
0
Vincent Povirk : windowscodecs: Use a smaller magic number to detect JPEG files.
by Alexandre Julliard
13 Oct '11
13 Oct '11
Module: wine Branch: master Commit: 219b987fa11cff464eaf76065adf687e9fb400d1 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=219b987fa11cff464eaf76065…
Author: Vincent Povirk <vincent(a)codeweavers.com> Date: Tue Oct 11 11:36:05 2011 -0500 windowscodecs: Use a smaller magic number to detect JPEG files. --- dlls/windowscodecs/regsvr.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/windowscodecs/regsvr.c b/dlls/windowscodecs/regsvr.c index 1ea0aa0..bc12e40 100644 --- a/dlls/windowscodecs/regsvr.c +++ b/dlls/windowscodecs/regsvr.c @@ -720,7 +720,7 @@ static struct decoder_pattern const ico_patterns[] = { {0} }; -static const BYTE jpeg_magic[] = {0xff, 0xd8, 0xff, 0xe0}; +static const BYTE jpeg_magic[] = {0xff, 0xd8}; static GUID const * const jpeg_formats[] = { &GUID_WICPixelFormat24bppBGR, @@ -730,7 +730,7 @@ static GUID const * const jpeg_formats[] = { }; static struct decoder_pattern const jpeg_patterns[] = { - {4,0,jpeg_magic,mask_all,0}, + {2,0,jpeg_magic,mask_all,0}, {0} };
1
0
0
0
Dan Kegel : winealsa.drv: When allocating opaque blobs for alsa, initialize them to zero.
by Alexandre Julliard
13 Oct '11
13 Oct '11
Module: wine Branch: master Commit: 78e6287f71cca2b7dfb30cc0f1d2151f0f00da8d URL:
http://source.winehq.org/git/wine.git/?a=commit;h=78e6287f71cca2b7dfb30cc0f…
Author: Dan Kegel <dank(a)kegel.com> Date: Thu Oct 13 11:14:18 2011 -0700 winealsa.drv: When allocating opaque blobs for alsa, initialize them to zero. --- dlls/winealsa.drv/mmdevdrv.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c index 640b191..29c3f72 100644 --- a/dlls/winealsa.drv/mmdevdrv.c +++ b/dlls/winealsa.drv/mmdevdrv.c @@ -258,7 +258,7 @@ static HRESULT alsa_get_card_devices(snd_pcm_stream_t stream, WCHAR **ids, char int err, device; snd_pcm_info_t *info; - info = HeapAlloc(GetProcessHeap(), 0, snd_pcm_info_sizeof()); + info = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, snd_pcm_info_sizeof()); if(!info) return E_OUTOFMEMORY; @@ -943,7 +943,7 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient *iface, goto exit; } - sw_params = HeapAlloc(GetProcessHeap(), 0, snd_pcm_sw_params_sizeof()); + sw_params = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, snd_pcm_sw_params_sizeof()); if(!sw_params){ hr = E_OUTOFMEMORY; goto exit; @@ -1364,7 +1364,7 @@ static HRESULT WINAPI AudioClient_GetMixFormat(IAudioClient *iface, if(!fmt) return E_OUTOFMEMORY; - formats = HeapAlloc(GetProcessHeap(), 0, snd_pcm_format_mask_sizeof()); + formats = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, snd_pcm_format_mask_sizeof()); if(!formats){ CoTaskMemFree(fmt); return E_OUTOFMEMORY;
1
0
0
0
Frédéric Delanoy : cmd: Make MOVE work for read-only files.
by Alexandre Julliard
13 Oct '11
13 Oct '11
Module: wine Branch: master Commit: 1e4c17e5ddc30581067c13cff48e672b1a292329 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=1e4c17e5ddc30581067c13cff…
Author: Frédéric Delanoy <frederic.delanoy(a)gmail.com> Date: Thu Oct 13 17:30:17 2011 +0200 cmd: Make MOVE work for read-only files. --- programs/cmd/builtins.c | 87 +++++++++++++---------------- programs/cmd/tests/test_builtins.cmd.exp | 2 +- 2 files changed, 40 insertions(+), 49 deletions(-) diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c index 1db9b3c..ed2b6f0 100644 --- a/programs/cmd/builtins.c +++ b/programs/cmd/builtins.c @@ -1554,8 +1554,8 @@ void WCMD_if (WCHAR *p, CMD_LIST **cmdList) { * Move a file, directory tree or wildcarded set of files. */ -void WCMD_move (void) { - +void WCMD_move (void) +{ int status; WIN32_FIND_DATAW fd; HANDLE hff; @@ -1594,6 +1594,7 @@ void WCMD_move (void) { WCHAR dest[MAX_PATH]; WCHAR src[MAX_PATH]; DWORD attribs; + BOOL ok = TRUE; WINE_TRACE("Processing file '%s'\n", wine_dbgstr_w(fd.cFileName)); @@ -1617,60 +1618,50 @@ void WCMD_move (void) { WINE_TRACE("Source '%s'\n", wine_dbgstr_w(src)); WINE_TRACE("Dest '%s'\n", wine_dbgstr_w(dest)); - /* Check if file is read only, otherwise move it */ - attribs = GetFileAttributesW(src); - if ((attribs != INVALID_FILE_ATTRIBUTES) && - (attribs & FILE_ATTRIBUTE_READONLY)) { - SetLastError(ERROR_ACCESS_DENIED); - status = 0; - } else { - BOOL ok = TRUE; - - /* If destination exists, prompt unless /Y supplied */ - if (GetFileAttributesW(dest) != INVALID_FILE_ATTRIBUTES) { - BOOL force = FALSE; - WCHAR copycmd[MAXSTRING]; - int len; - - /* /-Y has the highest priority, then /Y and finally the COPYCMD env. variable */ - if (strstrW (quals, parmNoY)) - force = FALSE; - else if (strstrW (quals, parmY)) - force = TRUE; - else { - static const WCHAR copyCmdW[] = {'C','O','P','Y','C','M','D','\0'}; - len = GetEnvironmentVariableW(copyCmdW, copycmd, sizeof(copycmd)/sizeof(WCHAR)); - force = (len && len < (sizeof(copycmd)/sizeof(WCHAR)) - && ! lstrcmpiW (copycmd, parmY)); - } + /* If destination exists, prompt unless /Y supplied */ + if (GetFileAttributesW(dest) != INVALID_FILE_ATTRIBUTES) { + BOOL force = FALSE; + WCHAR copycmd[MAXSTRING]; + int len; - /* Prompt if overwriting */ - if (!force) { - WCHAR question[MAXSTRING]; - WCHAR yesChar[10]; + /* /-Y has the highest priority, then /Y and finally the COPYCMD env. variable */ + if (strstrW (quals, parmNoY)) + force = FALSE; + else if (strstrW (quals, parmY)) + force = TRUE; + else { + static const WCHAR copyCmdW[] = {'C','O','P','Y','C','M','D','\0'}; + len = GetEnvironmentVariableW(copyCmdW, copycmd, sizeof(copycmd)/sizeof(WCHAR)); + force = (len && len < (sizeof(copycmd)/sizeof(WCHAR)) + && ! lstrcmpiW (copycmd, parmY)); + } - strcpyW(yesChar, WCMD_LoadMessage(WCMD_YES)); + /* Prompt if overwriting */ + if (!force) { + WCHAR question[MAXSTRING]; + WCHAR yesChar[10]; - /* Ask for confirmation */ - wsprintfW(question, WCMD_LoadMessage(WCMD_OVERWRITE), dest); - ok = WCMD_ask_confirm(question, FALSE, NULL); + strcpyW(yesChar, WCMD_LoadMessage(WCMD_YES)); - /* So delete the destination prior to the move */ - if (ok) { - if (!DeleteFileW(dest)) { - WCMD_print_error (); - errorlevel = 1; - ok = FALSE; - } + /* Ask for confirmation */ + wsprintfW(question, WCMD_LoadMessage(WCMD_OVERWRITE), dest); + ok = WCMD_ask_confirm(question, FALSE, NULL); + + /* So delete the destination prior to the move */ + if (ok) { + if (!DeleteFileW(dest)) { + WCMD_print_error (); + errorlevel = 1; + ok = FALSE; } } } + } - if (ok) { - status = MoveFileW(src, dest); - } else { - status = 1; /* Anything other than 0 to prevent error msg below */ - } + if (ok) { + status = MoveFileW(src, dest); + } else { + status = 1; /* Anything other than 0 to prevent error msg below */ } if (!status) { diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp index 2318d08..e45016c 100644 --- a/programs/cmd/tests/test_builtins.cmd.exp +++ b/programs/cmd/tests/test_builtins.cmd.exp @@ -609,7 +609,7 @@ bar file move succeeded @todo_wine@file move with overwrite succeeded@or_broken@file overwrite impossible! @todo_wine@bar@or_broken@baz -@todo_wine@read-only files are moveable +read-only files are moveable file moved in subdirectory @todo_wine@moving a file to itself is a no-op@or_broken@moving a file to itself should be a no-op! @todo_wine@ErrorLevel: 0@or_broken@ErrorLevel: 1
1
0
0
0
Frédéric Delanoy : cmd/tests: Show that read-only files are MOVEable.
by Alexandre Julliard
13 Oct '11
13 Oct '11
Module: wine Branch: master Commit: ad9ae2b8ff91a0148b4216a8eb964c41588e18d1 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=ad9ae2b8ff91a0148b4216a8e…
Author: Frédéric Delanoy <frederic.delanoy(a)gmail.com> Date: Thu Oct 13 17:30:16 2011 +0200 cmd/tests: Show that read-only files are MOVEable. --- programs/cmd/tests/test_builtins.cmd | 11 +++++++++++ programs/cmd/tests/test_builtins.cmd.exp | 1 + 2 files changed, 12 insertions(+), 0 deletions(-) diff --git a/programs/cmd/tests/test_builtins.cmd b/programs/cmd/tests/test_builtins.cmd index 49e3fde..1967e42 100644 --- a/programs/cmd/tests/test_builtins.cmd +++ b/programs/cmd/tests/test_builtins.cmd @@ -932,6 +932,17 @@ if not exist bar ( ) type baz +attrib +r baz +move baz bazro > nul 2>&1 +if not exist baz ( + if exist bazro ( + echo read-only files are moveable + move bazro baz > nul 2>&1 + ) +) else ( + echo read-only file not moved! +) +attrib -r baz mkdir rep move baz rep > nul 2>&1 if not exist baz ( diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp index 33a8113..2318d08 100644 --- a/programs/cmd/tests/test_builtins.cmd.exp +++ b/programs/cmd/tests/test_builtins.cmd.exp @@ -609,6 +609,7 @@ bar file move succeeded @todo_wine@file move with overwrite succeeded@or_broken@file overwrite impossible! @todo_wine@bar@or_broken@baz +@todo_wine@read-only files are moveable file moved in subdirectory @todo_wine@moving a file to itself is a no-op@or_broken@moving a file to itself should be a no-op! @todo_wine@ErrorLevel: 0@or_broken@ErrorLevel: 1
1
0
0
0
Dan Kegel : msi: Initialize variable to placate static analyzers.
by Alexandre Julliard
13 Oct '11
13 Oct '11
Module: wine Branch: master Commit: c77395dc08ffa41da3b51278dcb8194951125d5e URL:
http://source.winehq.org/git/wine.git/?a=commit;h=c77395dc08ffa41da3b51278d…
Author: Dan Kegel <dank(a)kegel.com> Date: Thu Oct 13 06:26:15 2011 -0700 msi: Initialize variable to placate static analyzers. --- dlls/msi/msi.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c index c1ebe17..ce08940 100644 --- a/dlls/msi/msi.c +++ b/dlls/msi/msi.c @@ -350,7 +350,7 @@ done: static UINT MSI_ApplyPatchW(LPCWSTR szPatchPackage, LPCWSTR szProductCode, LPCWSTR szCommandLine) { - UINT r, i; + UINT i, r = ERROR_FUNCTION_FAILED; DWORD size; LPCWSTR cmd_ptr = szCommandLine; LPWSTR cmd, *codes = NULL;
1
0
0
0
Alexandre Julliard : gdi32: Add a helper for RGB to color index mapping to avoid redundant shifts.
by Alexandre Julliard
13 Oct '11
13 Oct '11
Module: wine Branch: master Commit: e79033e6fab04e35ded889efadd66ff710258e6d URL:
http://source.winehq.org/git/wine.git/?a=commit;h=e79033e6fab04e35ded889efa…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Thu Oct 13 11:21:58 2011 +0200 gdi32: Add a helper for RGB to color index mapping to avoid redundant shifts. --- dlls/gdi32/dibdrv/primitives.c | 249 +++++++++++++++++++--------------------- 1 files changed, 120 insertions(+), 129 deletions(-) Diff:
http://source.winehq.org/git/wine.git/?a=commitdiff;h=e79033e6fab04e35ded88…
1
0
0
0
Alexandre Julliard : gdi32: Add a check for null bitfields in SetDIBits.
by Alexandre Julliard
13 Oct '11
13 Oct '11
Module: wine Branch: master Commit: 34310d44792b334d4995b1830c4137d9b764eba8 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=34310d44792b334d4995b1830…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Thu Oct 13 00:43:05 2011 +0200 gdi32: Add a check for null bitfields in SetDIBits. --- dlls/gdi32/dib.c | 9 +++++++++ dlls/gdi32/tests/bitmap.c | 6 +++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/dlls/gdi32/dib.c b/dlls/gdi32/dib.c index 56efda7..20041ad 100644 --- a/dlls/gdi32/dib.c +++ b/dlls/gdi32/dib.c @@ -519,6 +519,15 @@ INT WINAPI SetDIBits( HDC hdc, HBITMAP hbitmap, UINT startscan, SetLastError( ERROR_INVALID_PARAMETER ); return 0; } + if (src_info->bmiHeader.biCompression == BI_BITFIELDS) + { + DWORD *masks = (DWORD *)src_info->bmiColors; + if (!masks[0] || !masks[1] || !masks[2]) + { + SetLastError( ERROR_INVALID_PARAMETER ); + return 0; + } + } src_bits.ptr = (void *)bits; src_bits.is_copy = FALSE; diff --git a/dlls/gdi32/tests/bitmap.c b/dlls/gdi32/tests/bitmap.c index eaf96a5..e069fa8 100644 --- a/dlls/gdi32/tests/bitmap.c +++ b/dlls/gdi32/tests/bitmap.c @@ -976,7 +976,7 @@ static void test_dib_formats(void) hdib = CreateDIBSection(hdc, bi, DIB_RGB_COLORS, &bits, NULL, 0); ok( hdib == NULL, "CreateDIBSection succeeded with null bitfields\n" ); ret = SetDIBits(hdc, hbmp, 0, 1, data, bi, DIB_RGB_COLORS); - todo_wine ok( !ret, "SetDIBits succeeded with null bitfields\n" ); + ok( !ret, "SetDIBits succeeded with null bitfields\n" ); /* other functions don't check */ hdib = CreateDIBitmap( hdc, &bi->bmiHeader, 0, bits, bi, DIB_RGB_COLORS ); ok( hdib != NULL, "CreateDIBitmap failed with null bitfields\n" ); @@ -984,7 +984,7 @@ static void test_dib_formats(void) ret = SetDIBitsToDevice( memdc, 0, 0, 1, 1, 0, 0, 0, 1, data, bi, DIB_RGB_COLORS ); ok( ret, "SetDIBitsToDevice failed with null bitfields\n" ); ret = StretchDIBits( memdc, 0, 0, 1, 1, 0, 0, 1, 1, data, bi, DIB_RGB_COLORS, SRCCOPY ); - ok( ret, "StretchDIBits failed with null bitfields\n" ); + todo_wine ok( ret, "StretchDIBits failed with null bitfields\n" ); ret = GetDIBits(hdc, hbmp, 0, 2, data, bi, DIB_RGB_COLORS); ok( ret, "GetDIBits failed with null bitfields\n" ); bi->bmiHeader.biPlanes = 1; @@ -1004,7 +1004,7 @@ static void test_dib_formats(void) hdib = CreateDIBSection(hdc, bi, DIB_RGB_COLORS, &bits, NULL, 0); ok( hdib == NULL, "CreateDIBSection succeeded with null bitfields\n" ); ret = SetDIBits(hdc, hbmp, 0, 1, data, bi, DIB_RGB_COLORS); - todo_wine ok( !ret, "SetDIBits succeeded with null bitfields\n" ); + ok( !ret, "SetDIBits succeeded with null bitfields\n" ); /* garbage is ok though */ *(DWORD *)&bi->bmiColors[0] = 0x55;
1
0
0
0
Alexandre Julliard : gdi32: Get rid of the return value in DIB conversion functions, they never fail now.
by Alexandre Julliard
13 Oct '11
13 Oct '11
Module: wine Branch: master Commit: a413916802df65f169c783f88372ab5dbf05f9ca URL:
http://source.winehq.org/git/wine.git/?a=commit;h=a413916802df65f169c783f88…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Thu Oct 13 00:15:29 2011 +0200 gdi32: Get rid of the return value in DIB conversion functions, they never fail now. --- dlls/gdi32/dibdrv/dc.c | 3 +- dlls/gdi32/dibdrv/dibdrv.h | 2 +- dlls/gdi32/dibdrv/objects.c | 10 ++---- dlls/gdi32/dibdrv/primitives.c | 68 +++++---------------------------------- 4 files changed, 15 insertions(+), 68 deletions(-) diff --git a/dlls/gdi32/dibdrv/dc.c b/dlls/gdi32/dibdrv/dc.c index 883a60a..29528f5 100644 --- a/dlls/gdi32/dibdrv/dc.c +++ b/dlls/gdi32/dibdrv/dc.c @@ -290,7 +290,8 @@ DWORD convert_bitmapinfo( const BITMAPINFO *src_info, void *src_bits, struct bit __TRY { - ret = dst_dib.funcs->convert_to( &dst_dib, &src_dib, &src->visrect ); + dst_dib.funcs->convert_to( &dst_dib, &src_dib, &src->visrect ); + ret = TRUE; } __EXCEPT_PAGE_FAULT { diff --git a/dlls/gdi32/dibdrv/dibdrv.h b/dlls/gdi32/dibdrv/dibdrv.h index 0be8ffa..7eae7cb 100644 --- a/dlls/gdi32/dibdrv/dibdrv.h +++ b/dlls/gdi32/dibdrv/dibdrv.h @@ -141,7 +141,7 @@ typedef struct primitive_funcs void (* copy_rect)(const dib_info *dst, const RECT *rc, const dib_info *src, const POINT *origin, int rop2, int overlap); DWORD (* colorref_to_pixel)(const dib_info *dib, COLORREF color); - BOOL (* convert_to)(dib_info *dst, const dib_info *src, const RECT *src_rect); + void (* convert_to)(dib_info *dst, const dib_info *src, const RECT *src_rect); BOOL (* create_rop_masks)(const dib_info *dib, const dib_info *hatch, const rop_mask *fg, const rop_mask *bg, rop_mask_bits *bits); void (* stretch_row)(const dib_info *dst_dib, const POINT *dst_start, diff --git a/dlls/gdi32/dibdrv/objects.c b/dlls/gdi32/dibdrv/objects.c index 2dcd33a..67eda57 100644 --- a/dlls/gdi32/dibdrv/objects.c +++ b/dlls/gdi32/dibdrv/objects.c @@ -1349,13 +1349,9 @@ HBRUSH dibdrv_SelectBrush( PHYSDEV dev, HBRUSH hbrush ) rect.right = orig_dib.width; rect.bottom = orig_dib.height; - if(pdev->brush_dib.funcs->convert_to(&pdev->brush_dib, &orig_dib, &rect)) - { - pdev->brush_rects = pattern_brush; - pdev->defer &= ~DEFER_BRUSH; - } - else - free_dib_info(&pdev->brush_dib); + pdev->brush_dib.funcs->convert_to(&pdev->brush_dib, &orig_dib, &rect); + pdev->brush_rects = pattern_brush; + pdev->defer &= ~DEFER_BRUSH; free_dib_info(&orig_dib); } GlobalUnlock((HGLOBAL)logbrush.lbHatch); diff --git a/dlls/gdi32/dibdrv/primitives.c b/dlls/gdi32/dibdrv/primitives.c index 051177d..47e5f77 100644 --- a/dlls/gdi32/dibdrv/primitives.c +++ b/dlls/gdi32/dibdrv/primitives.c @@ -1141,7 +1141,7 @@ static inline BOOL bit_fields_match(const dib_info *d1, const dib_info *d2) d1->blue_mask == d2->blue_mask; } -static BOOL convert_to_8888(dib_info *dst, const dib_info *src, const RECT *src_rect) +static void convert_to_8888(dib_info *dst, const dib_info *src, const RECT *src_rect) { DWORD *dst_start = get_pixel_ptr_32(dst, 0, 0), *dst_pixel, src_val; int x, y, pad_size = (dst->width - (src_rect->right - src_rect->left)) * 4; @@ -1376,16 +1376,10 @@ static BOOL convert_to_8888(dib_info *dst, const dib_info *src, const RECT *src_ } break; } - - default: - FIXME("Unsupported conversion: %d -> 8888\n", src->bit_count); - return FALSE; } - - return TRUE; } -static BOOL convert_to_32(dib_info *dst, const dib_info *src, const RECT *src_rect) +static void convert_to_32(dib_info *dst, const dib_info *src, const RECT *src_rect) { DWORD *dst_start = get_pixel_ptr_32(dst, 0, 0), *dst_pixel, src_val; int x, y, pad_size = (dst->width - (src_rect->right - src_rect->left)) * 4; @@ -1648,16 +1642,10 @@ static BOOL convert_to_32(dib_info *dst, const dib_info *src, const RECT *src_re } break; } - - default: - FIXME("Unsupported conversion: %d -> 32\n", src->bit_count); - return FALSE; } - - return TRUE; } -static BOOL convert_to_24(dib_info *dst, const dib_info *src, const RECT *src_rect) +static void convert_to_24(dib_info *dst, const dib_info *src, const RECT *src_rect) { BYTE *dst_start = get_pixel_ptr_24(dst, 0, 0), *dst_pixel; DWORD src_val; @@ -1897,16 +1885,10 @@ static BOOL convert_to_24(dib_info *dst, const dib_info *src, const RECT *src_re } break; } - - default: - FIXME("Unsupported conversion: %d -> 24\n", src->bit_count); - return FALSE; } - - return TRUE; } -static BOOL convert_to_555(dib_info *dst, const dib_info *src, const RECT *src_rect) +static void convert_to_555(dib_info *dst, const dib_info *src, const RECT *src_rect) { WORD *dst_start = get_pixel_ptr_16(dst, 0, 0), *dst_pixel; INT x, y, pad_size = ((dst->width + 1) & ~1) * 2 - (src_rect->right - src_rect->left) * 2; @@ -2145,16 +2127,10 @@ static BOOL convert_to_555(dib_info *dst, const dib_info *src, const RECT *src_r } break; } - - default: - FIXME("Unsupported conversion: %d -> 555\n", src->bit_count); - return FALSE; - } - return TRUE; } -static BOOL convert_to_16(dib_info *dst, const dib_info *src, const RECT *src_rect) +static void convert_to_16(dib_info *dst, const dib_info *src, const RECT *src_rect) { WORD *dst_start = get_pixel_ptr_16(dst, 0, 0), *dst_pixel; INT x, y, pad_size = ((dst->width + 1) & ~1) * 2 - (src_rect->right - src_rect->left) * 2; @@ -2417,13 +2393,7 @@ static BOOL convert_to_16(dib_info *dst, const dib_info *src, const RECT *src_re } break; } - - default: - FIXME("Unsupported conversion: %d -> 16\n", src->bit_count); - return FALSE; - } - return TRUE; } static inline BOOL color_tables_match(const dib_info *d1, const dib_info *d2) @@ -2434,7 +2404,7 @@ static inline BOOL color_tables_match(const dib_info *d1, const dib_info *d2) return !memcmp(d1->color_table, d2->color_table, d1->color_table_size * sizeof(d1->color_table[0])); } -static BOOL convert_to_8(dib_info *dst, const dib_info *src, const RECT *src_rect) +static void convert_to_8(dib_info *dst, const dib_info *src, const RECT *src_rect) { BYTE *dst_start = get_pixel_ptr_8(dst, 0, 0), *dst_pixel; INT x, y, pad_size = ((dst->width + 3) & ~3) - (src_rect->right - src_rect->left); @@ -2695,16 +2665,10 @@ static BOOL convert_to_8(dib_info *dst, const dib_info *src, const RECT *src_rec } break; } - - default: - FIXME("Unsupported conversion: %d -> 8\n", src->bit_count); - return FALSE; - } - return TRUE; } -static BOOL convert_to_4(dib_info *dst, const dib_info *src, const RECT *src_rect) +static void convert_to_4(dib_info *dst, const dib_info *src, const RECT *src_rect) { BYTE *dst_start = get_pixel_ptr_4(dst, 0, 0), *dst_pixel, dst_val; INT x, y, pad_size = ((dst->width + 7) & ~7) / 2 - (src_rect->right - src_rect->left + 1) / 2; @@ -3088,17 +3052,10 @@ static BOOL convert_to_4(dib_info *dst, const dib_info *src, const RECT *src_rec } break; } - - default: - FIXME("Unsupported conversion: %d -> 4\n", src->bit_count); - return FALSE; - } - - return TRUE; } -static BOOL convert_to_1(dib_info *dst, const dib_info *src, const RECT *src_rect) +static void convert_to_1(dib_info *dst, const dib_info *src, const RECT *src_rect) { BYTE *dst_start = get_pixel_ptr_1(dst, 0, 0), *dst_pixel, dst_val; INT x, y, pad_size = ((dst->width + 31) & ~31) / 8 - (src_rect->right - src_rect->left + 7) / 8; @@ -3490,18 +3447,11 @@ static BOOL convert_to_1(dib_info *dst, const dib_info *src, const RECT *src_rec } break; } - - default: - FIXME("Unsupported conversion: %d -> 1\n", src->bit_count); - return FALSE; - } - return TRUE; } -static BOOL convert_to_null(dib_info *dst, const dib_info *src, const RECT *src_rect) +static void convert_to_null(dib_info *dst, const dib_info *src, const RECT *src_rect) { - return FALSE; } static BOOL create_rop_masks_32(const dib_info *dib, const dib_info *hatch, const rop_mask *fg, const rop_mask *bg, rop_mask_bits *bits)
1
0
0
0
Alexandre Julliard : gdi32: Add support for arbitrary DIB bitfields for 16-bpp conversions.
by Alexandre Julliard
13 Oct '11
13 Oct '11
Module: wine Branch: master Commit: 587f492fdf9341a535e262d7d8cdb85a326996e6 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=587f492fdf9341a535e262d7d…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Thu Oct 13 00:12:04 2011 +0200 gdi32: Add support for arbitrary DIB bitfields for 16-bpp conversions. --- dlls/gdi32/dibdrv/primitives.c | 162 +++++++++++++++++++++++++++++++++++----- dlls/gdi32/tests/bitmap.c | 55 +++----------- 2 files changed, 156 insertions(+), 61 deletions(-) Diff:
http://source.winehq.org/git/wine.git/?a=commitdiff;h=587f492fdf9341a535e26…
1
0
0
0
← Newer
1
...
46
47
48
49
50
51
52
...
79
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
Results per page:
10
25
50
100
200