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
December 2005
----- 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
452 discussions
Start a n
N
ew thread
Ivan Leo Puoti : ddraw: Fix DirectDrawSurface::QueryInterface crash.
by Alexandre Julliard
21 Dec '05
21 Dec '05
Module: wine Branch: refs/heads/master Commit: 3cc9e40c3bae7571574565a719cded877ccef29b URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=3cc9e40c3bae7571574565a…
Author: Ivan Leo Puoti <ivanleo(a)gmail.com> Date: Wed Dec 21 21:11:54 2005 +0100 ddraw: Fix DirectDrawSurface::QueryInterface crash. --- dlls/ddraw/surface_main.c | 3 +++ dlls/ddraw/tests/dsurface.c | 28 ++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 0 deletions(-) diff --git a/dlls/ddraw/surface_main.c b/dlls/ddraw/surface_main.c index fd10394..ba11359 100644 --- a/dlls/ddraw/surface_main.c +++ b/dlls/ddraw/surface_main.c @@ -160,6 +160,9 @@ Main_DirectDrawSurface_QueryInterface(LP *ppObj = NULL; + if(!riid) + return DDERR_INVALIDPARAMS; + if (IsEqualGUID(&IID_IUnknown, riid) || IsEqualGUID(&IID_IDirectDrawSurface7, riid) || IsEqualGUID(&IID_IDirectDrawSurface4, riid)) diff --git a/dlls/ddraw/tests/dsurface.c b/dlls/ddraw/tests/dsurface.c index 10faf02..e1e0c93 100644 --- a/dlls/ddraw/tests/dsurface.c +++ b/dlls/ddraw/tests/dsurface.c @@ -3,6 +3,7 @@ * * Copyright (C) 2005 Antoine Chavasse (a.chavasse(a)gmail.com) * Copyright (C) 2005 Christian Costa + * Copyright 2005 Ivan Leo Puoti * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -220,11 +221,38 @@ static void SrcColorKey32BlitTest(void) IDirectDrawSurface_Release(lpDst); } +static void QueryInterface(void) +{ + LPDIRECTDRAWSURFACE dsurface; + DDSURFACEDESC surface; + LPVOID object; + HRESULT ret; + + /* Create a surface */ + ZeroMemory(&surface, sizeof(surface)); + surface.dwSize = sizeof(surface); + surface.dwFlags = DDSD_WIDTH | DDSD_HEIGHT; + surface.dwHeight = 10; + surface.dwWidth = 10; + ret = IDirectDraw_CreateSurface(lpDD, &surface, &dsurface, NULL); + if(ret != DD_OK) + { + ok(FALSE, "IDirectDraw::CreateSurface failed with error %lx\n", ret); + return; + } + + /* Call IUnkown::QueryInterface */ + ret = IDirectDrawSurface_QueryInterface(dsurface, 0, &object); + ok(ret == DDERR_INVALIDPARAMS, "IDirectDrawSurface::QueryInterface returned %lx\n", ret); + + IDirectDrawSurface_Release(dsurface); +} START_TEST(dsurface) { CreateDirectDraw(); MipMapCreationTest(); SrcColorKey32BlitTest(); + QueryInterface(); ReleaseDirectDraw(); }
1
0
0
0
Detlef Riekenberg : winspool: Add version resource.
by Alexandre Julliard
21 Dec '05
21 Dec '05
Module: wine Branch: refs/heads/master Commit: 8827bcfd741f5dfed7e43fa36b2ea74a9944c86a URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=8827bcfd741f5dfed7e43fa…
Author: Detlef Riekenberg <wine.dev(a)web.de> Date: Wed Dec 21 21:11:43 2005 +0100 winspool: Add version resource. --- dlls/winspool/winspool.rc | 16 ++++++++++++++++ include/wine/wine_common_ver.rc | 8 ++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/dlls/winspool/winspool.rc b/dlls/winspool/winspool.rc index cc7344c..006e2ae 100644 --- a/dlls/winspool/winspool.rc +++ b/dlls/winspool/winspool.rc @@ -22,6 +22,22 @@ #include "winbase.h" #include "winuser.h" #include "wspool.h" +#include "winver.h" + +#define WINE_FILENAME_STR "winspool.drv" +#define WINE_FILEDESCRIPTION_STR "Wine core printer driver" + +#define WINE_FILETYPE VFT_DRV +#define WINE_FILESUBTYPE VFT2_DRV_PRINTER + +/* Same Version as WinXP_sp2 */ +#define WINE_FILEVERSION 5,1,2600,2180 +#define WINE_FILEVERSION_STR "5.1.2600.2180" + +#define WINE_PRODUCTVERSION 5,1,2600,2180 +#define WINE_PRODUCTVERSION_STR "5.1.2600.2180" + +#include "wine/wine_common_ver.rc" #include "Bg.rc" #include "De.rc" diff --git a/include/wine/wine_common_ver.rc b/include/wine/wine_common_ver.rc index c1fd409..2f15de5 100644 --- a/include/wine/wine_common_ver.rc +++ b/include/wine/wine_common_ver.rc @@ -51,6 +51,10 @@ never complain. #define WINE_FILETYPE VFT_DLL #endif +#ifndef WINE_FILESUBTYPE +#define WINE_FILESUBTYPE VFT2_UNKNOWN +#endif + #ifndef WINE_PRODUCTVERSION #define WINE_PRODUCTVERSION 1,0,0,0 #endif @@ -66,11 +70,11 @@ never complain. VS_VERSION_INFO VERSIONINFO FILEVERSION WINE_FILEVERSION PRODUCTVERSION WINE_PRODUCTVERSION -FILEFLAGSMASK 0 +FILEFLAGSMASK 63 FILEFLAGS 0 FILEOS VOS_UNKNOWN FILETYPE WINE_FILETYPE -FILESUBTYPE VFT2_UNKNOWN +FILESUBTYPE WINE_FILESUBTYPE { BLOCK "StringFileInfo" {
1
0
0
0
Alexandre Julliard : msvcrt: Return a per-thread buffer in localtime and gmtime.
by Alexandre Julliard
21 Dec '05
21 Dec '05
Module: wine Branch: refs/heads/master Commit: 06c1a36bce839e06d0cb962f4b45bb1a2fc9dd55 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=06c1a36bce839e06d0cb962…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Wed Dec 21 20:54:26 2005 +0100 msvcrt: Return a per-thread buffer in localtime and gmtime. --- dlls/msvcrt/msvcrt.h | 25 ++++++++++---------- dlls/msvcrt/time.c | 64 +++++++++++++++++++++++++------------------------- 2 files changed, 45 insertions(+), 44 deletions(-) diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h index b454579..68f5ca6 100644 --- a/dlls/msvcrt/msvcrt.h +++ b/dlls/msvcrt/msvcrt.h @@ -74,6 +74,18 @@ typedef void (*MSVCRT__beginthread_start typedef unsigned int (__stdcall *MSVCRT__beginthreadex_start_routine_t)(void *); typedef int (*MSVCRT__onexit_t)(void); +struct MSVCRT_tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; +}; + /* TLS data */ extern DWORD msvcrt_tls_index; @@ -84,6 +96,7 @@ struct __thread_data { unsigned char *mbstok_next; /* next ptr for mbstok() */ char *efcvt_buffer; /* buffer for ecvt/fcvt */ MSVCRT_wchar_t *wasctime_buffer; /* buffer for asctime */ + struct MSVCRT_tm time_buffer; /* buffer for localtime/gmtime */ int fpecode; MSVCRT_terminate_function terminate_handler; MSVCRT_unexpected_function unexpected_handler; @@ -173,18 +186,6 @@ extern unsigned msvcrt_create_io_inherit #define _RT_CRNL 252 #define _RT_BANNER 255 -struct MSVCRT_tm { - int tm_sec; - int tm_min; - int tm_hour; - int tm_mday; - int tm_mon; - int tm_year; - int tm_wday; - int tm_yday; - int tm_isdst; -}; - struct MSVCRT__timeb { MSVCRT_time_t time; unsigned short millitm; diff --git a/dlls/msvcrt/time.c b/dlls/msvcrt/time.c index f462aa7..9b26770 100644 --- a/dlls/msvcrt/time.c +++ b/dlls/msvcrt/time.c @@ -54,9 +54,6 @@ static inline int IsLeapYear(int Year) #define TICKSPERMSEC 10000 #define TICKS_1601_TO_1970 (SECS_1601_TO_1970 * TICKSPERSEC) -/* native uses a single static buffer for localtime/gmtime/mktime */ -static struct MSVCRT_tm tm; - /********************************************************************** * mktime (MSVCRT.@) */ @@ -65,7 +62,7 @@ MSVCRT_time_t MSVCRT_mktime(struct MSVCR MSVCRT_time_t secs; FILETIME lft, uft; ULONGLONG time; - struct MSVCRT_tm ts; + struct MSVCRT_tm ts, *ptm; int cleaps, day; ts=*t; @@ -125,7 +122,7 @@ MSVCRT_time_t MSVCRT_mktime(struct MSVCR secs = time - SECS_1601_TO_1970; /* compute tm_wday, tm_yday and renormalize the other fields of the * tm structure */ - if( MSVCRT_localtime( &secs)) *t = tm; + if ((ptm = MSVCRT_localtime( &secs ))) *t = *ptm; return secs; } @@ -135,8 +132,8 @@ MSVCRT_time_t MSVCRT_mktime(struct MSVCR */ struct MSVCRT_tm* MSVCRT_localtime(const MSVCRT_time_t* secs) { + thread_data_t * const data = msvcrt_get_thread_data(); int i; - FILETIME ft, lft; SYSTEMTIME st; DWORD tzid; @@ -152,34 +149,37 @@ struct MSVCRT_tm* MSVCRT_localtime(const if (st.wYear < 1970) return NULL; - tm.tm_sec = st.wSecond; - tm.tm_min = st.wMinute; - tm.tm_hour = st.wHour; - tm.tm_mday = st.wDay; - tm.tm_year = st.wYear - 1900; - tm.tm_mon = st.wMonth - 1; - tm.tm_wday = st.wDayOfWeek; + data->time_buffer.tm_sec = st.wSecond; + data->time_buffer.tm_min = st.wMinute; + data->time_buffer.tm_hour = st.wHour; + data->time_buffer.tm_mday = st.wDay; + data->time_buffer.tm_year = st.wYear - 1900; + data->time_buffer.tm_mon = st.wMonth - 1; + data->time_buffer.tm_wday = st.wDayOfWeek; - for (i = tm.tm_yday = 0; i < st.wMonth - 1; i++) { - tm.tm_yday += MonthLengths[IsLeapYear(st.wYear)][i]; + for (i = data->time_buffer.tm_yday = 0; i < st.wMonth - 1; i++) { + data->time_buffer.tm_yday += MonthLengths[IsLeapYear(st.wYear)][i]; } - tm.tm_yday += st.wDay - 1; + data->time_buffer.tm_yday += st.wDay - 1; tzid = GetTimeZoneInformation(&tzinfo); if (tzid == TIME_ZONE_ID_INVALID) - tm.tm_isdst = -1; + data->time_buffer.tm_isdst = -1; else - tm.tm_isdst = (tzid == TIME_ZONE_ID_DAYLIGHT?1:0); + data->time_buffer.tm_isdst = (tzid == TIME_ZONE_ID_DAYLIGHT?1:0); - return &tm; + return &data->time_buffer; } +/********************************************************************* + * gmtime (MSVCRT.@) + */ struct MSVCRT_tm* MSVCRT_gmtime(const MSVCRT_time_t* secs) { + thread_data_t * const data = msvcrt_get_thread_data(); int i; - FILETIME ft; SYSTEMTIME st; @@ -192,21 +192,21 @@ struct MSVCRT_tm* MSVCRT_gmtime(const MS if (st.wYear < 1970) return NULL; - tm.tm_sec = st.wSecond; - tm.tm_min = st.wMinute; - tm.tm_hour = st.wHour; - tm.tm_mday = st.wDay; - tm.tm_year = st.wYear - 1900; - tm.tm_mon = st.wMonth - 1; - tm.tm_wday = st.wDayOfWeek; - for (i = tm.tm_yday = 0; i < st.wMonth - 1; i++) { - tm.tm_yday += MonthLengths[IsLeapYear(st.wYear)][i]; + data->time_buffer.tm_sec = st.wSecond; + data->time_buffer.tm_min = st.wMinute; + data->time_buffer.tm_hour = st.wHour; + data->time_buffer.tm_mday = st.wDay; + data->time_buffer.tm_year = st.wYear - 1900; + data->time_buffer.tm_mon = st.wMonth - 1; + data->time_buffer.tm_wday = st.wDayOfWeek; + for (i = data->time_buffer.tm_yday = 0; i < st.wMonth - 1; i++) { + data->time_buffer.tm_yday += MonthLengths[IsLeapYear(st.wYear)][i]; } - tm.tm_yday += st.wDay - 1; - tm.tm_isdst = 0; + data->time_buffer.tm_yday += st.wDay - 1; + data->time_buffer.tm_isdst = 0; - return &tm; + return &data->time_buffer; } /**********************************************************************
1
0
0
0
H. Verbeet : d3d9: Add traces for when shader support is missing in the shader test.
by Alexandre Julliard
21 Dec '05
21 Dec '05
Module: wine Branch: refs/heads/master Commit: 2bb87a90b28f1d66f41e4d31a8aa741b06d8fe4b URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=2bb87a90b28f1d66f41e4d3…
Author: H. Verbeet <hverbeet(a)gmail.com> Date: Wed Dec 21 20:45:07 2005 +0100 d3d9: Add traces for when shader support is missing in the shader test. --- dlls/d3d9/tests/shader.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/dlls/d3d9/tests/shader.c b/dlls/d3d9/tests/shader.c index 6da5164..563d5fa 100644 --- a/dlls/d3d9/tests/shader.c +++ b/dlls/d3d9/tests/shader.c @@ -151,8 +151,11 @@ START_TEST(shader) { test_get_set_vertex_shader(device_ptr); } + else trace("No vertex shader support, skipping test\n"); + if (caps.PixelShaderVersion & 0xffff) { test_get_set_pixel_shader(device_ptr); } + else trace("No pixel shader support, skipping test\n"); }
1
0
0
0
Hans Leidekker : kernel: Some documentation improvements.
by Alexandre Julliard
21 Dec '05
21 Dec '05
Module: wine Branch: refs/heads/master Commit: fa57544a4699d558aace5a286939037ca73d3987 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=fa57544a4699d558aace5a2…
Author: Hans Leidekker <hans(a)it.vu.nl> Date: Wed Dec 21 20:44:49 2005 +0100 kernel: Some documentation improvements. --- dlls/kernel/process.c | 54 ++++++++++++++++++++++++++++++------------------- 1 files changed, 33 insertions(+), 21 deletions(-) diff --git a/dlls/kernel/process.c b/dlls/kernel/process.c index 19d945b..4bfbbc9 100644 --- a/dlls/kernel/process.c +++ b/dlls/kernel/process.c @@ -2127,17 +2127,19 @@ void WINAPI ExitProcess( DWORD status ) /*********************************************************************** - * GetExitCodeProcess [KERNEL32.@] + * GetExitCodeProcess [KERNEL32.@] * - * Gets termination status of specified process + * Gets termination status of specified process. + * + * PARAMS + * hProcess [in] Handle to the process. + * lpExitCode [out] Address to receive termination status. * * RETURNS * Success: TRUE * Failure: FALSE */ -BOOL WINAPI GetExitCodeProcess( - HANDLE hProcess, /* [in] handle to the process */ - LPDWORD lpExitCode) /* [out] address to receive termination status */ +BOOL WINAPI GetExitCodeProcess( HANDLE hProcess, LPDWORD lpExitCode ) { NTSTATUS status; PROCESS_BASIC_INFORMATION pbi; @@ -2166,12 +2168,12 @@ UINT WINAPI SetErrorMode( UINT mode ) /********************************************************************** - * TlsAlloc [KERNEL32.@] Allocates a TLS index. + * TlsAlloc [KERNEL32.@] * - * Allocates a thread local storage index + * Allocates a thread local storage index. * * RETURNS - * Success: TLS Index + * Success: TLS index. * Failure: 0xFFFFFFFF */ DWORD WINAPI TlsAlloc( void ) @@ -2209,16 +2211,18 @@ DWORD WINAPI TlsAlloc( void ) /********************************************************************** - * TlsFree [KERNEL32.@] Releases a TLS index. + * TlsFree [KERNEL32.@] * - * Releases a thread local storage index, making it available for reuse + * Releases a thread local storage index, making it available for reuse. + * + * PARAMS + * index [in] TLS index to free. * * RETURNS * Success: TRUE * Failure: FALSE */ -BOOL WINAPI TlsFree( - DWORD index) /* [in] TLS Index to free */ +BOOL WINAPI TlsFree( DWORD index ) { BOOL ret; @@ -2241,14 +2245,18 @@ BOOL WINAPI TlsFree( /********************************************************************** - * TlsGetValue [KERNEL32.@] Gets value in a thread's TLS slot + * TlsGetValue [KERNEL32.@] + * + * Gets value in a thread's TLS slot. + * + * PARAMS + * index [in] TLS index to retrieve value for. * * RETURNS - * Success: Value stored in calling thread's TLS slot for index - * Failure: 0 and GetLastError() returns NO_ERROR + * Success: Value stored in calling thread's TLS slot for index. + * Failure: 0 and GetLastError() returns NO_ERROR. */ -LPVOID WINAPI TlsGetValue( - DWORD index) /* [in] TLS index to retrieve value for */ +LPVOID WINAPI TlsGetValue( DWORD index ) { LPVOID ret; @@ -2273,15 +2281,19 @@ LPVOID WINAPI TlsGetValue( /********************************************************************** - * TlsSetValue [KERNEL32.@] Stores a value in the thread's TLS slot. + * TlsSetValue [KERNEL32.@] + * + * Stores a value in the thread's TLS slot. + * + * PARAMS + * index [in] TLS index to set value for. + * value [in] Value to be stored. * * RETURNS * Success: TRUE * Failure: FALSE */ -BOOL WINAPI TlsSetValue( - DWORD index, /* [in] TLS index to set value for */ - LPVOID value) /* [in] Value to be stored */ +BOOL WINAPI TlsSetValue( DWORD index, LPVOID value ) { if (index < TLS_MINIMUM_AVAILABLE) {
1
0
0
0
Marcus Meissner : msvcrt: Implemented wctime(), wasctime().
by Alexandre Julliard
21 Dec '05
21 Dec '05
Module: wine Branch: refs/heads/master Commit: 9a583763eefb7cec46e0b4b031cf71d6b5d2a5ae URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=9a583763eefb7cec46e0b4b…
Author: Marcus Meissner <marcus(a)jet.franken.de> Date: Wed Dec 21 20:23:47 2005 +0100 msvcrt: Implemented wctime(), wasctime(). Free thread data in DLL_THREAD_DETACH. --- dlls/msvcrt/main.c | 2 ++ dlls/msvcrt/msvcrt.h | 1 + dlls/msvcrt/msvcrt.spec | 4 ++-- dlls/msvcrt/time.c | 32 ++++++++++++++++++++++++++++++++ 4 files changed, 37 insertions(+), 2 deletions(-) diff --git a/dlls/msvcrt/main.c b/dlls/msvcrt/main.c index b8660bb..a79d12f 100644 --- a/dlls/msvcrt/main.c +++ b/dlls/msvcrt/main.c @@ -70,6 +70,8 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, case DLL_THREAD_DETACH: /* Free TLS */ tls = TlsGetValue(msvcrt_tls_index); + HeapFree(GetProcessHeap(),0,tls->efcvt_buffer); + HeapFree(GetProcessHeap(),0,tls->wasctime_buffer); HeapFree(GetProcessHeap(), 0, tls); TRACE("finished thread free\n"); break; diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h index d46f738..b454579 100644 --- a/dlls/msvcrt/msvcrt.h +++ b/dlls/msvcrt/msvcrt.h @@ -83,6 +83,7 @@ struct __thread_data { unsigned long thread_doserrno; unsigned char *mbstok_next; /* next ptr for mbstok() */ char *efcvt_buffer; /* buffer for ecvt/fcvt */ + MSVCRT_wchar_t *wasctime_buffer; /* buffer for asctime */ int fpecode; MSVCRT_terminate_function terminate_handler; MSVCRT_unexpected_function unexpected_handler; diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index f964f29..a4d3ade 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -487,7 +487,7 @@ @ cdecl _vsnprintf(ptr long ptr ptr) MSVCRT_vsnprintf @ cdecl _vsnwprintf(ptr long wstr long) MSVCRT_vsnwprintf @ cdecl _waccess(wstr long) -@ stub _wasctime #(ptr) MSVCRT__wasctime +@ cdecl _wasctime(ptr) MSVCRT__wasctime @ cdecl _wchdir(wstr) @ cdecl _wchmod(wstr long) @ extern _wcmdln MSVCRT__wcmdln @@ -503,7 +503,7 @@ @ cdecl _wcsrev(wstr) @ cdecl _wcsset(wstr long) @ cdecl _wcsupr(wstr) ntdll._wcsupr -@ stub _wctime #(ptr) +@ cdecl _wctime(ptr) MSVCRT__wctime @ extern _wenviron @ stub _wexecl #(wstr wstr) varargs @ stub _wexecle #(wstr wstr) varargs diff --git a/dlls/msvcrt/time.c b/dlls/msvcrt/time.c index f7daab5..f462aa7 100644 --- a/dlls/msvcrt/time.c +++ b/dlls/msvcrt/time.c @@ -410,3 +410,35 @@ void MSVCRT__tzset(void) lstrcpynA(tzname_dst, tzname[1], sizeof(tzname_dst)); tzname_dst[sizeof(tzname_dst) - 1] = '\0'; } + +/********************************************************************* + * _wctime (MSVCRT.@) + */ +MSVCRT_wchar_t *MSVCRT__wasctime(const struct MSVCRT_tm *mstm) { + thread_data_t *data = msvcrt_get_thread_data(); + struct tm xtm; + + memset(&xtm,0,sizeof(xtm)); + xtm.tm_sec = mstm->tm_sec; + xtm.tm_min = mstm->tm_min; + xtm.tm_hour = mstm->tm_hour; + xtm.tm_mday = mstm->tm_mday; + xtm.tm_mon = mstm->tm_mon; + xtm.tm_year = mstm->tm_year; + xtm.tm_wday = mstm->tm_wday; + xtm.tm_yday = mstm->tm_yday; + xtm.tm_isdst = mstm->tm_isdst; + + if (!data->wasctime_buffer) + data->wasctime_buffer = MSVCRT_malloc( 30*sizeof(MSVCRT_wchar_t) ); /* ought to be enough */ + MultiByteToWideChar( CP_UNIXCP, 0, asctime(&xtm), -1, data->wasctime_buffer, 30 ); + return data->wasctime_buffer; +} + +/********************************************************************* + * _wctime (MSVCRT.@) + */ +MSVCRT_wchar_t *MSVCRT__wctime(MSVCRT_time_t *time) +{ + return MSVCRT__wasctime( MSVCRT_localtime(time) ); +}
1
0
0
0
Robert Reif : winecfg: Select an audio driver on fresh install.
by Alexandre Julliard
21 Dec '05
21 Dec '05
Module: wine Branch: refs/heads/master Commit: 9f34fd378754b3e8632cd29bef8dd2205865028a URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=9f34fd378754b3e8632cd29…
Author: Robert Reif <reif(a)earthlink.net> Date: Wed Dec 21 20:07:56 2005 +0100 winecfg: Select an audio driver on fresh install. --- programs/winecfg/En.rc | 1 + programs/winecfg/audio.c | 67 ++++++++++++++++++++++++++++++++++++++++--- programs/winecfg/resource.h | 1 + 3 files changed, 64 insertions(+), 5 deletions(-) diff --git a/programs/winecfg/En.rc b/programs/winecfg/En.rc index 5a750ff..3f37bf8 100644 --- a/programs/winecfg/En.rc +++ b/programs/winecfg/En.rc @@ -201,6 +201,7 @@ BEGIN IDS_WINECFG_TITLE "Wine configuration" IDS_THEMEFILE "Theme files" IDS_THEMEFILE_SELECT "Select a theme file" + IDS_AUDIO_MISSING "There is no audio driver currently specified in the registry.\n\nA recommended driver has been selected for you.\nYou can use this driver or select another driver if available.\n\nYou must click Apply for the selection to take effect." END diff --git a/programs/winecfg/audio.c b/programs/winecfg/audio.c index ae079df..1d0a424 100644 --- a/programs/winecfg/audio.c +++ b/programs/winecfg/audio.c @@ -516,6 +516,23 @@ start_over: free(tokens); } +static void selectDriver(HWND hDlg, const char * driver) +{ + WCHAR text[1024]; + WCHAR caption[64]; + + strcpy(curAudioDriver, driver); + set_reg_key(config_key, "Drivers", "Audio", curAudioDriver); + + if (LoadStringW(GetModuleHandle(NULL), IDS_AUDIO_MISSING, text, sizeof(text)/sizeof(text[0]))) + { + if (LoadStringW(GetModuleHandle(NULL), IDS_WINECFG_TITLE, caption, sizeof(caption)/sizeof(caption[0]))) + MessageBoxW(hDlg, text, caption, MB_OK | MB_ICONINFORMATION); + } + + SendMessage(GetParent(hDlg), PSM_CHANGED, (WPARAM) hDlg, 0); /* enable apply button */ +} + static void initAudioDlg (HWND hDlg) { int i; @@ -523,14 +540,54 @@ static void initAudioDlg (HWND hDlg) WINE_TRACE("\n"); - /* make a local copy of the current registry setting */ - strcpy(curAudioDriver, get_reg_key(config_key, "Drivers", "Audio", "")); - - WINE_TRACE("curAudioDriver = %s\n", curAudioDriver); - /* make a list of all drivers that can be loaded */ findAudioDrivers(); + /* get current registry setting if available */ + buf = get_reg_key(config_key, "Drivers", "Audio", NULL); + + /* check for first time install and set a default driver + * select in this order: oss, alsa, first available driver, none + */ + if (buf == NULL) + { + const AUDIO_DRIVER *pAudioDrv = NULL; + + /* select oss if available */ + for (pAudioDrv = loadedAudioDrv; *pAudioDrv->szName; pAudioDrv++) + { + if (strcmp(pAudioDrv->szDriver, "oss") == 0) + { + selectDriver(hDlg, "oss"); + break; + } + } + + if (strlen(curAudioDriver) == 0) + { + /* select alsa if available */ + for (pAudioDrv = loadedAudioDrv; *pAudioDrv->szName; pAudioDrv++) + { + if (strcmp(pAudioDrv->szDriver, "alsa") == 0) + { + selectDriver(hDlg, "alsa"); + break; + } + } + } + + if (strlen(curAudioDriver) == 0) + { + /* select first available driver */ + if (*loadedAudioDrv->szDriver) + selectDriver(hDlg, loadedAudioDrv->szDriver); + } + } + else /* make a local copy of the current registry setting */ + strcpy(curAudioDriver, buf); + + WINE_TRACE("curAudioDriver = %s\n", curAudioDriver); + /* check for drivers that can't be loaded */ checkRegistrySetting(hDlg); diff --git a/programs/winecfg/resource.h b/programs/winecfg/resource.h index e79f861..df7f0b9 100644 --- a/programs/winecfg/resource.h +++ b/programs/winecfg/resource.h @@ -141,6 +141,7 @@ #define IDR_WINECFG 1305 #define IDB_CHECKBOX 1306 #define IDB_DEVICE 1307 +#define IDS_AUDIO_MISSING 1308 /* appearance tab */ #define IDC_THEME_COLORCOMBO 1401
1
0
0
0
Saulius Krasuckas : mscms: Test only one invalid GetStandardColorSpaceProfile() param in a
by Alexandre Julliard
21 Dec '05
21 Dec '05
Module: wine Branch: refs/heads/master Commit: 975ffe8abc823ee5e7d9a617d22b3e0e697fc1b7 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=975ffe8abc823ee5e7d9a61…
Author: Saulius Krasuckas <saulius2(a)ar.fi.lt> Date: Wed Dec 21 20:07:42 2005 +0100 mscms: Test only one invalid GetStandardColorSpaceProfile() param in a single check. --- dlls/mscms/tests/profile.c | 26 ++++++++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 deletions(-) diff --git a/dlls/mscms/tests/profile.c b/dlls/mscms/tests/profile.c index 45b569c..0797161 100644 --- a/dlls/mscms/tests/profile.c +++ b/dlls/mscms/tests/profile.c @@ -460,6 +460,19 @@ static void test_GetStandardColorSpacePr /* Parameter checks */ + /* Single invalid parameter checks */ + todo_wine + fail_GSCSPA(machine, SPACE_RGB, newprofile, &size, sizeP, (GLE == ERROR_NOT_SUPPORTED)); + todo_wine + fail_GSCSPA(NULL, (DWORD)-1, newprofile, &size, sizeP, (GLE == ERROR_FILE_NOT_FOUND)); + todo_wine + fail_GSCSPA(NULL, SPACE_RGB, NULL, &size, sizeP, (GLE == ERROR_INSUFFICIENT_BUFFER)); + todo_wine + fail_GSCSPA(NULL, SPACE_RGB, newprofile, NULL, sizeP, (GLE == ERROR_INVALID_PARAMETER)); + todo_wine + fail_GSCSPA(NULL, SPACE_RGB, newprofile, &size, 0, (GLE == ERROR_MORE_DATA || GLE == ERROR_INSUFFICIENT_BUFFER)); + + /* Several invalid parameter checks */ todo_wine fail_GSCSPA(machine, 0, newprofile, &size, 0, (GLE == ERROR_INVALID_PARAMETER || GLE == ERROR_NOT_SUPPORTED)); todo_wine @@ -514,6 +527,19 @@ static void test_GetStandardColorSpacePr /* Parameter checks */ + /* Single invalid parameter checks */ + todo_wine + fail_GSCSPW(machineW, SPACE_RGB, newprofile, &size, sizeP, (GLE == ERROR_NOT_SUPPORTED)); + todo_wine + fail_GSCSPW(NULL, (DWORD)-1, newprofile, &size, sizeP, (GLE == ERROR_FILE_NOT_FOUND)); + todo_wine + fail_GSCSPW(NULL, SPACE_RGB, NULL, &size, sizeP, (GLE == ERROR_INSUFFICIENT_BUFFER)); + todo_wine + fail_GSCSPW(NULL, SPACE_RGB, newprofile, NULL, sizeP, (GLE == ERROR_INVALID_PARAMETER)); + todo_wine + fail_GSCSPW(NULL, SPACE_RGB, newprofile, &size, 0, (GLE == ERROR_MORE_DATA || GLE == ERROR_INSUFFICIENT_BUFFER)); + + /* Several invalid parameter checks */ todo_wine fail_GSCSPW(machineW, 0, newprofile, &size, 0, (GLE == ERROR_INVALID_PARAMETER || GLE == ERROR_NOT_SUPPORTED)); todo_wine
1
0
0
0
Dmitry Timoshkov : msvideo: Handle ESC key press in the MCIWND class as an alias to stop command.
by Alexandre Julliard
21 Dec '05
21 Dec '05
Module: wine Branch: refs/heads/master Commit: b6c4beda587072c658f75fea3cb4b1e88ce58ad4 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=b6c4beda587072c658f75fe…
Author: Dmitry Timoshkov <dmitry(a)codeweavers.com> Date: Wed Dec 21 20:07:22 2005 +0100 msvideo: Handle ESC key press in the MCIWND class as an alias to stop command. --- dlls/msvideo/mciwnd.c | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-) diff --git a/dlls/msvideo/mciwnd.c b/dlls/msvideo/mciwnd.c index cf52beb..4524e5e 100644 --- a/dlls/msvideo/mciwnd.c +++ b/dlls/msvideo/mciwnd.c @@ -429,6 +429,21 @@ static LRESULT mci_get_devcaps(MCIWndInf return mci_devcaps.dwReturn; } +static LRESULT MCIWND_KeyDown(MCIWndInfo *mwi, UINT key) +{ + TRACE("%p, key %04x\n", mwi->hWnd, key); + + switch(key) + { + case VK_ESCAPE: + SendMessageW(mwi->hWnd, MCI_STOP, 0, 0); + return 0; + + default: + return 0; + } +} + static LRESULT WINAPI MCIWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam) { MCIWndInfo *mwi; @@ -477,6 +492,9 @@ static LRESULT WINAPI MCIWndProc(HWND hW case WM_COMMAND: return MCIWND_Command(mwi, wParam, lParam); + case WM_KEYDOWN: + return MCIWND_KeyDown(mwi, wParam); + case WM_NCACTIVATE: if (mwi->uTimer) {
1
0
0
0
Jesse Allen : msvcrt: Fix printf sign flags.
by Alexandre Julliard
21 Dec '05
21 Dec '05
Module: wine Branch: refs/heads/master Commit: 180326bb0aa5adfe6906728f40f1cd27be617f1c URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=180326bb0aa5adfe6906728…
Author: Jesse Allen <the3dfxdude(a)gmail.com> Date: Wed Dec 21 20:07:03 2005 +0100 msvcrt: Fix printf sign flags. Fix the printf sign flags so that '+' doesn't always override ' ' space alone. If they both appear, continue parsing and let '+' take precedence. --- dlls/msvcrt/tests/printf.c | 10 ++++++++++ dlls/msvcrt/wcs.c | 5 ++++- 2 files changed, 14 insertions(+), 1 deletions(-) diff --git a/dlls/msvcrt/tests/printf.c b/dlls/msvcrt/tests/printf.c index 3979a95..d96c61e 100644 --- a/dlls/msvcrt/tests/printf.c +++ b/dlls/msvcrt/tests/printf.c @@ -56,6 +56,16 @@ static void test_sprintf( void ) ok(!strcmp(buffer, "I"), "Problem with \"I\" interpretation\n"); ok( r==1, "return count wrong\n"); + format = "% d"; + r = sprintf(buffer,format,1); + ok(!strcmp(buffer, " 1"),"Problem with sign place-holder: '%s'\n",buffer); + ok( r==2, "return count wrong\n"); + + format = "%+ d"; + r = sprintf(buffer,format,1); + ok(!strcmp(buffer, "+1"),"Problem with sign flags: '%s'\n",buffer); + ok( r==2, "return count wrong\n"); + format = "%S"; r = sprintf(buffer,format,wide); ok(!strcmp(buffer,"wide"),"Problem with wide string format\n"); diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c index efb93d8..83a713e 100644 --- a/dlls/msvcrt/wcs.c +++ b/dlls/msvcrt/wcs.c @@ -438,7 +438,10 @@ static int pf_vsnprintf( pf_output *out, while (*p) { if( *p == '+' || *p == ' ' ) - flags.Sign = '+'; + { + if ( flags.Sign != '+' ) + flags.Sign = *p; + } else if( *p == '-' ) flags.LeftAlign = *p; else if( *p == '0' )
1
0
0
0
← Newer
1
...
7
8
9
10
11
12
13
...
46
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
Results per page:
10
25
50
100
200