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
November 2009
----- 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
910 discussions
Start a n
N
ew thread
Paul Vriens : mshtml/tests: Use the globally available wine_dbgstr_w.
by Alexandre Julliard
30 Nov '09
30 Nov '09
Module: wine Branch: master Commit: cb5a2bbb021469b6ebea56d8d3b3078474ab13dd URL:
http://source.winehq.org/git/wine.git/?a=commit;h=cb5a2bbb021469b6ebea56d8d…
Author: Paul Vriens <Paul.Vriens.Wine(a)gmail.com> Date: Mon Nov 30 15:31:08 2009 +0100 mshtml/tests: Use the globally available wine_dbgstr_w. --- dlls/mshtml/tests/events.c | 11 ++--------- 1 files changed, 2 insertions(+), 9 deletions(-) diff --git a/dlls/mshtml/tests/events.c b/dlls/mshtml/tests/events.c index 1f4b466..5371f76 100644 --- a/dlls/mshtml/tests/events.c +++ b/dlls/mshtml/tests/events.c @@ -87,13 +87,6 @@ static const char click_doc_str[] = "<div id=\"clickdiv\" style=\"text-align: center; background: red; font-size: 32\">click here</div>" "</body></html>"; -static const char *debugstr_w(LPCWSTR str) -{ - static char buf[1024]; - WideCharToMultiByte(CP_ACP, 0, str, -1, buf, sizeof(buf), NULL, NULL); - return buf; -} - static const char *debugstr_guid(REFIID riid) { static char buf[50]; @@ -264,7 +257,7 @@ static void _test_elem_tag(unsigned line, IUnknown *unk, const char *extag) hres = IHTMLElement_get_tagName(elem, &tag); IHTMLElement_Release(elem); ok_(__FILE__, line) (hres == S_OK, "get_tagName failed: %08x\n", hres); - ok_(__FILE__, line) (!strcmp_wa(tag, extag), "got tag: %s, expected %s\n", debugstr_w(tag), extag); + ok_(__FILE__, line) (!strcmp_wa(tag, extag), "got tag: %s, expected %s\n", wine_dbgstr_w(tag), extag); SysFreeString(tag); } @@ -737,7 +730,7 @@ static HRESULT WINAPI DispatchEx_InvokeEx(IDispatchEx *iface, DISPID id, LCID lc static HRESULT WINAPI DispatchEx_DeleteMemberByName(IDispatchEx *iface, BSTR bstrName, DWORD grfdex) { - ok(0, "unexpected call %s %x\n", debugstr_w(bstrName), grfdex); + ok(0, "unexpected call %s %x\n", wine_dbgstr_w(bstrName), grfdex); return E_NOTIMPL; }
1
0
0
0
Jörg Höhle : mciqtz32: Fix open/close omissions.
by Alexandre Julliard
30 Nov '09
30 Nov '09
Module: wine Branch: master Commit: c4faae94122a83b12be9b22b96818ab0a08ce039 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=c4faae94122a83b12be9b22b9…
Author: Jörg Höhle <hoehle(a)users.sourceforge.net> Date: Mon Nov 23 09:28:00 2009 +0100 mciqtz32: Fix open/close omissions. --- dlls/mciqtz32/mciqtz.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/dlls/mciqtz32/mciqtz.c b/dlls/mciqtz32/mciqtz.c index 8371227..354a9f5 100644 --- a/dlls/mciqtz32/mciqtz.c +++ b/dlls/mciqtz32/mciqtz.c @@ -105,6 +105,7 @@ static DWORD MCIQTZ_drvClose(DWORD dwDevID) /* finish all outstanding things */ MCIQTZ_mciClose(dwDevID, MCI_WAIT, NULL); + mciSetDriverData(dwDevID, 0); HeapFree(GetProcessHeap(), 0, wma); return 1; } @@ -166,7 +167,7 @@ static DWORD MCIQTZ_mciOpen(UINT wDevID, DWORD dwFlags, goto err; } - if (!((dwFlags & MCI_OPEN_ELEMENT) && (dwFlags & MCI_OPEN_ELEMENT))) { + if (!(dwFlags & MCI_OPEN_ELEMENT) || (dwFlags & MCI_OPEN_ELEMENT_ID)) { TRACE("Wrong dwFlags %x\n", dwFlags); goto err; }
1
0
0
0
Paul Chitescu : kernel32: Reduce registry access to KEY_READ wherever possible.
by Alexandre Julliard
30 Nov '09
30 Nov '09
Module: wine Branch: master Commit: 590cc1ad55e953d986e29341dc77408914b1e927 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=590cc1ad55e953d986e29341d…
Author: Paul Chitescu <paulc(a)voip.null.ro> Date: Mon Nov 30 14:57:16 2009 +0200 kernel32: Reduce registry access to KEY_READ wherever possible. --- dlls/kernel32/computername.c | 8 ++++---- dlls/kernel32/except.c | 2 +- dlls/kernel32/locale.c | 2 +- dlls/kernel32/process.c | 8 ++++---- dlls/kernel32/relay16.c | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/dlls/kernel32/computername.c b/dlls/kernel32/computername.c index 7ddbac8..258f297 100644 --- a/dlls/kernel32/computername.c +++ b/dlls/kernel32/computername.c @@ -206,12 +206,12 @@ static BOOL get_use_dns_option(void) BOOL ret = TRUE; _init_attr( &attr, &nameW ); - RtlOpenCurrentUser( KEY_ALL_ACCESS, &root ); + RtlOpenCurrentUser( KEY_READ, &root ); attr.RootDirectory = root; RtlInitUnicodeString( &nameW, NetworkW ); /* @@ Wine registry key: HKCU\Software\Wine\Network */ - if (!NtOpenKey( &hkey, KEY_ALL_ACCESS, &attr )) + if (!NtOpenKey( &hkey, KEY_READ, &attr )) { RtlInitUnicodeString( &nameW, UseDNSW ); if (!NtQueryValueKey( hkey, &nameW, KeyValuePartialInformation, tmp, sizeof(tmp), &dummy )) @@ -321,12 +321,12 @@ BOOL WINAPI GetComputerNameW(LPWSTR name,LPDWORD size) _init_attr ( &attr, &nameW ); RtlInitUnicodeString( &nameW, ComputerW ); - if ( ( st = NtOpenKey( &hkey, KEY_ALL_ACCESS, &attr ) ) != STATUS_SUCCESS ) + if ( ( st = NtOpenKey( &hkey, KEY_READ, &attr ) ) != STATUS_SUCCESS ) goto out; attr.RootDirectory = hkey; RtlInitUnicodeString( &nameW, ActiveComputerNameW ); - if ( ( st = NtOpenKey( &hsubkey, KEY_ALL_ACCESS, &attr ) ) != STATUS_SUCCESS ) + if ( ( st = NtOpenKey( &hsubkey, KEY_READ, &attr ) ) != STATUS_SUCCESS ) goto out; RtlInitUnicodeString( &nameW, ComputerNameW ); diff --git a/dlls/kernel32/except.c b/dlls/kernel32/except.c index ca39ec6..701f921 100644 --- a/dlls/kernel32/except.c +++ b/dlls/kernel32/except.c @@ -212,7 +212,7 @@ static BOOL start_debugger(PEXCEPTION_POINTERS epointers, HANDLE hEvent) attr.SecurityQualityOfService = NULL; RtlInitUnicodeString( &nameW, AeDebugW ); - if (!NtOpenKey( &hDbgConf, KEY_ALL_ACCESS, &attr )) + if (!NtOpenKey( &hDbgConf, KEY_READ, &attr )) { char buffer[64]; KEY_VALUE_PARTIAL_INFORMATION *info; diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c index fb9b517..f1e6370 100644 --- a/dlls/kernel32/locale.c +++ b/dlls/kernel32/locale.c @@ -3017,7 +3017,7 @@ static HANDLE NLS_RegOpenKey(HANDLE hRootKey, LPCWSTR szKeyName) RtlInitUnicodeString( &keyName, szKeyName ); InitializeObjectAttributes(&attr, &keyName, 0, hRootKey, NULL); - if (NtOpenKey( &hkey, KEY_ALL_ACCESS, &attr ) != STATUS_SUCCESS) + if (NtOpenKey( &hkey, KEY_READ, &attr ) != STATUS_SUCCESS) hkey = 0; return hkey; diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c index 7918048..83d3f6c 100644 --- a/dlls/kernel32/process.c +++ b/dlls/kernel32/process.c @@ -432,7 +432,7 @@ static BOOL set_registry_environment(void) /* first the system environment variables */ RtlInitUnicodeString( &nameW, env_keyW ); - if (NtOpenKey( &hkey, KEY_ALL_ACCESS, &attr ) == STATUS_SUCCESS) + if (NtOpenKey( &hkey, KEY_READ, &attr ) == STATUS_SUCCESS) { set_registry_variables( hkey, REG_SZ ); set_registry_variables( hkey, REG_EXPAND_SZ ); @@ -441,9 +441,9 @@ static BOOL set_registry_environment(void) } /* then the ones for the current user */ - if (RtlOpenCurrentUser( KEY_ALL_ACCESS, &attr.RootDirectory ) != STATUS_SUCCESS) return ret; + if (RtlOpenCurrentUser( KEY_READ, &attr.RootDirectory ) != STATUS_SUCCESS) return ret; RtlInitUnicodeString( &nameW, envW ); - if (NtOpenKey( &hkey, KEY_ALL_ACCESS, &attr ) == STATUS_SUCCESS) + if (NtOpenKey( &hkey, KEY_READ, &attr ) == STATUS_SUCCESS) { set_registry_variables( hkey, REG_SZ ); set_registry_variables( hkey, REG_EXPAND_SZ ); @@ -542,7 +542,7 @@ static void set_additional_environment(void) attr.SecurityDescriptor = NULL; attr.SecurityQualityOfService = NULL; RtlInitUnicodeString( &nameW, profile_keyW ); - if (!NtOpenKey( &hkey, KEY_ALL_ACCESS, &attr )) + if (!NtOpenKey( &hkey, KEY_READ, &attr )) { profile_dir = get_reg_value( hkey, profiles_valueW ); all_users_dir = get_reg_value( hkey, all_users_valueW ); diff --git a/dlls/kernel32/relay16.c b/dlls/kernel32/relay16.c index b3ac234..f5a710f 100644 --- a/dlls/kernel32/relay16.c +++ b/dlls/kernel32/relay16.c @@ -119,7 +119,7 @@ void RELAY16_InitDebugLists(void) static const WCHAR SnoopIncludeW[] = {'S','n','o','o','p','I','n','c','l','u','d','e',0}; static const WCHAR SnoopExcludeW[] = {'S','n','o','o','p','E','x','c','l','u','d','e',0}; - RtlOpenCurrentUser( KEY_ALL_ACCESS, &root ); + RtlOpenCurrentUser( KEY_READ, &root ); attr.Length = sizeof(attr); attr.RootDirectory = root; attr.ObjectName = &name; @@ -129,7 +129,7 @@ void RELAY16_InitDebugLists(void) RtlInitUnicodeString( &name, configW ); /* @@ Wine registry key: HKCU\Software\Wine\Debug */ - if (NtOpenKey( &hkey, KEY_ALL_ACCESS, &attr )) hkey = 0; + if (NtOpenKey( &hkey, KEY_READ, &attr )) hkey = 0; NtClose( root ); if (!hkey) return;
1
0
0
0
Paul Chitescu : fwpuclnt: Add initial minimal stub implementation.
by Alexandre Julliard
30 Nov '09
30 Nov '09
Module: wine Branch: master Commit: 77b98c9e6580d18cec8087389c7303eefe747efe URL:
http://source.winehq.org/git/wine.git/?a=commit;h=77b98c9e6580d18cec8087389…
Author: Paul Chitescu <paulc(a)voip.null.ro> Date: Fri Nov 27 18:43:27 2009 +0200 fwpuclnt: Add initial minimal stub implementation. --- configure | 9 +++ configure.ac | 1 + dlls/fwpuclnt/Makefile.in | 13 ++++ dlls/fwpuclnt/fwpuclnt.spec | 146 ++++++++++++++++++++++++++++++++++++++++++ dlls/fwpuclnt/main.c | 149 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 318 insertions(+), 0 deletions(-) Diff:
http://source.winehq.org/git/wine.git/?a=commitdiff;h=77b98c9e6580d18cec808…
1
0
0
0
Maarten Lankhorst : dsound: Don't use DirectSoundDevice calls directly.
by Alexandre Julliard
30 Nov '09
30 Nov '09
Module: wine Branch: master Commit: 52400723c962a526a7e345afc13c721df90b7da7 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=52400723c962a526a7e345afc…
Author: Maarten Lankhorst <m.b.lankhorst(a)gmail.com> Date: Tue Nov 24 14:32:23 2009 +0100 dsound: Don't use DirectSoundDevice calls directly. --- dlls/dsound/duplex.c | 52 ++++++++++++++++--------------------------------- 1 files changed, 17 insertions(+), 35 deletions(-) diff --git a/dlls/dsound/duplex.c b/dlls/dsound/duplex.c index e516c49..dbe811b 100644 --- a/dlls/dsound/duplex.c +++ b/dlls/dsound/duplex.c @@ -49,7 +49,7 @@ typedef struct IDirectSoundFullDuplexImpl LONG ref; /* IDirectSoundFullDuplexImpl fields */ - DirectSoundDevice *renderer_device; + IDirectSound8 *renderer_device; IDirectSoundCapture *capture_device; LPUNKNOWN pUnknown; @@ -195,7 +195,7 @@ static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSound8_CreateSoundBuffer( { IDirectSoundFullDuplex_IDirectSound8 *This = (IDirectSoundFullDuplex_IDirectSound8 *)iface; TRACE("(%p,%p,%p,%p)\n",This,dsbd,ppdsb,lpunk); - return DirectSoundDevice_CreateSoundBuffer(This->pdsfd->renderer_device,dsbd,ppdsb,lpunk,TRUE); + return IDirectSound8_CreateSoundBuffer(This->pdsfd->renderer_device,dsbd,ppdsb,lpunk); } static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSound8_GetCaps( @@ -204,7 +204,7 @@ static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSound8_GetCaps( { IDirectSoundFullDuplex_IDirectSound8 *This = (IDirectSoundFullDuplex_IDirectSound8 *)iface; TRACE("(%p,%p)\n",This,lpDSCaps); - return DirectSoundDevice_GetCaps(This->pdsfd->renderer_device, lpDSCaps); + return IDirectSound8_GetCaps(This->pdsfd->renderer_device, lpDSCaps); } static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSound8_DuplicateSoundBuffer( @@ -214,7 +214,7 @@ static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSound8_DuplicateSoundBuffer( { IDirectSoundFullDuplex_IDirectSound8 *This = (IDirectSoundFullDuplex_IDirectSound8 *)iface; TRACE("(%p,%p,%p)\n",This,psb,ppdsb); - return DirectSoundDevice_DuplicateSoundBuffer(This->pdsfd->renderer_device,psb,ppdsb); + return IDirectSound8_DuplicateSoundBuffer(This->pdsfd->renderer_device,psb,ppdsb); } static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSound8_SetCooperativeLevel( @@ -224,7 +224,7 @@ static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSound8_SetCooperativeLevel( { IDirectSoundFullDuplex_IDirectSound8 *This = (IDirectSoundFullDuplex_IDirectSound8 *)iface; TRACE("(%p,%p,%s)\n",This,hwnd,dumpCooperativeLevel(level)); - return DirectSoundDevice_SetCooperativeLevel(This->pdsfd->renderer_device,hwnd,level); + return IDirectSound8_SetCooperativeLevel(This->pdsfd->renderer_device,hwnd,level); } static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSound8_Compact( @@ -232,7 +232,7 @@ static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSound8_Compact( { IDirectSoundFullDuplex_IDirectSound8 *This = (IDirectSoundFullDuplex_IDirectSound8 *)iface; TRACE("(%p)\n", This); - return DirectSoundDevice_Compact(This->pdsfd->renderer_device); + return IDirectSound8_Compact(This->pdsfd->renderer_device); } static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSound8_GetSpeakerConfig( @@ -241,7 +241,7 @@ static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSound8_GetSpeakerConfig( { IDirectSoundFullDuplex_IDirectSound8 *This = (IDirectSoundFullDuplex_IDirectSound8 *)iface; TRACE("(%p, %p)\n", This, lpdwSpeakerConfig); - return DirectSoundDevice_GetSpeakerConfig(This->pdsfd->renderer_device,lpdwSpeakerConfig); + return IDirectSound8_GetSpeakerConfig(This->pdsfd->renderer_device,lpdwSpeakerConfig); } static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSound8_SetSpeakerConfig( @@ -250,7 +250,7 @@ static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSound8_SetSpeakerConfig( { IDirectSoundFullDuplex_IDirectSound8 *This = (IDirectSoundFullDuplex_IDirectSound8 *)iface; TRACE("(%p,0x%08x)\n",This,config); - return DirectSoundDevice_SetSpeakerConfig(This->pdsfd->renderer_device,config); + return IDirectSound8_SetSpeakerConfig(This->pdsfd->renderer_device,config); } static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSound8_Initialize( @@ -259,7 +259,7 @@ static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSound8_Initialize( { IDirectSoundFullDuplex_IDirectSound8 *This = (IDirectSoundFullDuplex_IDirectSound8 *)iface; TRACE("(%p, %s)\n", This, debugstr_guid(lpcGuid)); - return DirectSoundDevice_Initialize(&This->pdsfd->renderer_device,lpcGuid); + return IDirectSound8_Initialize(This->pdsfd->renderer_device,lpcGuid); } static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSound8_VerifyCertification( @@ -268,7 +268,7 @@ static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSound8_VerifyCertification( { IDirectSoundFullDuplex_IDirectSound8 *This = (IDirectSoundFullDuplex_IDirectSound8 *)iface; TRACE("(%p, %p)\n", This, cert); - return DirectSoundDevice_VerifyCertification(This->pdsfd->renderer_device,cert); + return IDirectSound8_VerifyCertification(This->pdsfd->renderer_device,cert); } static const IDirectSound8Vtbl DirectSoundFullDuplex_DirectSound8_Vtbl = @@ -525,7 +525,7 @@ IDirectSoundFullDuplexImpl_Release( LPDIRECTSOUNDFULLDUPLEX iface ) if (This->capture_device) IDirectSoundCapture_Release(This->capture_device); if (This->renderer_device) - DirectSoundDevice_Release(This->renderer_device); + IDirectSound_Release(This->renderer_device); HeapFree( GetProcessHeap(), 0, This ); TRACE("(%p) released\n", This); } @@ -546,7 +546,6 @@ IDirectSoundFullDuplexImpl_Initialize( { HRESULT hr; IDirectSoundFullDuplexImpl *This = (IDirectSoundFullDuplexImpl *)iface; - IDirectSoundBufferImpl * dsb; TRACE("(%p,%s,%s,%p,%p,%p,%x,%p,%p)\n", This, debugstr_guid(pCaptureGuid), debugstr_guid(pRendererGuid), @@ -560,7 +559,9 @@ IDirectSoundFullDuplexImpl_Initialize( return DSERR_ALREADYINITIALIZED; } - hr = DirectSoundDevice_Initialize(&This->renderer_device, pRendererGuid); + hr = DSOUND_Create8(&IID_IDirectSound8, &This->renderer_device); + if (SUCCEEDED(hr)) + hr = IDirectSound_Initialize(This->renderer_device, pRendererGuid); if (hr != DS_OK) { WARN("DirectSoundDevice_Initialize() failed\n"); *lplpDirectSoundCaptureBuffer8 = NULL; @@ -568,20 +569,10 @@ IDirectSoundFullDuplexImpl_Initialize( return hr; } - if (dwLevel==DSSCL_PRIORITY || dwLevel==DSSCL_EXCLUSIVE) { - WARN("level=%s not fully supported\n", - dwLevel==DSSCL_PRIORITY ? "DSSCL_PRIORITY" : "DSSCL_EXCLUSIVE"); - } - This->renderer_device->priolevel = dwLevel; + IDirectSound8_SetCooperativeLevel(This->renderer_device, hWnd, dwLevel); - hr = DSOUND_PrimarySetFormat(This->renderer_device, lpDsBufferDesc->lpwfxFormat, dwLevel == DSSCL_EXCLUSIVE); - if (hr != DS_OK) { - WARN("DSOUND_PrimarySetFormat() failed\n"); - *lplpDirectSoundCaptureBuffer8 = NULL; - *lplpDirectSoundBuffer8 = NULL; - return hr; - } - hr = IDirectSoundBufferImpl_Create(This->renderer_device, &dsb, lpDsBufferDesc); + hr = IDirectSound8_CreateSoundBuffer(This->renderer_device, lpDsBufferDesc, + (IDirectSoundBuffer**)lplpDirectSoundBuffer8, NULL); if (hr != DS_OK) { WARN("IDirectSoundBufferImpl_Create() failed\n"); *lplpDirectSoundCaptureBuffer8 = NULL; @@ -589,15 +580,6 @@ IDirectSoundFullDuplexImpl_Initialize( return hr; } - hr = SecondaryBufferImpl_Create(dsb, (SecondaryBufferImpl **)lplpDirectSoundBuffer8); - if (hr != DS_OK) { - WARN("SecondaryBufferImpl_Create() failed\n"); - *lplpDirectSoundCaptureBuffer8 = NULL; - *lplpDirectSoundBuffer8 = NULL; - return hr; - } - IDirectSoundBuffer8_AddRef(*lplpDirectSoundBuffer8); - hr = DSOUND_CaptureCreate8(&IID_IDirectSoundCapture8, &This->capture_device); if (SUCCEEDED(hr)) hr = IDirectSoundCapture_Initialize(This->capture_device, pCaptureGuid);
1
0
0
0
Maarten Lankhorst : dsound: Use DirectSoundCapture properly in duplex.
by Alexandre Julliard
30 Nov '09
30 Nov '09
Module: wine Branch: master Commit: 26df03d2df09d4e02c2acad607d2fe7673f1dee4 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=26df03d2df09d4e02c2acad60…
Author: Maarten Lankhorst <m.b.lankhorst(a)gmail.com> Date: Tue Nov 24 14:22:29 2009 +0100 dsound: Use DirectSoundCapture properly in duplex. --- dlls/dsound/duplex.c | 23 ++++++++++++++--------- 1 files changed, 14 insertions(+), 9 deletions(-) diff --git a/dlls/dsound/duplex.c b/dlls/dsound/duplex.c index 2faf507..e516c49 100644 --- a/dlls/dsound/duplex.c +++ b/dlls/dsound/duplex.c @@ -24,6 +24,8 @@ #define NONAMELESSSTRUCT #define NONAMELESSUNION +#define CINTERFACE +#define COBJMACROS #include "windef.h" #include "winbase.h" #include "winuser.h" @@ -48,7 +50,7 @@ typedef struct IDirectSoundFullDuplexImpl /* IDirectSoundFullDuplexImpl fields */ DirectSoundDevice *renderer_device; - DirectSoundCaptureDevice *capture_device; + IDirectSoundCapture *capture_device; LPUNKNOWN pUnknown; LPDIRECTSOUND8 pDS8; @@ -368,7 +370,7 @@ static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSoundCapture_CreateCaptureBu { IDirectSoundFullDuplex_IDirectSoundCapture *This = (IDirectSoundFullDuplex_IDirectSoundCapture *)iface; TRACE("(%p,%p,%p,%p)\n",This,lpcDSCBufferDesc,lplpDSCaptureBuffer,pUnk); - return IDirectSoundCaptureImpl_CreateCaptureBuffer(This->pdsfd->pDSC,lpcDSCBufferDesc,lplpDSCaptureBuffer,pUnk); + return IDirectSoundCapture_CreateCaptureBuffer(This->pdsfd->capture_device,lpcDSCBufferDesc,lplpDSCaptureBuffer,pUnk); } static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSoundCapture_GetCaps( @@ -377,7 +379,7 @@ static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSoundCapture_GetCaps( { IDirectSoundFullDuplex_IDirectSoundCapture *This = (IDirectSoundFullDuplex_IDirectSoundCapture *)iface; TRACE("(%p,%p)\n",This,lpDSCCaps); - return IDirectSoundCaptureImpl_GetCaps(This->pdsfd->pDSC, lpDSCCaps); + return IDirectSoundCapture_GetCaps(This->pdsfd->capture_device, lpDSCCaps); } static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSoundCapture_Initialize( @@ -386,7 +388,7 @@ static HRESULT WINAPI IDirectSoundFullDuplex_IDirectSoundCapture_Initialize( { IDirectSoundFullDuplex_IDirectSoundCapture *This = (IDirectSoundFullDuplex_IDirectSoundCapture *)iface; TRACE("(%p, %s)\n", This, debugstr_guid(lpcGUID)); - return IDirectSoundCaptureImpl_Initialize(This->pdsfd->pDSC,lpcGUID); + return IDirectSoundCapture_Initialize(This->pdsfd->capture_device,lpcGUID); } static const IDirectSoundCaptureVtbl DirectSoundFullDuplex_DirectSoundCapture_Vtbl = @@ -521,7 +523,7 @@ IDirectSoundFullDuplexImpl_Release( LPDIRECTSOUNDFULLDUPLEX iface ) if (!ref) { if (This->capture_device) - DirectSoundCaptureDevice_Release(This->capture_device); + IDirectSoundCapture_Release(This->capture_device); if (This->renderer_device) DirectSoundDevice_Release(This->renderer_device); HeapFree( GetProcessHeap(), 0, This ); @@ -596,7 +598,9 @@ IDirectSoundFullDuplexImpl_Initialize( } IDirectSoundBuffer8_AddRef(*lplpDirectSoundBuffer8); - hr = DirectSoundCaptureDevice_Initialize(&This->capture_device, pCaptureGuid); + hr = DSOUND_CaptureCreate8(&IID_IDirectSoundCapture8, &This->capture_device); + if (SUCCEEDED(hr)) + hr = IDirectSoundCapture_Initialize(This->capture_device, pCaptureGuid); if (hr != DS_OK) { WARN("DirectSoundCaptureDevice_Initialize() failed\n"); *lplpDirectSoundCaptureBuffer8 = NULL; @@ -604,9 +608,10 @@ IDirectSoundFullDuplexImpl_Initialize( return hr; } - hr = IDirectSoundCaptureBufferImpl_Create(This->capture_device, - (IDirectSoundCaptureBufferImpl **)lplpDirectSoundCaptureBuffer8, - lpDscBufferDesc); + hr = IDirectSoundCapture_CreateCaptureBuffer(This->capture_device, + lpDscBufferDesc, + (IDirectSoundCaptureBuffer**)lplpDirectSoundCaptureBuffer8, + NULL); if (hr != DS_OK) { WARN("IDirectSoundCaptureBufferImpl_Create() failed\n"); *lplpDirectSoundCaptureBuffer8 = NULL;
1
0
0
0
Maarten Lankhorst : dsound: Call DSOUND_FullDuplexCreate instead of creating it directly.
by Alexandre Julliard
30 Nov '09
30 Nov '09
Module: wine Branch: master Commit: 9123f28e46d0fe2d6bc64a4ec90a47fc2dacd7a5 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=9123f28e46d0fe2d6bc64a4ec…
Author: Maarten Lankhorst <m.b.lankhorst(a)gmail.com> Date: Tue Nov 24 14:16:52 2009 +0100 dsound: Call DSOUND_FullDuplexCreate instead of creating it directly. --- dlls/dsound/duplex.c | 20 +++----------------- 1 files changed, 3 insertions(+), 17 deletions(-) diff --git a/dlls/dsound/duplex.c b/dlls/dsound/duplex.c index 305bea0..2faf507 100644 --- a/dlls/dsound/duplex.c +++ b/dlls/dsound/duplex.c @@ -745,22 +745,8 @@ DirectSoundFullDuplexCreate( return DSERR_INVALIDPARAM; } - /* Get dsound configuration */ - setup_dsound_options(); - - This = HeapAlloc(GetProcessHeap(), - HEAP_ZERO_MEMORY, sizeof(IDirectSoundFullDuplexImpl)); - - if (This == NULL) { - WARN("out of memory\n"); - *ppDSFD = NULL; - return DSERR_OUTOFMEMORY; - } - - This->lpVtbl = &dsfdvt; - This->ref = 1; - This->capture_device = NULL; - This->renderer_device = NULL; + hres = DSOUND_FullDuplexCreate(&IID_IDirectSoundFullDuplex, (LPDIRECTSOUNDFULLDUPLEX*)&This); + if (FAILED(hres)) return hres; hres = IDirectSoundFullDuplexImpl_Initialize((LPDIRECTSOUNDFULLDUPLEX)This, pcGuidCaptureDevice, @@ -770,7 +756,7 @@ DirectSoundFullDuplexCreate( hWnd, dwLevel, ppDSCBuffer8, ppDSBuffer8); if (hres != DS_OK) { - HeapFree(GetProcessHeap(), 0, This); + IUnknown_Release((LPDIRECTSOUNDFULLDUPLEX)This); WARN("IDirectSoundFullDuplexImpl_Initialize failed\n"); *ppDSFD = NULL; } else
1
0
0
0
Maarten Lankhorst : dsound: Remove directsound interface in duplex.
by Alexandre Julliard
30 Nov '09
30 Nov '09
Module: wine Branch: master Commit: c9b70ddf7e08d5feb70663b5061b9cf50082779e URL:
http://source.winehq.org/git/wine.git/?a=commit;h=c9b70ddf7e08d5feb70663b50…
Author: Maarten Lankhorst <m.b.lankhorst(a)gmail.com> Date: Tue Nov 24 14:10:52 2009 +0100 dsound: Remove directsound interface in duplex. --- dlls/dsound/dsound.c | 4 +- dlls/dsound/dsound_private.h | 2 + dlls/dsound/duplex.c | 199 +++--------------------------------------- 3 files changed, 16 insertions(+), 189 deletions(-) Diff:
http://source.winehq.org/git/wine.git/?a=commitdiff;h=c9b70ddf7e08d5feb7066…
1
0
0
0
Maarten Lankhorst : dsound: Fix destruction in duplex.
by Alexandre Julliard
30 Nov '09
30 Nov '09
Module: wine Branch: master Commit: 9aa5aa3364cc78429f5c260592d5f9b1117afe5f URL:
http://source.winehq.org/git/wine.git/?a=commit;h=9aa5aa3364cc78429f5c26059…
Author: Maarten Lankhorst <m.b.lankhorst(a)gmail.com> Date: Tue Nov 24 14:12:58 2009 +0100 dsound: Fix destruction in duplex. --- dlls/dsound/duplex.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dlls/dsound/duplex.c b/dlls/dsound/duplex.c index 8fbf1d6..7ef83f9 100644 --- a/dlls/dsound/duplex.c +++ b/dlls/dsound/duplex.c @@ -109,7 +109,7 @@ static ULONG WINAPI IDirectSoundFullDuplex_IUnknown_Release( ULONG ref = InterlockedDecrement(&(This->ref)); TRACE("(%p) ref was %d\n", This, ref + 1); if (!ref) { - IDirectSound_Release(This->pdsfd->pUnknown); + This->pdsfd->pUnknown = NULL; HeapFree(GetProcessHeap(), 0, This); TRACE("(%p) released\n", This); } @@ -185,7 +185,7 @@ static ULONG WINAPI IDirectSoundFullDuplex_IDirectSound_Release( ULONG ref = InterlockedDecrement(&(This->ref)); TRACE("(%p) ref was %d\n", This, ref + 1); if (!ref) { - IDirectSound_Release(This->pdsfd->pDS); + This->pdsfd->pDS = NULL; HeapFree(GetProcessHeap(), 0, This); TRACE("(%p) released\n", This); } @@ -350,7 +350,7 @@ static ULONG WINAPI IDirectSoundFullDuplex_IDirectSound8_Release( ULONG ref = InterlockedDecrement(&(This->ref)); TRACE("(%p) ref was %d\n", This, ref + 1); if (!ref) { - IDirectSound_Release(This->pdsfd->pDS8); + This->pdsfd->pDS8 = NULL; HeapFree(GetProcessHeap(), 0, This); TRACE("(%p) released\n", This); } @@ -515,7 +515,7 @@ static ULONG WINAPI IDirectSoundFullDuplex_IDirectSoundCapture_Release( ULONG ref = InterlockedDecrement(&(This->ref)); TRACE("(%p) ref was %d\n", This, ref + 1); if (!ref) { - IDirectSoundCapture_Release(This->pdsfd->pDSC); + This->pdsfd->pDSC = NULL; HeapFree(GetProcessHeap(), 0, This); TRACE("(%p) released\n", This); }
1
0
0
0
Dan Kegel : ntdll: Implement RtlGetNtGlobalFlags(), add related defines to winternl.h.
by Alexandre Julliard
30 Nov '09
30 Nov '09
Module: wine Branch: master Commit: 0f556bf8032add24d1bf5940bf477544366ea66e URL:
http://source.winehq.org/git/wine.git/?a=commit;h=0f556bf8032add24d1bf5940b…
Author: Dan Kegel <dank(a)kegel.com> Date: Mon Nov 23 17:24:23 2009 -0800 ntdll: Implement RtlGetNtGlobalFlags(), add related defines to winternl.h. --- dlls/ntdll/ntdll.spec | 2 +- dlls/ntdll/process.c | 9 ++++++++ dlls/ntdll/thread.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ include/winternl.h | 5 ++++ 4 files changed, 65 insertions(+), 1 deletions(-) diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 382feb3..e7f298d 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -632,7 +632,7 @@ @ stdcall RtlGetLongestNtPathLength() # @ stub RtlGetNativeSystemInformation # @ stub RtlGetNextRange -@ stub RtlGetNtGlobalFlags +@ stdcall RtlGetNtGlobalFlags() @ stdcall RtlGetNtProductType(ptr) @ stdcall RtlGetNtVersionNumbers(ptr ptr ptr) @ stdcall RtlGetOwnerSecurityDescriptor(ptr ptr ptr) diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c index ba51df5..aaf8315 100644 --- a/dlls/ntdll/process.c +++ b/dlls/ntdll/process.c @@ -73,6 +73,15 @@ PEB * WINAPI RtlGetCurrentPeb(void) return NtCurrentTeb()->Peb; } +/****************************************************************************** + * RtlGetNtGlobalFlags [NTDLL.@] + * + */ +ULONG WINAPI RtlGetNtGlobalFlags(void) +{ + return NtCurrentTeb()->Peb->NtGlobalFlag; +} + /*********************************************************************** * __wine_make_process_system (NTDLL.@) * diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c index b9529bd..c370651 100644 --- a/dlls/ntdll/thread.c +++ b/dlls/ntdll/thread.c @@ -216,6 +216,53 @@ done: return status; } +/*********************************************************************** + * get_global_flag + * + * This is called before the process heap is created, + * but after the connection to the server is established. + * No windows heap allocation is permitted. + */ +static DWORD get_global_flag(void) +{ + static const WCHAR sessionman_keyW[] = {'M','a','c','h','i','n','e','\\', + 'S','y','s','t','e','m','\\', + 'C','u','r','r','e','n','t','C','o','n','t','r','o','l','S','e','t','\\', + 'C','o','n','t','r','o','l','\\', + 'S','e','s','s','i','o','n',' ','M','a','n','a','g','e','r',0}; + static const WCHAR global_flagW[] = {'G','l','o','b','a','l','F','l','a','g',0}; + OBJECT_ATTRIBUTES attr; + UNICODE_STRING nameW, valueW; + HANDLE hkey; + char tmp[32]; + DWORD count; + KEY_VALUE_PARTIAL_INFORMATION *info = (KEY_VALUE_PARTIAL_INFORMATION *)tmp; + NTSTATUS status; + + attr.Length = sizeof(attr); + attr.RootDirectory = 0; + attr.ObjectName = &nameW; + attr.Attributes = 0; + attr.SecurityDescriptor = NULL; + attr.SecurityQualityOfService = NULL; + RtlInitUnicodeString( &nameW, sessionman_keyW ); + + status = NtOpenKey( &hkey, KEY_ALL_ACCESS, &attr ); + if (status != STATUS_SUCCESS) + return 0; + + RtlInitUnicodeString( &valueW, global_flagW ); + status = NtQueryValueKey( hkey, &valueW, KeyValuePartialInformation, tmp, sizeof(tmp)-1, &count ); + if (status != STATUS_SUCCESS) + return 0; + + /* Some documents say this can be a string, so handle either type */ + if (info->Type == REG_DWORD) + return *(DWORD *)info->Data; + if (info->Type == REG_SZ) + return strtol((char *)info->Data, NULL, 16); + return 0; +} /*********************************************************************** * thread_init @@ -297,6 +344,9 @@ HANDLE thread_init(void) server_init_process(); info_size = server_init_thread( peb ); + /* retrieve the global flags settings from the registry */ + peb->NtGlobalFlag = get_global_flag(); + /* create the process heap */ if (!(peb->ProcessHeap = RtlCreateHeap( HEAP_GROWABLE, NULL, 0, 0, NULL, NULL ))) { diff --git a/include/winternl.h b/include/winternl.h index 6f21ad0..9625d88 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -1732,6 +1732,10 @@ typedef void (NTAPI *RTL_WAITORTIMERCALLBACKFUNC)(PVOID,BOOLEAN); /* FIXME: not #define SE_CREATE_GLOBAL_PRIVILEGE 30L #define SE_MAX_WELL_KNOWN_PRIVILEGE SE_CREATE_GLOBAL_PRIVILEGE +/* NtGlobalFlag bits */ +#define FLG_HEAP_ENABLE_TAIL_CHECK 0x00000010 +#define FLG_HEAP_ENABLE_FREE_CHECK 0x00000020 +#define FLG_HEAP_DISABLE_COALESCING 0x00200000 /* Rtl*Registry* functions structs and defines */ #define RTL_REGISTRY_ABSOLUTE 0 @@ -2404,6 +2408,7 @@ NTSYSAPI NTSTATUS WINAPI RtlGetGroupSecurityDescriptor(PSECURITY_DESCRIPTOR,PSI NTSYSAPI NTSTATUS WINAPI RtlGetLastNtStatus(void); NTSYSAPI DWORD WINAPI RtlGetLastWin32Error(void); NTSYSAPI DWORD WINAPI RtlGetLongestNtPathLength(void); +NTSYSAPI ULONG WINAPI RtlGetNtGlobalFlags(void); NTSYSAPI BOOLEAN WINAPI RtlGetNtProductType(LPDWORD); NTSYSAPI NTSTATUS WINAPI RtlGetOwnerSecurityDescriptor(PSECURITY_DESCRIPTOR,PSID *,PBOOLEAN); NTSYSAPI ULONG WINAPI RtlGetProcessHeaps(ULONG,HANDLE*);
1
0
0
0
← Newer
1
2
3
4
...
91
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
80
81
82
83
84
85
86
87
88
89
90
91
Results per page:
10
25
50
100
200