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
March 2012
----- 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
710 discussions
Start a n
N
ew thread
Jacek Caban : jscript: Properly handle NULL strings in add_eval.
by Alexandre Julliard
09 Mar '12
09 Mar '12
Module: wine Branch: master Commit: f8b20563aa5c8419e82020698295d27e6aab5688 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=f8b20563aa5c8419e82020698…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Thu Mar 8 14:28:02 2012 +0100 jscript: Properly handle NULL strings in add_eval. --- dlls/jscript/engine.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) diff --git a/dlls/jscript/engine.c b/dlls/jscript/engine.c index 11b434f..0ae142a 100644 --- a/dlls/jscript/engine.c +++ b/dlls/jscript/engine.c @@ -1509,8 +1509,11 @@ static HRESULT add_eval(script_ctx_t *ctx, VARIANT *lval, VARIANT *rval, jsexcep V_VT(retv) = VT_BSTR; V_BSTR(retv) = SysAllocStringLen(NULL, len1+len2); - memcpy(V_BSTR(retv), lstr, len1*sizeof(WCHAR)); - memcpy(V_BSTR(retv)+len1, rstr, (len2+1)*sizeof(WCHAR)); + if(len1) + memcpy(V_BSTR(retv), lstr, len1*sizeof(WCHAR)); + if(len2) + memcpy(V_BSTR(retv)+len1, rstr, len2*sizeof(WCHAR)); + V_BSTR(retv)[len1+len2] = 0; } if(V_VT(&l) != VT_BSTR)
1
0
0
0
Jacek Caban : jscript: Added IVariantChangeType stub implementation.
by Alexandre Julliard
09 Mar '12
09 Mar '12
Module: wine Branch: master Commit: 1cadd7cc32201357149430f385008606f112cec6 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=1cadd7cc32201357149430f38…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Thu Mar 8 14:27:47 2012 +0100 jscript: Added IVariantChangeType stub implementation. --- dlls/jscript/jscript.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 43 insertions(+), 0 deletions(-) diff --git a/dlls/jscript/jscript.c b/dlls/jscript/jscript.c index 68ace36..750104c 100644 --- a/dlls/jscript/jscript.c +++ b/dlls/jscript/jscript.c @@ -46,6 +46,7 @@ typedef struct { IActiveScriptParseProcedure2 IActiveScriptParseProcedure2_iface; IActiveScriptProperty IActiveScriptProperty_iface; IObjectSafety IObjectSafety_iface; + IVariantChangeType IVariantChangeType_iface; LONG ref; @@ -70,6 +71,7 @@ void script_release(script_ctx_t *ctx) release_cc(ctx->cc); jsheap_free(&ctx->tmp_heap); SysFreeString(ctx->last_match); + heap_free(ctx); } @@ -373,6 +375,9 @@ static HRESULT WINAPI JScript_QueryInterface(IActiveScript *iface, REFIID riid, }else if(IsEqualGUID(riid, &IID_IObjectSafety)) { TRACE("(%p)->(IID_IObjectSafety %p)\n", This, ppv); *ppv = &This->IObjectSafety_iface; + }else if(IsEqualGUID(riid, &IID_IVariantChangeType)) { + TRACE("(%p)->(IID_IVariantChangeType %p)\n", This, ppv); + *ppv = &This->IVariantChangeType_iface; } if(*ppv) { @@ -962,6 +967,43 @@ static const IObjectSafetyVtbl JScriptSafetyVtbl = { JScriptSafety_SetInterfaceSafetyOptions }; +static inline JScript *impl_from_IVariantChangeType(IVariantChangeType *iface) +{ + return CONTAINING_RECORD(iface, JScript, IVariantChangeType_iface); +} + +static HRESULT WINAPI VariantChangeType_QueryInterface(IVariantChangeType *iface, REFIID riid, void **ppv) +{ + JScript *This = impl_from_IVariantChangeType(iface); + return IActiveScript_QueryInterface(&This->IActiveScript_iface, riid, ppv); +} + +static ULONG WINAPI VariantChangeType_AddRef(IVariantChangeType *iface) +{ + JScript *This = impl_from_IVariantChangeType(iface); + return IActiveScript_AddRef(&This->IActiveScript_iface); +} + +static ULONG WINAPI VariantChangeType_Release(IVariantChangeType *iface) +{ + JScript *This = impl_from_IVariantChangeType(iface); + return IActiveScript_Release(&This->IActiveScript_iface); +} + +static HRESULT WINAPI VariantChangeType_ChangeType(IVariantChangeType *iface, VARIANT *dst, VARIANT *src, LCID lcid, VARTYPE vt) +{ + JScript *This = impl_from_IVariantChangeType(iface); + FIXME("(%p)->(%p %s %x %d)\n", This, dst, debugstr_variant(src), lcid, vt); + return E_NOTIMPL; +} + +static const IVariantChangeTypeVtbl VariantChangeTypeVtbl = { + VariantChangeType_QueryInterface, + VariantChangeType_AddRef, + VariantChangeType_Release, + VariantChangeType_ChangeType +}; + HRESULT WINAPI JScriptFactory_CreateInstance(IClassFactory *iface, IUnknown *pUnkOuter, REFIID riid, void **ppv) { @@ -986,6 +1028,7 @@ HRESULT WINAPI JScriptFactory_CreateInstance(IClassFactory *iface, IUnknown *pUn ret->IActiveScriptParseProcedure2_iface.lpVtbl = &JScriptParseProcedureVtbl; ret->IActiveScriptProperty_iface.lpVtbl = &JScriptPropertyVtbl; ret->IObjectSafety_iface.lpVtbl = &JScriptSafetyVtbl; + ret->IVariantChangeType_iface.lpVtbl = &VariantChangeTypeVtbl; ret->ref = 1; ret->safeopt = INTERFACE_USES_DISPEX;
1
0
0
0
Dmitry Timoshkov : gdiplus: Create GDI brush only when needed.
by Alexandre Julliard
09 Mar '12
09 Mar '12
Module: wine Branch: master Commit: 0d7bc4b325de1788dc2643ac84d5579bed82d562 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=0d7bc4b325de1788dc2643ac8…
Author: Dmitry Timoshkov <dmitry(a)baikal.ru> Date: Thu Mar 8 20:32:28 2012 +0800 gdiplus: Create GDI brush only when needed. --- dlls/gdiplus/brush.c | 150 +++----------------------------- dlls/gdiplus/gdiplus_private.h | 2 - dlls/gdiplus/graphics.c | 189 +++++++++++++++++++++++++++++++++++++--- 3 files changed, 188 insertions(+), 153 deletions(-) Diff:
http://source.winehq.org/git/wine.git/?a=commitdiff;h=0d7bc4b325de1788dc264…
1
0
0
0
Dmitry Timoshkov : kernel32: Add some CreateFile disposition and access tests.
by Alexandre Julliard
09 Mar '12
09 Mar '12
Module: wine Branch: master Commit: 7a9fce25ec725a7d1942e414ec53fecbe4bc0458 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=7a9fce25ec725a7d1942e414e…
Author: Dmitry Timoshkov <dmitry(a)baikal.ru> Date: Thu Mar 8 20:29:50 2012 +0800 kernel32: Add some CreateFile disposition and access tests. --- dlls/kernel32/tests/file.c | 87 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 87 insertions(+), 0 deletions(-) diff --git a/dlls/kernel32/tests/file.c b/dlls/kernel32/tests/file.c index 39e6cb9..9cfb664 100644 --- a/dlls/kernel32/tests/file.c +++ b/dlls/kernel32/tests/file.c @@ -3151,6 +3151,92 @@ static void test_ReplaceFileW(void) } } +static void test_CreatFile(void) +{ + static const struct test_data + { + DWORD disposition, access, error, clean_up; + } td[] = + { + /* 0 */ { 0, 0, ERROR_INVALID_PARAMETER, 0 }, + /* 1 */ { 0, GENERIC_READ, ERROR_INVALID_PARAMETER, 0 }, + /* 2 */ { 0, GENERIC_READ|GENERIC_WRITE, ERROR_INVALID_PARAMETER, 0 }, + /* 3 */ { CREATE_NEW, 0, ERROR_FILE_EXISTS, 1 }, + /* 4 */ { CREATE_NEW, 0, 0, 1 }, + /* 5 */ { CREATE_NEW, GENERIC_READ, 0, 1 }, + /* 6 */ { CREATE_NEW, GENERIC_WRITE, 0, 1 }, + /* 7 */ { CREATE_NEW, GENERIC_READ|GENERIC_WRITE, 0, 0 }, + /* 8 */ { CREATE_ALWAYS, 0, 0, 0 }, + /* 9 */ { CREATE_ALWAYS, GENERIC_READ, 0, 0 }, + /* 10*/ { CREATE_ALWAYS, GENERIC_WRITE, 0, 0 }, + /* 11*/ { CREATE_ALWAYS, GENERIC_READ|GENERIC_WRITE, 0, 1 }, + /* 12*/ { OPEN_EXISTING, 0, ERROR_FILE_NOT_FOUND, 0 }, + /* 13*/ { CREATE_ALWAYS, 0, 0, 0 }, + /* 14*/ { OPEN_EXISTING, 0, 0, 0 }, + /* 15*/ { OPEN_EXISTING, GENERIC_READ, 0, 0 }, + /* 16*/ { OPEN_EXISTING, GENERIC_WRITE, 0, 0 }, + /* 17*/ { OPEN_EXISTING, GENERIC_READ|GENERIC_WRITE, 0, 1 }, + /* 18*/ { OPEN_ALWAYS, 0, 0, 0 }, + /* 19*/ { OPEN_ALWAYS, GENERIC_READ, 0, 0 }, + /* 20*/ { OPEN_ALWAYS, GENERIC_WRITE, 0, 0 }, + /* 21*/ { OPEN_ALWAYS, GENERIC_READ|GENERIC_WRITE, 0, 0 }, + /* 22*/ { TRUNCATE_EXISTING, 0, ERROR_INVALID_PARAMETER, 0 }, + /* 23*/ { TRUNCATE_EXISTING, GENERIC_READ, ERROR_INVALID_PARAMETER, 0 }, + /* 24*/ { TRUNCATE_EXISTING, GENERIC_WRITE, 0, 0 }, + /* 25*/ { TRUNCATE_EXISTING, GENERIC_READ|GENERIC_WRITE, 0, 0 } + }; + char temp_path[MAX_PATH]; + char file_name[MAX_PATH]; + DWORD i, ret, written; + HANDLE hfile; + + GetTempPath(MAX_PATH, temp_path); + GetTempFileName(temp_path, "tmp", 0, file_name); + + for (i = 0; i < sizeof(td)/sizeof(td[0]); i++) + { + SetLastError(0xdeadbeef); + hfile = CreateFile(file_name, td[i].access, 0, NULL, td[i].disposition, 0, 0); + if (!td[i].error) + { + ok(hfile != INVALID_HANDLE_VALUE, "%d: CreateFile error %d\n", i, GetLastError()); + written = 0xdeadbeef; + SetLastError(0xdeadbeef); + ret = WriteFile(hfile, &td[i].error, sizeof(td[i].error), &written, NULL); + if (td[i].access & GENERIC_WRITE) + ok(ret, "%d: WriteFile error %d\n", i, GetLastError()); + else + { + ok(!ret, "%d: WriteFile should fail\n", i); + ok(GetLastError() == ERROR_ACCESS_DENIED, "%d: expected ERROR_ACCESS_DENIED, got %d\n", i, GetLastError()); + } + CloseHandle(hfile); + } + else + { + /* FIXME: remove the condition below once Wine is fixed */ + if (td[i].disposition == TRUNCATE_EXISTING && !(td[i].access & GENERIC_WRITE)) + { + todo_wine + { + ok(hfile == INVALID_HANDLE_VALUE, "%d: CreateFile should fail\n", i); + ok(GetLastError() == td[i].error, "%d: expected %d, got %d\n", i, td[i].error, GetLastError()); + } + CloseHandle(hfile); + } + else + { + ok(hfile == INVALID_HANDLE_VALUE, "%d: CreateFile should fail\n", i); + ok(GetLastError() == td[i].error, "%d: expected %d, got %d\n", i, td[i].error, GetLastError()); + } + } + + if (td[i].clean_up) DeleteFile(file_name); + } + + DeleteFile(file_name); +} + START_TEST(file) { InitFunctionPointers(); @@ -3166,6 +3252,7 @@ START_TEST(file) test_GetTempFileNameA(); test_CopyFileA(); test_CopyFileW(); + test_CreatFile(); test_CreateFileA(); test_CreateFileW(); test_DeleteFileA();
1
0
0
0
Dmitry Timoshkov : kernel32: Fix file test compilation with PSDK headers.
by Alexandre Julliard
09 Mar '12
09 Mar '12
Module: wine Branch: master Commit: 75209ffdaf83c1be1437e68f5adf741a74a558a2 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=75209ffdaf83c1be1437e68f5…
Author: Dmitry Timoshkov <dmitry(a)baikal.ru> Date: Thu Mar 8 20:29:35 2012 +0800 kernel32: Fix file test compilation with PSDK headers. --- dlls/kernel32/tests/file.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/dlls/kernel32/tests/file.c b/dlls/kernel32/tests/file.c index f2a9a07..39e6cb9 100644 --- a/dlls/kernel32/tests/file.c +++ b/dlls/kernel32/tests/file.c @@ -1763,7 +1763,7 @@ static BOOL create_fake_dll( LPCSTR filename ) # error You must specify the machine type #endif nt->FileHeader.NumberOfSections = 1; - nt->FileHeader.SizeOfOptionalHeader = IMAGE_SIZEOF_NT_OPTIONAL_HEADER; + nt->FileHeader.SizeOfOptionalHeader = sizeof(IMAGE_OPTIONAL_HEADER); nt->FileHeader.Characteristics = IMAGE_FILE_DLL | IMAGE_FILE_EXECUTABLE_IMAGE; nt->OptionalHeader.Magic = IMAGE_NT_OPTIONAL_HDR_MAGIC; nt->OptionalHeader.MajorLinkerVersion = 1;
1
0
0
0
André Hentschel : include: Add more error codes.
by Alexandre Julliard
09 Mar '12
09 Mar '12
Module: wine Branch: master Commit: d6d88652729f398bbade378259aa91d319ec1e7f URL:
http://source.winehq.org/git/wine.git/?a=commit;h=d6d88652729f398bbade37825…
Author: André Hentschel <nerv(a)dawncrow.de> Date: Wed Mar 7 16:33:28 2012 +0100 include: Add more error codes. --- include/winerror.h | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 55 insertions(+), 0 deletions(-) diff --git a/include/winerror.h b/include/winerror.h index 79cc5ed..df67e3c 100644 --- a/include/winerror.h +++ b/include/winerror.h @@ -460,6 +460,61 @@ static inline HRESULT HRESULT_FROM_WIN32(unsigned int x) #define ERROR_MP_PROCESSOR_MISMATCH 725 #define ERROR_HIBERNATED 726 #define ERROR_RESUME_HIBERNATION 727 +#define ERROR_FIRMWARE_UPDATED 728 +#define ERROR_DRIVERS_LEAKING_LOCKED_PAGES 729 +#define ERROR_WAKE_SYSTEM 730 +#define ERROR_ABANDONED_WAIT_0 735 +#define ERROR_ELEVATION_REQUIRED 740 +#define ERROR_REPARSE 741 +#define ERROR_OPLOCK_BREAK_IN_PROGRESS 742 +#define ERROR_VOLUME_MOUNTED 743 +#define ERROR_RXACT_COMMITTED 744 +#define ERROR_NOTIFY_CLEANUP 745 +#define ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED 746 +#define ERROR_PAGE_FAULT_TRANSITION 747 +#define ERROR_PAGE_FAULT_DEMAND_ZERO 748 +#define ERROR_PAGE_FAULT_COPY_ON_WRITE 749 +#define ERROR_PAGE_FAULT_GUARD_PAGE 750 +#define ERROR_PAGE_FAULT_PAGING_FILE 751 +#define ERROR_CACHE_PAGE_LOCKED 752 +#define ERROR_CRASH_DUMP 753 +#define ERROR_BUFFER_ALL_ZEROS 754 +#define ERROR_REPARSE_OBJECT 755 +#define ERROR_RESOURCE_REQUIREMENTS_CHANGED 756 +#define ERROR_TRANSLATION_COMPLETE 757 +#define ERROR_NOTHING_TO_TERMINATE 758 +#define ERROR_PROCESS_NOT_IN_JOB 759 +#define ERROR_PROCESS_IN_JOB 760 +#define ERROR_VOLSNAP_HIBERNATE_READY 761 +#define ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY 762 +#define ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED 763 +#define ERROR_INTERRUPT_STILL_CONNECTED 764 +#define ERROR_WAIT_FOR_OPLOCK 765 +#define ERROR_DBG_EXCEPTION_HANDLED 766 +#define ERROR_DBG_CONTINUE 767 +#define ERROR_CALLBACK_POP_STACK 768 +#define ERROR_COMPRESSION_DISABLED 769 +#define ERROR_CANTFETCHBACKWARDS 770 +#define ERROR_CANTSCROLLBACKWARDS 771 +#define ERROR_ROWSNOTRELEASED 772 +#define ERROR_BAD_ACCESSOR_FLAGS 773 +#define ERROR_ERRORS_ENCOUNTERED 774 +#define ERROR_NOT_CAPABLE 775 +#define ERROR_REQUEST_OUT_OF_SEQUENCE 776 +#define ERROR_VERSION_PARSE_ERROR 777 +#define ERROR_BADSTARTPOSITION 778 +#define ERROR_MEMORY_HARDWARE 779 +#define ERROR_DISK_REPAIR_DISABLED 780 +#define ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE 781 +#define ERROR_SYSTEM_POWERSTATE_TRANSITION 782 +#define ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION 783 +#define ERROR_MCA_EXCEPTION 784 +#define ERROR_ACCESS_AUDIT_BY_POLICY 785 +#define ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY 786 +#define ERROR_ABANDON_HIBERFILE 787 +#define ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED 788 +#define ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR 789 +#define ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR 790 #define ERROR_EA_ACCESS_DENIED 994 #define ERROR_OPERATION_ABORTED 995 #define ERROR_IO_INCOMPLETE 996
1
0
0
0
Jozef Kucia : d3dx9/tests: Don't leak D3DXBuffer.
by Alexandre Julliard
09 Mar '12
09 Mar '12
Module: wine Branch: master Commit: fde2abbabf6210f17b7f5311646006191b05b56c URL:
http://source.winehq.org/git/wine.git/?a=commit;h=fde2abbabf6210f17b7f53116…
Author: Jozef Kucia <joseph.kucia(a)gmail.com> Date: Wed Mar 7 21:33:37 2012 +0100 d3dx9/tests: Don't leak D3DXBuffer. --- dlls/d3dx9_36/tests/mesh.c | 7 ++----- 1 files changed, 2 insertions(+), 5 deletions(-) diff --git a/dlls/d3dx9_36/tests/mesh.c b/dlls/d3dx9_36/tests/mesh.c index 390197d..d24326f 100644 --- a/dlls/d3dx9_36/tests/mesh.c +++ b/dlls/d3dx9_36/tests/mesh.c @@ -2471,10 +2471,6 @@ static void D3DXCreateBoxTest(void) return; } - hr = D3DXCreateBuffer(36 * sizeof(DWORD), &ppBuffer); - ok(hr==D3D_OK, "Expected D3D_OK, received %#x\n", hr); - if (FAILED(hr)) goto end; - hr = D3DXCreateBox(device,2.0f,20.0f,4.9f,NULL, &ppBuffer); todo_wine ok(hr==D3DERR_INVALIDCALL, "Expected D3DERR_INVALIDCALL, received %#x\n", hr); @@ -2490,6 +2486,7 @@ static void D3DXCreateBoxTest(void) hr = D3DXCreateBox(device,22.0f,20.0f,-4.9f,&box, &ppBuffer); todo_wine ok(hr==D3DERR_INVALIDCALL, "Expected D3DERR_INVALIDCALL, received %#x\n", hr); + ppBuffer = NULL; hr = D3DXCreateBox(device,10.9f,20.0f,4.9f,&box, &ppBuffer); todo_wine ok(hr==D3D_OK, "Expected D3D_OK, received %#x\n", hr); @@ -2508,7 +2505,7 @@ static void D3DXCreateBoxTest(void) end: IDirect3DDevice9_Release(device); IDirect3D9_Release(d3d); - ID3DXBuffer_Release(ppBuffer); + if (ppBuffer) ID3DXBuffer_Release(ppBuffer); DestroyWindow(wnd); }
1
0
0
0
Stefan Dösinger : d3d8/tests: Port the depth blit test to d3d8.
by Alexandre Julliard
09 Mar '12
09 Mar '12
Module: wine Branch: master Commit: 3c1d5f6c5d950debb7626bbcaa560cbc8a10e2bb URL:
http://source.winehq.org/git/wine.git/?a=commit;h=3c1d5f6c5d950debb7626bbca…
Author: Stefan Dösinger <stefan(a)codeweavers.com> Date: Wed Mar 7 21:26:07 2012 +0100 d3d8/tests: Port the depth blit test to d3d8. --- dlls/d3d8/device.c | 14 +++++++++ dlls/d3d8/tests/device.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++ dlls/d3d8/tests/visual.c | 2 +- 3 files changed, 88 insertions(+), 1 deletions(-) diff --git a/dlls/d3d8/device.c b/dlls/d3d8/device.c index 5777fd5..b528e2c 100644 --- a/dlls/d3d8/device.c +++ b/dlls/d3d8/device.c @@ -944,12 +944,26 @@ static HRESULT WINAPI IDirect3DDevice8Impl_CopyRects(IDirect3DDevice8 *iface, wined3d_mutex_lock(); wined3d_resource = wined3d_surface_get_resource(Source->wined3d_surface); wined3d_resource_get_desc(wined3d_resource, &wined3d_desc); + if (wined3d_desc.usage & WINED3DUSAGE_DEPTHSTENCIL) + { + WARN("Source %p is a depth stencil surface, returning D3DERR_INVALIDCALL.\n", + pSourceSurface); + wined3d_mutex_unlock(); + return D3DERR_INVALIDCALL; + } srcFormat = wined3d_desc.format; src_w = wined3d_desc.width; src_h = wined3d_desc.height; wined3d_resource = wined3d_surface_get_resource(Dest->wined3d_surface); wined3d_resource_get_desc(wined3d_resource, &wined3d_desc); + if (wined3d_desc.usage & WINED3DUSAGE_DEPTHSTENCIL) + { + WARN("Dest %p is a depth stencil surface, returning D3DERR_INVALIDCALL.\n", + pDestinationSurface); + wined3d_mutex_unlock(); + return D3DERR_INVALIDCALL; + } destFormat = wined3d_desc.format; /* Check that the source and destination formats match */ diff --git a/dlls/d3d8/tests/device.c b/dlls/d3d8/tests/device.c index cfac2cd..2e1bc98 100644 --- a/dlls/d3d8/tests/device.c +++ b/dlls/d3d8/tests/device.c @@ -3091,6 +3091,78 @@ done: UnregisterClassA("d3d8_test_wndproc_wc", GetModuleHandleA(NULL)); } +static void depth_blit_test(void) +{ + HWND hwnd = NULL; + IDirect3D8 *d3d8 = NULL; + IDirect3DDevice8 *device = NULL; + IDirect3DSurface8 *backbuffer, *ds1, *ds2, *ds3; + RECT src_rect; + const POINT dst_point = {0, 0}; + HRESULT hr; + + d3d8 = pDirect3DCreate8(D3D_SDK_VERSION); + ok(d3d8 != NULL, "Direct3DCreate8 failed.\n"); + hwnd = CreateWindow("d3d8_test_wc", "d3d8_test", WS_OVERLAPPEDWINDOW, 100, 100, 160, 160, NULL, NULL, NULL, NULL); + ok(hwnd != NULL, "CreateWindow failed.\n"); + if (!d3d8 || !hwnd) + goto done; + + device = create_device(d3d8, hwnd, hwnd, TRUE); + if (!device) + { + skip("Failed to create a D3D device, skipping tests.\n"); + goto done; + } + + hr = IDirect3DDevice8_GetRenderTarget(device, &backbuffer); + ok(SUCCEEDED(hr), "GetRenderTarget failed, hr %#x.\n", hr); + hr = IDirect3DDevice8_GetDepthStencilSurface(device, &ds1); + ok(SUCCEEDED(hr), "GetDepthStencilSurface failed, hr %#x.\n", hr); + hr = IDirect3DDevice8_CreateDepthStencilSurface(device, 640, 480, D3DFMT_D24S8, D3DMULTISAMPLE_NONE, &ds2); + ok(SUCCEEDED(hr), "CreateDepthStencilSurface failed, hr %#x.\n", hr); + hr = IDirect3DDevice8_CreateDepthStencilSurface(device, 640, 480, D3DFMT_D24S8, D3DMULTISAMPLE_NONE, &ds3); + ok(SUCCEEDED(hr), "CreateDepthStencilSurface failed, hr %#x.\n", hr); + + hr = IDirect3DDevice8_Clear(device, 0, NULL, D3DCLEAR_ZBUFFER, 0, 0.0f, 0); + ok(SUCCEEDED(hr), "Clear failed, hr %#x.\n", hr); + + /* Partial blit. */ + SetRect(&src_rect, 0, 0, 320, 240); + hr = IDirect3DDevice8_CopyRects(device, ds1, &src_rect, 1, ds2, &dst_point); + ok(hr == D3DERR_INVALIDCALL, "CopyRects returned %#x, expected %#x.\n", hr, D3DERR_INVALIDCALL); + /* Flipped. */ + SetRect(&src_rect, 0, 480, 640, 0); + hr = IDirect3DDevice8_CopyRects(device, ds1, &src_rect, 1, ds2, &dst_point); + ok(hr == D3DERR_INVALIDCALL, "CopyRects returned %#x, expected %#x.\n", hr, D3DERR_INVALIDCALL); + /* Full, explicit. */ + SetRect(&src_rect, 0, 0, 640, 480); + hr = IDirect3DDevice8_CopyRects(device, ds1, &src_rect, 1, ds2, &dst_point); + ok(hr == D3DERR_INVALIDCALL, "CopyRects returned %#x, expected %#x.\n", hr, D3DERR_INVALIDCALL); + /* Depth -> color blit.*/ + hr = IDirect3DDevice8_CopyRects(device, ds1, &src_rect, 1, backbuffer, &dst_point); + ok(hr == D3DERR_INVALIDCALL, "CopyRects returned %#x, expected %#x.\n", hr, D3DERR_INVALIDCALL); + /* Full, NULL rects, current depth stencil -> unbound depth stencil */ + hr = IDirect3DDevice8_CopyRects(device, ds1, NULL, 0, ds2, NULL); + ok(hr == D3DERR_INVALIDCALL, "CopyRects returned %#x, expected %#x.\n", hr, D3DERR_INVALIDCALL); + /* Full, NULL rects, unbound depth stencil -> current depth stencil */ + hr = IDirect3DDevice8_CopyRects(device, ds2, NULL, 0, ds1, NULL); + ok(hr == D3DERR_INVALIDCALL, "CopyRects returned %#x, expected %#x.\n", hr, D3DERR_INVALIDCALL); + /* Full, NULL rects, unbound depth stencil -> unbound depth stencil */ + hr = IDirect3DDevice8_CopyRects(device, ds2, NULL, 0, ds3, NULL); + ok(hr == D3DERR_INVALIDCALL, "CopyRects returned %#x, expected %#x.\n", hr, D3DERR_INVALIDCALL); + + IDirect3DSurface8_Release(backbuffer); + IDirect3DSurface8_Release(ds3); + IDirect3DSurface8_Release(ds2); + IDirect3DSurface8_Release(ds1); + +done: + if (device) IDirect3DDevice8_Release(device); + if (d3d8) IDirect3D8_Release(d3d8); + if (hwnd) DestroyWindow(hwnd); +} + START_TEST(device) { HMODULE d3d8_handle = LoadLibraryA( "d3d8.dll" ); @@ -3145,6 +3217,7 @@ START_TEST(device) test_wrong_shader(); test_mode_change(); test_device_window_reset(); + depth_blit_test(); } UnregisterClassA("d3d8_test_wc", GetModuleHandleA(NULL)); } diff --git a/dlls/d3d8/tests/visual.c b/dlls/d3d8/tests/visual.c index d8e1ed2..aab8101 100644 --- a/dlls/d3d8/tests/visual.c +++ b/dlls/d3d8/tests/visual.c @@ -2429,7 +2429,7 @@ static void multisample_copy_rects_test(IDirect3DDevice8 *device) ok(SUCCEEDED(hr), "Failed to read render target back, hr %#x.\n", hr); hr = IDirect3DDevice8_CopyRects(device, ds, NULL, 0, ds_plain, NULL); - todo_wine ok(hr == D3DERR_INVALIDCALL, "Depth buffer copy, hr %#x, expected %#x.\n", hr, D3DERR_INVALIDCALL); + ok(hr == D3DERR_INVALIDCALL, "Depth buffer copy, hr %#x, expected %#x.\n", hr, D3DERR_INVALIDCALL); hr = IDirect3DDevice8_Clear(device, 0, NULL, D3DCLEAR_TARGET, 0xffff0000, 0.0, 0); ok(SUCCEEDED(hr), "Failed to clear render target, hr %#x.\n", hr);
1
0
0
0
Akihiro Sagawa : kernel32/tests: Add more tests for WriteConsole.
by Alexandre Julliard
09 Mar '12
09 Mar '12
Module: wine Branch: master Commit: e4692b3f6681799fb41749cd36151734cea81c88 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=e4692b3f6681799fb41749cd3…
Author: Akihiro Sagawa <sagawa.aki(a)gmail.com> Date: Tue Mar 6 22:51:57 2012 +0900 kernel32/tests: Add more tests for WriteConsole. --- dlls/kernel32/tests/console.c | 22 ++++++++++++++++++++++ 1 files changed, 22 insertions(+), 0 deletions(-) diff --git a/dlls/kernel32/tests/console.c b/dlls/kernel32/tests/console.c index 7eea5d9..d0c58f8 100644 --- a/dlls/kernel32/tests/console.c +++ b/dlls/kernel32/tests/console.c @@ -780,6 +780,28 @@ static void testScreenBuffer(HANDLE hConOut) "GetLastError: expecting %u got %u\n", ERROR_INVALID_HANDLE, GetLastError()); + /* trying to write non-console handle */ + SetLastError(0xdeadbeef); + ok(!WriteConsoleA(hFileOutRW, test_str1, lstrlenA(test_str1), &len, NULL), + "Shouldn't succeed\n"); + ok(GetLastError() == ERROR_INVALID_HANDLE, + "GetLastError: expecting %u got %u\n", + ERROR_INVALID_HANDLE, GetLastError()); + + SetLastError(0xdeadbeef); + ok(!WriteConsoleA(hFileOutRO, test_str1, lstrlenA(test_str1), &len, NULL), + "Shouldn't succeed\n"); + ok(GetLastError() == ERROR_INVALID_HANDLE, + "GetLastError: expecting %u got %u\n", + ERROR_INVALID_HANDLE, GetLastError()); + + SetLastError(0xdeadbeef); + ok(!WriteConsoleA(hFileOutWT, test_str1, lstrlenA(test_str1), &len, NULL), + "Shouldn't succeed\n"); + todo_wine ok(GetLastError() == ERROR_INVALID_HANDLE, + "GetLastError: expecting %u got %u\n", + ERROR_INVALID_HANDLE, GetLastError()); + CloseHandle(hFileOutRW); CloseHandle(hFileOutRO); CloseHandle(hFileOutWT);
1
0
0
0
Thomas Faber : msvcp90: Fix build with MSVC.
by Alexandre Julliard
09 Mar '12
09 Mar '12
Module: wine Branch: master Commit: 62901e6ea07df194ab7f1407783a17d639a58ef1 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=62901e6ea07df194ab7f14077…
Author: Thomas Faber <thfabba(a)gmx.de> Date: Wed Mar 7 10:10:18 2012 +0100 msvcp90: Fix build with MSVC. --- dlls/msvcp90/memory.c | 6 +++--- dlls/msvcp90/string.c | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/dlls/msvcp90/memory.c b/dlls/msvcp90/memory.c index 4ecc379..c5cae50 100644 --- a/dlls/msvcp90/memory.c +++ b/dlls/msvcp90/memory.c @@ -80,7 +80,7 @@ void __thiscall MSVCP_allocator_char_deallocate(void *this, char *ptr, MSVCP_siz DEFINE_THISCALL_WRAPPER(MSVCP_allocator_char_allocate, 8) char* __thiscall MSVCP_allocator_char_allocate(void *this, MSVCP_size_t count) { - return MSVCRT_operator_new(sizeof(char[count])); + return MSVCRT_operator_new(count); } /* ?allocate@?$allocator@D@std@@QAEPADIPBX@Z */ @@ -177,7 +177,7 @@ wchar_t* __thiscall MSVCP_allocator_wchar_allocate(void *this, MSVCP_size_t coun return NULL; } - return MSVCRT_operator_new(sizeof(wchar_t[count])); + return MSVCRT_operator_new(count * sizeof(wchar_t)); } /* ?allocate@?$allocator@_W@std@@QAEPA_WIPBX@Z */ @@ -276,7 +276,7 @@ unsigned short* __thiscall MSVCP_allocator_short_allocate( return NULL; } - return MSVCRT_operator_new(sizeof(unsigned short[count])); + return MSVCRT_operator_new(count * sizeof(unsigned short)); } /* ?allocate@?$allocator@G@std@@QAEPAGIPBX@Z */ diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c index 8a6bf64..e404699 100644 --- a/dlls/msvcp90/string.c +++ b/dlls/msvcp90/string.c @@ -215,7 +215,7 @@ MSVCP_bool CDECL MSVCP_char_traits_wchar_lt(const wchar_t *ch1, int CDECL MSVCP_char_traits_wchar_compare(const wchar_t *s1, const wchar_t *s2, MSVCP_size_t count) { - int ret = memcmp(s1, s2, sizeof(wchar_t[count])); + int ret = memcmp(s1, s2, count * sizeof(wchar_t)); return (ret>0 ? 1 : (ret<0 ? -1 : 0)); } @@ -238,7 +238,7 @@ wchar_t* CDECL MSVCP_char_traits_wchar__Copy_s(wchar_t *dest, return dest; } - return memcpy(dest, src, sizeof(wchar_t[count])); + return memcpy(dest, src, count * sizeof(wchar_t)); } /* ?copy@?$char_traits@_W@std@@SAPA_WPA_WPB_WI@Z */ @@ -275,7 +275,7 @@ wchar_t* CDECL MSVCP_char_traits_wchar__Move_s(wchar_t *dest, return dest; } - return memmove(dest, src, sizeof(WCHAR[count])); + return memmove(dest, src, count * sizeof(WCHAR)); } /* ?move@?$char_traits@_W@std@@SAPA_WPA_WPB_WI@Z */ @@ -395,7 +395,7 @@ unsigned short * CDECL MSVCP_char_traits_short__Copy_s(unsigned short *dest, return dest; } - return memcpy(dest, src, sizeof(unsigned short[count])); + return memcpy(dest, src, count * sizeof(unsigned short)); } /* ?copy@?$char_traits@G@std@@SAPAGPAGPBGI@Z */ @@ -430,7 +430,7 @@ unsigned short* CDECL MSVCP_char_traits_short__Move_s(unsigned short *dest, return dest; } - return memmove(dest, src, sizeof(unsigned short[count])); + return memmove(dest, src, count * sizeof(unsigned short)); } /* ?move@?$char_traits@G@std@@SAPAGPAGPBGI@Z */
1
0
0
0
← Newer
1
...
56
57
58
59
60
61
62
...
71
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
Results per page:
10
25
50
100
200