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
June 2019
----- 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
1 participants
865 discussions
Start a n
N
ew thread
Alistair Leslie-Hughes : dbghelp: Use internal flag for loading native files.
by Alexandre Julliard
10 Jun '19
10 Jun '19
Module: wine Branch: master Commit: 101820d01a1c776e4b6ff42e661ac3a1380f10c7 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=101820d01a1c776e4b6ff42e…
Author: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> Date: Thu Jun 6 23:44:31 2019 +0000 dbghelp: Use internal flag for loading native files. Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dbghelp/dbghelp_private.h | 3 --- dlls/dbghelp/module.c | 2 +- dlls/dbghelp/symbol.c | 4 ++-- programs/winedbg/info.c | 6 +++--- programs/winedbg/symbol.c | 20 ++++++++++---------- programs/winedbg/tgt_module.c | 7 +++++-- programs/winedbg/winedbg.c | 6 +++--- 7 files changed, 24 insertions(+), 24 deletions(-) diff --git a/dlls/dbghelp/dbghelp_private.h b/dlls/dbghelp/dbghelp_private.h index 9e76d2d..d083102 100644 --- a/dlls/dbghelp/dbghelp_private.h +++ b/dlls/dbghelp/dbghelp_private.h @@ -116,9 +116,6 @@ void* hash_table_iter_up(struct hash_table_iter* hti) DECLSPEC_HIDDEN; extern unsigned dbghelp_options DECLSPEC_HIDDEN; extern BOOL dbghelp_opt_native DECLSPEC_HIDDEN; -/* some more Wine extensions */ -#define SYMOPT_WINE_WITH_NATIVE_MODULES 0x40000000 - enum location_kind {loc_error, /* reg is the error code */ loc_unavailable, /* location is not available */ loc_absolute, /* offset is the location */ diff --git a/dlls/dbghelp/module.c b/dlls/dbghelp/module.c index d9d8417..fe8ed35 100644 --- a/dlls/dbghelp/module.c +++ b/dlls/dbghelp/module.c @@ -832,7 +832,7 @@ BOOL WINAPI SymEnumerateModulesW64(HANDLE hProcess, for (module = pcs->lmodules; module; module = module->next) { - if (!(dbghelp_options & SYMOPT_WINE_WITH_NATIVE_MODULES) && + if (!dbghelp_opt_native && (module->type == DMT_ELF || module->type == DMT_MACHO)) continue; if (!EnumModulesCallback(module->modulename, diff --git a/dlls/dbghelp/symbol.c b/dlls/dbghelp/symbol.c index f59e322..2516904 100644 --- a/dlls/dbghelp/symbol.c +++ b/dlls/dbghelp/symbol.c @@ -1062,7 +1062,7 @@ static BOOL sym_enum(HANDLE hProcess, ULONG64 BaseOfDll, PCWSTR Mask, } /* not found in PE modules, retry on the ELF ones */ - if (!pair.requested && (dbghelp_options & SYMOPT_WINE_WITH_NATIVE_MODULES)) + if (!pair.requested && dbghelp_opt_native) { for (pair.requested = pair.pcs->lmodules; pair.requested; pair.requested = pair.requested->next) { @@ -1393,7 +1393,7 @@ BOOL WINAPI SymFromName(HANDLE hProcess, PCSTR Name, PSYMBOL_INFO Symbol) } /* not found in PE modules, retry on the ELF ones */ - if (dbghelp_options & SYMOPT_WINE_WITH_NATIVE_MODULES) + if (dbghelp_opt_native) { for (module = pcs->lmodules; module; module = module->next) { diff --git a/programs/winedbg/info.c b/programs/winedbg/info.c index 72c57a2..bf5ba4f 100644 --- a/programs/winedbg/info.c +++ b/programs/winedbg/info.c @@ -214,7 +214,7 @@ void info_win32_module(DWORD64 base) { struct info_modules im; UINT i, j, num_printed = 0; - DWORD opt; + BOOL opt; if (!dbg_curr_process) { @@ -228,9 +228,9 @@ void info_win32_module(DWORD64 base) /* this is a wine specific options to return also ELF modules in the * enumeration */ - SymSetOptions((opt = SymGetOptions()) | 0x40000000); + opt = SymSetExtendedOption(SYMOPT_EX_WINE_NATIVE_MODULES, TRUE); SymEnumerateModules64(dbg_curr_process->handle, info_mod_cb, &im); - SymSetOptions(opt); + SymSetExtendedOption(SYMOPT_EX_WINE_NATIVE_MODULES, opt); qsort(im.modules, im.num_used, sizeof(im.modules[0]), module_compare); diff --git a/programs/winedbg/symbol.c b/programs/winedbg/symbol.c index aa88ffc..372ae76 100644 --- a/programs/winedbg/symbol.c +++ b/programs/winedbg/symbol.c @@ -366,7 +366,7 @@ enum sym_get_lval symbol_get_lvalue(const char* name, const int lineno, struct sgv_data sgv; int i; char buffer[512]; - DWORD opt; + BOOL opt; IMAGEHLP_STACK_FRAME ihsf; if (strlen(name) + 4 > sizeof(buffer)) @@ -394,7 +394,7 @@ enum sym_get_lval symbol_get_lvalue(const char* name, const int lineno, /* this is a wine specific options to return also ELF modules in the * enumeration */ - SymSetOptions((opt = SymGetOptions()) | 0x40000000); + opt = SymSetExtendedOption(SYMOPT_EX_WINE_NATIVE_MODULES, TRUE); SymEnumSymbols(dbg_curr_process->handle, 0, buffer, sgv_cb, (void*)&sgv); if (!sgv.num) @@ -419,7 +419,7 @@ enum sym_get_lval symbol_get_lvalue(const char* name, const int lineno, SymEnumSymbols(dbg_curr_process->handle, 0, buffer, sgv_cb, (void*)&sgv); } } - SymSetOptions(opt); + SymSetExtendedOption(SYMOPT_EX_WINE_NATIVE_MODULES, opt); /* now grab local symbols */ if (stack_get_current_frame(&ihsf) && sgv.num < NUMDBGV) @@ -655,10 +655,10 @@ BOOL symbol_get_line(const char* filename, const char* name, /* this is a wine specific options to return also ELF modules in the * enumeration */ - SymSetOptions((opt = SymGetOptions()) | 0x40000000); + opt = SymSetExtendedOption(SYMOPT_EX_WINE_NATIVE_MODULES, TRUE); if (!SymEnumSymbols(dbg_curr_process->handle, 0, buffer, sgv_cb, (void*)&sgv)) { - SymSetOptions(opt); + SymSetExtendedOption(SYMOPT_EX_WINE_NATIVE_MODULES, opt); return FALSE; } @@ -668,11 +668,11 @@ BOOL symbol_get_line(const char* filename, const char* name, strcpy(&buffer[3], name); if (!SymEnumSymbols(dbg_curr_process->handle, 0, buffer, sgv_cb, (void*)&sgv)) { - SymSetOptions(opt); + SymSetExtendedOption(SYMOPT_EX_WINE_NATIVE_MODULES, opt); return FALSE; } } - SymSetOptions(opt); + SymSetExtendedOption(SYMOPT_EX_WINE_NATIVE_MODULES, opt); for (i = 0; i < sgv.num; i++) { @@ -795,7 +795,7 @@ static BOOL CALLBACK symbols_info_cb(PSYMBOL_INFO sym, ULONG size, PVOID ctx) void symbol_info(const char* str) { char buffer[512]; - DWORD opt; + BOOL opt; if (strlen(str) + 3 >= sizeof(buffer)) { @@ -808,7 +808,7 @@ void symbol_info(const char* str) /* this is a wine specific options to return also ELF modules in the * enumeration */ - SymSetOptions((opt = SymGetOptions()) | 0x40000000); + opt = SymSetExtendedOption(SYMOPT_EX_WINE_NATIVE_MODULES, TRUE); SymEnumSymbols(dbg_curr_process->handle, 0, buffer, symbols_info_cb, NULL); - SymSetOptions(opt); + SymSetExtendedOption(SYMOPT_EX_WINE_NATIVE_MODULES, opt); } diff --git a/programs/winedbg/tgt_module.c b/programs/winedbg/tgt_module.c index 58c4282..2fdebc9 100644 --- a/programs/winedbg/tgt_module.c +++ b/programs/winedbg/tgt_module.c @@ -45,13 +45,15 @@ static BOOL tgt_process_module_write(HANDLE hProcess, void* addr, enum dbg_start tgt_module_load(const char* name, BOOL keep) { DWORD opts = SymGetOptions(); + BOOL native; HANDLE hDummy = (HANDLE)0x87654321; enum dbg_start ret = start_ok; WCHAR* nameW; unsigned len; SymSetOptions((opts & ~(SYMOPT_UNDNAME|SYMOPT_DEFERRED_LOADS)) | - SYMOPT_LOAD_LINES | SYMOPT_AUTO_PUBLICS | 0x40000000); + SYMOPT_LOAD_LINES | SYMOPT_AUTO_PUBLICS); + native = SymSetExtendedOption(SYMOPT_EX_WINE_NATIVE_MODULES, TRUE); if (!dbg_init(hDummy, NULL, FALSE)) return start_error_init; len = MultiByteToWideChar(CP_ACP, 0, name, -1, NULL, 0); @@ -76,7 +78,7 @@ enum dbg_start tgt_module_load(const char* name, BOOL keep) { dbg_printf("Non supported mode... errors may occur\n" "Use at your own risks\n"); - SymSetOptions(SymGetOptions() | 0x40000000); + SymSetExtendedOption(SYMOPT_EX_WINE_NATIVE_MODULES, TRUE); dbg_curr_process = dbg_add_process(&be_process_module_io, 1, hDummy); dbg_curr_pid = 1; dbg_curr_thread = dbg_add_thread(dbg_curr_process, 2, NULL, NULL); @@ -87,6 +89,7 @@ enum dbg_start tgt_module_load(const char* name, BOOL keep) { SymCleanup(hDummy); SymSetOptions(opts); + SymSetExtendedOption(SYMOPT_EX_WINE_NATIVE_MODULES, native); } return ret; diff --git a/programs/winedbg/winedbg.c b/programs/winedbg/winedbg.c index 5aeaa0d..92d248c 100644 --- a/programs/winedbg/winedbg.c +++ b/programs/winedbg/winedbg.c @@ -436,7 +436,7 @@ static BOOL CALLBACK mod_loader_cb(PCSTR mod_name, DWORD64 base, PVOID ctx) BOOL dbg_get_debuggee_info(HANDLE hProcess, IMAGEHLP_MODULE64* imh_mod) { struct mod_loader_info mli; - DWORD opt; + BOOL opt; /* this will resynchronize builtin dbghelp's internal ELF module list */ SymLoadModule(hProcess, 0, 0, 0, 0, 0); @@ -447,9 +447,9 @@ BOOL dbg_get_debuggee_info(HANDLE hProcess, IMAGEHLP_MODULE64* imh_mod) /* this is a wine specific options to return also ELF modules in the * enumeration */ - SymSetOptions((opt = SymGetOptions()) | 0x40000000); + opt = SymSetExtendedOption(SYMOPT_EX_WINE_NATIVE_MODULES, TRUE); SymEnumerateModules64(hProcess, mod_loader_cb, &mli); - SymSetOptions(opt); + SymSetExtendedOption(SYMOPT_EX_WINE_NATIVE_MODULES, opt); return imh_mod->BaseOfImage != 0; }
1
0
0
0
Alistair Leslie-Hughes : dbghelp: SymSet/ GetExtendedOption support a WINE only option.
by Alexandre Julliard
10 Jun '19
10 Jun '19
Module: wine Branch: master Commit: fa5e5df71db231f6fca9c7a40792c17e9bbe5027 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=fa5e5df71db231f6fca9c7a4…
Author: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> Date: Thu Jun 6 23:44:30 2019 +0000 dbghelp: SymSet/GetExtendedOption support a WINE only option. Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dbghelp/dbghelp.c | 25 ++++++++++++++++++++++--- dlls/dbghelp/dbghelp_private.h | 2 ++ include/dbghelp.h | 6 +++++- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/dlls/dbghelp/dbghelp.c b/dlls/dbghelp/dbghelp.c index 5a0d10d..a5e6beb 100644 --- a/dlls/dbghelp/dbghelp.c +++ b/dlls/dbghelp/dbghelp.c @@ -65,6 +65,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(dbghelp); */ unsigned dbghelp_options = SYMOPT_UNDNAME; +BOOL dbghelp_opt_native = FALSE; static struct process* process_first /* = NULL */; @@ -457,8 +458,19 @@ DWORD WINAPI SymGetOptions(void) */ BOOL WINAPI SymSetExtendedOption(IMAGEHLP_EXTENDED_OPTIONS option, BOOL value) { - FIXME("%d, %d\n", option, value); - return FALSE; + BOOL old = FALSE; + + switch(option) + { + case SYMOPT_EX_WINE_NATIVE_MODULES: + old = dbghelp_opt_native; + dbghelp_opt_native = value; + break; + default: + FIXME("Unsupported option %d with value %d\n", option, value); + } + + return old; } /****************************************************************** @@ -467,7 +479,14 @@ BOOL WINAPI SymSetExtendedOption(IMAGEHLP_EXTENDED_OPTIONS option, BOOL value) */ BOOL WINAPI SymGetExtendedOption(IMAGEHLP_EXTENDED_OPTIONS option) { - FIXME("%d\n", option); + switch(option) + { + case SYMOPT_EX_WINE_NATIVE_MODULES: + return dbghelp_opt_native; + default: + FIXME("Unsupported option %d\n", option); + } + return FALSE; } diff --git a/dlls/dbghelp/dbghelp_private.h b/dlls/dbghelp/dbghelp_private.h index 8083408..9e76d2d 100644 --- a/dlls/dbghelp/dbghelp_private.h +++ b/dlls/dbghelp/dbghelp_private.h @@ -114,6 +114,8 @@ void* hash_table_iter_up(struct hash_table_iter* hti) DECLSPEC_HIDDEN; extern unsigned dbghelp_options DECLSPEC_HIDDEN; +extern BOOL dbghelp_opt_native DECLSPEC_HIDDEN; + /* some more Wine extensions */ #define SYMOPT_WINE_WITH_NATIVE_MODULES 0x40000000 diff --git a/include/dbghelp.h b/include/dbghelp.h index a319385..1b23489 100644 --- a/include/dbghelp.h +++ b/include/dbghelp.h @@ -1427,7 +1427,11 @@ typedef struct _IMAGE_DEBUG_INFORMATION typedef enum { SYMOPT_EX_DISABLEACCESSTIMEUPDATE, - SYMOPT_EX_MAX + SYMOPT_EX_MAX, + +#ifdef __WINESRC__ + SYMOPT_EX_WINE_NATIVE_MODULES = 1000, +#endif } IMAGEHLP_EXTENDED_OPTIONS; PIMAGE_DEBUG_INFORMATION WINAPI MapDebugInformation(HANDLE, PCSTR, PCSTR, ULONG);
1
0
0
0
Alistair Leslie-Hughes : dbghelp: Add SymGetExtendedOption/ SymSetExtendedOption stubs.
by Alexandre Julliard
10 Jun '19
10 Jun '19
Module: wine Branch: master Commit: 3fed8787251882c70eeadefb230cd2ff4b251ac2 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=3fed8787251882c70eeadefb…
Author: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> Date: Thu Jun 6 23:44:28 2019 +0000 dbghelp: Add SymGetExtendedOption/SymSetExtendedOption stubs. Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dbghelp/dbghelp.c | 20 ++++++++++++++++++++ dlls/dbghelp/dbghelp.spec | 2 ++ include/dbghelp.h | 8 ++++++++ 3 files changed, 30 insertions(+) diff --git a/dlls/dbghelp/dbghelp.c b/dlls/dbghelp/dbghelp.c index ed4d5f4..5a0d10d 100644 --- a/dlls/dbghelp/dbghelp.c +++ b/dlls/dbghelp/dbghelp.c @@ -452,6 +452,26 @@ DWORD WINAPI SymGetOptions(void) } /****************************************************************** + * SymSetExtendedOption (DBGHELP.@) + * + */ +BOOL WINAPI SymSetExtendedOption(IMAGEHLP_EXTENDED_OPTIONS option, BOOL value) +{ + FIXME("%d, %d\n", option, value); + return FALSE; +} + +/****************************************************************** + * SymGetExtendedOption (DBGHELP.@) + * + */ +BOOL WINAPI SymGetExtendedOption(IMAGEHLP_EXTENDED_OPTIONS option) +{ + FIXME("%d\n", option); + return FALSE; +} + +/****************************************************************** * SymSetParentWindow (DBGHELP.@) * */ diff --git a/dlls/dbghelp/dbghelp.spec b/dlls/dbghelp/dbghelp.spec index 3655f8c..4c06f87 100644 --- a/dlls/dbghelp/dbghelp.spec +++ b/dlls/dbghelp/dbghelp.spec @@ -83,6 +83,7 @@ @ stub SymGetFileLineOffsets64 @ stub SymGetHomeDirectory @ stub SymGetHomeDirectoryW +@ stdcall SymGetExtendedOption(long) @ stdcall SymGetLineFromAddr(long long ptr ptr) @ stdcall SymGetLineFromAddr64(long int64 ptr ptr) @ stdcall SymGetLineFromAddrW64(long int64 ptr ptr) @@ -153,6 +154,7 @@ @ stdcall SymSearch(long int64 long long str int64 ptr ptr long) @ stdcall SymSearchW(long int64 long long wstr int64 ptr ptr long) @ stdcall SymSetContext(long ptr ptr) +@ stdcall SymSetExtendedOption(long long) @ stdcall SymSetHomeDirectory(long str) @ stdcall SymSetHomeDirectoryW(long wstr) @ stdcall SymSetOptions(long) diff --git a/include/dbghelp.h b/include/dbghelp.h index df105a8..a319385 100644 --- a/include/dbghelp.h +++ b/include/dbghelp.h @@ -1424,6 +1424,11 @@ typedef struct _IMAGE_DEBUG_INFORMATION DWORD Reserved[ 2 ]; } IMAGE_DEBUG_INFORMATION, *PIMAGE_DEBUG_INFORMATION; +typedef enum +{ + SYMOPT_EX_DISABLEACCESSTIMEUPDATE, + SYMOPT_EX_MAX +} IMAGEHLP_EXTENDED_OPTIONS; PIMAGE_DEBUG_INFORMATION WINAPI MapDebugInformation(HANDLE, PCSTR, PCSTR, ULONG); @@ -1432,6 +1437,9 @@ BOOL WINAPI UnmapDebugInformation(PIMAGE_DEBUG_INFORMATION); DWORD WINAPI SymGetOptions(void); DWORD WINAPI SymSetOptions(DWORD); +BOOL WINAPI SymGetExtendedOption(IMAGEHLP_EXTENDED_OPTIONS option); +BOOL WINAPI SymSetExtendedOption(IMAGEHLP_EXTENDED_OPTIONS option, BOOL value); + BOOL WINAPI SymSetParentWindow(HWND); /*************************
1
0
0
0
Roberto Pungartnik : po: Update Brazilian Portuguese translation.
by Alexandre Julliard
10 Jun '19
10 Jun '19
Module: wine Branch: master Commit: 7c29fe243a8dc75b9d4e2c837265f941371c7794 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=7c29fe243a8dc75b9d4e2c83…
Author: Roberto Pungartnik <rpungartnik(a)gmail.com> Date: Sun Jun 9 09:41:14 2019 -0300 po: Update Brazilian Portuguese translation. Signed-off-by: Roberto Pungartnik <rpungartnik(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- po/pt_BR.po | 395 ++++++++++++++---------------------------------------------- 1 file changed, 93 insertions(+), 302 deletions(-) Diff:
https://source.winehq.org/git/wine.git/?a=commitdiff;h=7c29fe243a8dc75b9d4e…
1
0
0
0
Zixing Liu : po: Update Simplified Chinese translation.
by Alexandre Julliard
10 Jun '19
10 Jun '19
Module: wine Branch: master Commit: 51c3a0aa0ad0480000cc3a6eee98de5232be4213 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=51c3a0aa0ad0480000cc3a6e…
Author: Zixing Liu <liushuyu011(a)gmail.com> Date: Sat Jun 8 22:52:56 2019 +0800 po: Update Simplified Chinese translation. Signed-off-by: Zixing Liu <liushuyu011(a)gmail.com> Signed-off-by: Jactry Zeng <jzeng(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- po/zh_CN.po | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/po/zh_CN.po b/po/zh_CN.po index c3ca110..31792a8 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -5,8 +5,8 @@ msgstr "" "Project-Id-Version: Wine\n" "Report-Msgid-Bugs-To:
https://bugs.winehq.org\n
" "POT-Creation-Date: N/A\n" -"PO-Revision-Date: 2019-05-27 14:50+0800\n" -"Last-Translator: Mingcong Bai <jeffbai(a)aosc.io>\n" +"PO-Revision-Date: 2019-06-04 19:24-0600\n" +"Last-Translator: Zixing Liu <liushuyu011(a)gmail.com>\n" "Language-Team: Chinese (PRC)\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" @@ -6852,10 +6852,8 @@ msgid "Unsupported rate.\n" msgstr "不支持的频率。\n" #: mferror.mc:200 -#, fuzzy -#| msgid "Unsupported type.\n" msgid "Unsupported thinning.\n" -msgstr "不支持的类型。\n" +msgstr "不支持的消减类型。\n" #: mferror.mc:207 msgid "Reversing is not supported.\n" @@ -7131,7 +7129,7 @@ msgstr "缺少源。\n" #: mferror.mc:704 msgid "Topology loader does not support sink activates.\n" -msgstr "" +msgstr "拓扑加载器不支持输出槽。\n" #: mferror.mc:711 msgid "Clock has no time source set.\n"
1
0
0
0
Isira Seneviratne : po: Update Sinhala translation.
by Alexandre Julliard
10 Jun '19
10 Jun '19
Module: wine Branch: master Commit: aca9a18a377c5a25fe3e26eff14b50b531f1337e URL:
https://source.winehq.org/git/wine.git/?a=commit;h=aca9a18a377c5a25fe3e26ef…
Author: Isira Seneviratne <isirasen96(a)gmail.com> Date: Thu May 30 08:50:43 2019 +0530 po: Update Sinhala translation. Signed-off-by: Isira Seneviratne <isirasen96(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- po/si.po | 70 +++++++++++++++++++++++++++++----------------------------------- 1 file changed, 32 insertions(+), 38 deletions(-) diff --git a/po/si.po b/po/si.po index f41bb37..4db2297 100644 --- a/po/si.po +++ b/po/si.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Wine\n" "Report-Msgid-Bugs-To:
https://bugs.winehq.org\n
" "POT-Creation-Date: N/A\n" -"PO-Revision-Date: 2019-05-29 04:04+0530\n" +"PO-Revision-Date: 2019-06-07 08:42+0530\n" "Last-Translator: Isira Seneviratne <isirasen96(a)gmail.com>\n" "Language-Team: Sinhala\n" "Language: si\n" @@ -1329,9 +1329,8 @@ msgid "Email Address" msgstr "ඊමේල් ලිපිනය" #: crypt32.rc:47 -#, fuzzy msgid "Unstructured Name" -msgstr "නම" +msgstr "Unstructured Name" #: crypt32.rc:48 msgid "Content Type" @@ -1583,24 +1582,20 @@ msgid "PKCS 7 Data" msgstr "PKCS 7 දත්ත" #: crypt32.rc:110 -#, fuzzy msgid "PKCS 7 Signed" -msgstr "PKCS 7" +msgstr "PKCS 7 අත්සන් කල" #: crypt32.rc:111 -#, fuzzy msgid "PKCS 7 Enveloped" -msgstr "PKCS 7" +msgstr "PKCS 7 Enveloped" #: crypt32.rc:112 -#, fuzzy msgid "PKCS 7 Signed Enveloped" -msgstr "PKCS 7" +msgstr "PKCS 7 Signed Enveloped" #: crypt32.rc:113 -#, fuzzy msgid "PKCS 7 Digested" -msgstr "PKCS 7" +msgstr "PKCS 7 Digested" #: crypt32.rc:114 msgid "PKCS 7 Encrypted" @@ -1652,7 +1647,7 @@ msgstr "" #: crypt32.rc:126 msgid "Transaction Id" -msgstr "" +msgstr "ගනුදෙනුව හැඳුනුම්පත" #: crypt32.rc:127 msgid "Sender Nonce" @@ -3817,7 +3812,7 @@ msgstr "ලිවීම ඇවුරූයි.\n" #: winerror.mc:128 msgid "Bad unit.\n" -msgstr "" +msgstr "හොඳ නැති ඒකකය.\n" #: winerror.mc:133 msgid "Not ready.\n" @@ -3909,7 +3904,7 @@ msgstr "ජාලය කාර්යබහුලයි.\n" #: winerror.mc:243 msgid "Device does not exist.\n" -msgstr "" +msgstr "ධාවකය තියෙන්නේ නැහැ.\n" #: winerror.mc:248 msgid "Too many commands.\n" @@ -3961,7 +3956,7 @@ msgstr "හොඳ නැති ජාලය නම.\n" #: winerror.mc:308 msgid "Too many network names.\n" -msgstr "" +msgstr "ජාල නම් වැඩි.\n" #: winerror.mc:313 msgid "Too many network sessions.\n" @@ -4168,7 +4163,7 @@ msgstr "SUBST කරපු ධාවකයකකට JOIN කරන්නට උ #: winerror.mc:573 msgid "Attempt to SUBST to a JOINed drive.\n" -msgstr "" +msgstr "JOIN කරපු ධාවකයකකට SUBST කරන්නට උත්සාහයක්.\n" #: winerror.mc:578 msgid "Drive is busy.\n" @@ -4811,11 +4806,11 @@ msgstr "" #: winerror.mc:1373 msgid "Shutdown in progress.\n" -msgstr "" +msgstr "වැහීමක් වෙනවා.\n" #: winerror.mc:1378 msgid "No shutdown in progress.\n" -msgstr "" +msgstr "වැහීමක් වෙන්නේ නැහැ.\n" #: winerror.mc:1383 msgid "I/O device error.\n" @@ -4834,9 +4829,8 @@ msgid "Serial I/O completed.\n" msgstr "අනුක්රමික I/O ඉවරයි.\n" #: winerror.mc:1403 -#, fuzzy msgid "Serial I/O counter timeout.\n" -msgstr "අනුක්රමික I/O" +msgstr "අනුක්රමික I/O counter timeout.\n" #: winerror.mc:1408 msgid "Floppy ID address mark not found.\n" @@ -4916,7 +4910,7 @@ msgstr "අවලංගු DLL එකක්.\n" #: winerror.mc:1503 msgid "No associated application.\n" -msgstr "" +msgstr "සබැඳි යෙදුමක් නැහැ.\n" #: winerror.mc:1508 msgid "DDE failure.\n" @@ -5836,11 +5830,11 @@ msgstr "පිටුගත කළ පද්ධති සම්පත් නැ #: winerror.mc:2663 msgid "No working set quota.\n" -msgstr "" +msgstr "Working set කෝටාවක් නැහැ.\n" #: winerror.mc:2668 msgid "No page file quota.\n" -msgstr "" +msgstr "ප්රතිහරණ ගොනුව කෝටාවක් නැහැ.\n" #: winerror.mc:2673 msgid "Exceeded commitment limit.\n" @@ -8228,7 +8222,7 @@ msgstr "ආරක්ෂා කරලා" #: oleacc.rc:128 msgctxt "object state" msgid "has popup" -msgstr "" +msgstr "උත්පතනයක් තියෙනවා" #: oleaut32.rc:30 oleview.rc:146 msgid "True" @@ -14345,7 +14339,7 @@ msgstr "" #: taskmgr.rc:543 msgid "&Session ID" -msgstr "සැසියෙ ID (&S)" +msgstr "සැසියෙ හැඳුනුම්පත (&S)" #: taskmgr.rc:545 msgid "User &Name" @@ -14622,7 +14616,7 @@ msgstr "" #: taskmgr.rc:283 msgid "Session ID" -msgstr "සැසියෙ ID" +msgstr "සැසියෙ හැඳුනුම්පත" #: taskmgr.rc:284 msgid "Username" @@ -14638,11 +14632,11 @@ msgstr "VM ප්රමාණය" #: taskmgr.rc:287 msgid "Paged Pool" -msgstr "" +msgstr "පිටුගත කළ සංචිතය" #: taskmgr.rc:288 msgid "NP Pool" -msgstr "" +msgstr "NP සංචිතය" #: taskmgr.rc:289 msgid "Base Pri" @@ -14937,19 +14931,19 @@ msgstr "" #: winecfg.rc:209 msgid "&Builtin (Wine)" -msgstr "&ගොඩනඟයි (Wine)" +msgstr "&Builtin (Wine)" #: winecfg.rc:210 msgid "&Native (Windows)" -msgstr "" +msgstr "&Native (Windows)" #: winecfg.rc:211 msgid "Buil&tin then Native" -msgstr "" +msgstr "Buil&tin then Native" #: winecfg.rc:212 msgid "Nati&ve then Builtin" -msgstr "" +msgstr "Nati&ve then Builtin" #: winecfg.rc:220 msgid "Select Drive Letter" @@ -15177,19 +15171,19 @@ msgstr "අවවාදය: පද්ධතියෙ පුස්තකාලය #: winecfg.rc:56 msgid "native" -msgstr "" +msgstr "native" #: winecfg.rc:57 msgid "builtin" -msgstr "" +msgstr "builtin" #: winecfg.rc:58 msgid "native, builtin" -msgstr "" +msgstr "native, builtin" #: winecfg.rc:59 msgid "builtin, native" -msgstr "" +msgstr "builtin, native" #: winecfg.rc:60 msgid "disabled" @@ -15923,7 +15917,7 @@ msgstr "කරුණාකරලා ඔබගේ නම ඇතුල්කරන #: winemine.rc:90 msgid "Custom Game" -msgstr "" +msgstr "රේගු ක්රීඩවක්" #: winemine.rc:92 msgid "Rows" @@ -15947,7 +15941,7 @@ msgstr "WineMine" #: winemine.rc:31 msgid "Nobody" -msgstr "" +msgstr "කිසිවෙක් නැත" #: winemine.rc:32 msgid "Copyright 2000 Joshua Thielen"
1
0
0
0
Zebediah Figura : strmbase: Get rid of base IDispatch implementation.
by Alexandre Julliard
10 Jun '19
10 Jun '19
Module: wine Branch: master Commit: 0ce5ab71b097c6f397b82293aeb1aeaab7f28fd4 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=0ce5ab71b097c6f397b82293…
Author: Zebediah Figura <z.figura12(a)gmail.com> Date: Thu Jun 6 19:49:26 2019 -0400 strmbase: Get rid of base IDispatch implementation. Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/strmbase/dispatch.c | 53 ++-------------------------------------- dlls/strmbase/strmbase_private.h | 8 ------ include/wine/strmbase.h | 4 --- 3 files changed, 2 insertions(+), 63 deletions(-) diff --git a/dlls/strmbase/dispatch.c b/dlls/strmbase/dispatch.c index 1521471..25573fa 100644 --- a/dlls/strmbase/dispatch.c +++ b/dlls/strmbase/dispatch.c @@ -1,7 +1,7 @@ /* - * Generic Implementation of IDispatch for strmbase classes + * ITypeInfo cache for IDispatch * - * Copyright 2012 Aric Stewart, CodeWeavers + * Copyright 2019 Zebediah Figura * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -68,52 +68,3 @@ HRESULT strmbase_get_typeinfo(enum strmbase_type_id tid, ITypeInfo **ret) ITypeInfo_AddRef(*ret = control_typeinfo[tid]); return S_OK; } - -HRESULT WINAPI BaseDispatch_Init(BaseDispatch *This, REFIID riid) -{ - ITypeLib *pTypeLib; - HRESULT hr; - - This->pTypeInfo = NULL; - hr = LoadRegTypeLib(&LIBID_QuartzTypeLib, 1, 0, LOCALE_SYSTEM_DEFAULT, &pTypeLib); - if (SUCCEEDED(hr)) - { - hr = ITypeLib_GetTypeInfoOfGuid(pTypeLib, riid, &This->pTypeInfo); - ITypeLib_Release(pTypeLib); - } - return hr; -} - -HRESULT WINAPI BaseDispatch_Destroy(BaseDispatch *This) -{ - if (This->pTypeInfo) - ITypeInfo_Release(This->pTypeInfo); - return S_OK; -} - -HRESULT WINAPI BaseDispatchImpl_GetIDsOfNames(BaseDispatch *This, REFIID riid, OLECHAR **rgszNames, UINT cNames, LCID lcid, DISPID *rgdispid) -{ - if (This->pTypeInfo) - return ITypeInfo_GetIDsOfNames(This->pTypeInfo, rgszNames, cNames, rgdispid); - return E_NOTIMPL; -} - -HRESULT WINAPI BaseDispatchImpl_GetTypeInfo(BaseDispatch *This, REFIID riid, UINT itinfo, LCID lcid, ITypeInfo **pptinfo) -{ - if (This->pTypeInfo) - { - ITypeInfo_AddRef(This->pTypeInfo); - *pptinfo = This->pTypeInfo; - return S_OK; - } - return E_NOTIMPL; -} - -HRESULT WINAPI BaseDispatchImpl_GetTypeInfoCount(BaseDispatch *This, UINT *pctinfo) -{ - if (This->pTypeInfo) - *pctinfo = 1; - else - *pctinfo = 0; - return S_OK; -} diff --git a/dlls/strmbase/strmbase_private.h b/dlls/strmbase/strmbase_private.h index fc1e27d..769c8f2 100644 --- a/dlls/strmbase/strmbase_private.h +++ b/dlls/strmbase/strmbase_private.h @@ -70,12 +70,4 @@ HRESULT WINAPI RendererPosPassThru_RegisterMediaTime(IUnknown *iface, REFERENCE_ HRESULT WINAPI RendererPosPassThru_ResetMediaTime(IUnknown *iface); HRESULT WINAPI RendererPosPassThru_EOS(IUnknown *iface); -HRESULT WINAPI BaseDispatch_Init(BaseDispatch *disp, REFIID iid); -HRESULT WINAPI BaseDispatch_Destroy(BaseDispatch *disp); -HRESULT WINAPI BaseDispatchImpl_GetIDsOfNames(BaseDispatch *disp, REFIID iid, - WCHAR **names, UINT count, LCID lcid, DISPID *ids); -HRESULT WINAPI BaseDispatchImpl_GetTypeInfo(BaseDispatch *disp, REFIID iid, - UINT index, LCID lcid, ITypeInfo **typeinfo); -HRESULT WINAPI BaseDispatchImpl_GetTypeInfoCount(BaseDispatch *disp, UINT *count); - #endif /* __WINE_STRMBASE_PRIVATE_H */ diff --git a/include/wine/strmbase.h b/include/wine/strmbase.h index 62dcf74..9f686dc 100644 --- a/include/wine/strmbase.h +++ b/include/wine/strmbase.h @@ -412,10 +412,6 @@ enum strmbase_type_id HRESULT strmbase_get_typeinfo(enum strmbase_type_id tid, ITypeInfo **typeinfo); -typedef struct{ - ITypeInfo *pTypeInfo; -} BaseDispatch; - #ifdef __IVideoWindow_FWD_DEFINED__ typedef struct tagBaseControlWindow {
1
0
0
0
Zebediah Figura : strmbase: Get rid of IBasicAudio implementation.
by Alexandre Julliard
10 Jun '19
10 Jun '19
Module: wine Branch: master Commit: ea0dfa7934dbc47436a14c33b7a14c81ae072d70 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=ea0dfa7934dbc47436a14c33…
Author: Zebediah Figura <z.figura12(a)gmail.com> Date: Thu Jun 6 19:49:25 2019 -0400 strmbase: Get rid of IBasicAudio implementation. Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/strmbase/Makefile.in | 1 - dlls/strmbase/audio.c | 76 ----------------------------------------------- include/wine/strmbase.h | 16 ---------- 3 files changed, 93 deletions(-) diff --git a/dlls/strmbase/Makefile.in b/dlls/strmbase/Makefile.in index a51691b..c58a359 100644 --- a/dlls/strmbase/Makefile.in +++ b/dlls/strmbase/Makefile.in @@ -1,7 +1,6 @@ MODULE = libstrmbase.a C_SRCS = \ - audio.c \ dispatch.c \ dllfunc.c \ enumpins.c \ diff --git a/dlls/strmbase/audio.c b/dlls/strmbase/audio.c deleted file mode 100644 index 6ad6461..0000000 --- a/dlls/strmbase/audio.c +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Generic Implementation of strmbase audio classes - * - * Copyright 2012 Aric Stewart, CodeWeavers - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include "strmbase_private.h" - -static inline BasicAudio *impl_from_IBasicAudio(IBasicAudio *iface) -{ - return CONTAINING_RECORD(iface, BasicAudio, IBasicAudio_iface); -} - -HRESULT WINAPI BasicAudio_Init(BasicAudio *pBasicAudio, const IBasicAudioVtbl *lpVtbl) -{ - pBasicAudio->IBasicAudio_iface.lpVtbl = lpVtbl; - BaseDispatch_Init(&pBasicAudio->baseDispatch, &IID_IBasicAudio); - - return S_OK; -} - -HRESULT WINAPI BasicAudio_Destroy(BasicAudio *pBasicAudio) -{ - return BaseDispatch_Destroy(&pBasicAudio->baseDispatch); -} - -HRESULT WINAPI BasicAudioImpl_GetTypeInfoCount(IBasicAudio *iface, UINT *pctinfo) -{ - BasicAudio *This = impl_from_IBasicAudio(iface); - - return BaseDispatchImpl_GetTypeInfoCount(&This->baseDispatch, pctinfo); -} - -HRESULT WINAPI BasicAudioImpl_GetTypeInfo(IBasicAudio *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) -{ - BasicAudio *This = impl_from_IBasicAudio(iface); - - return BaseDispatchImpl_GetTypeInfo(&This->baseDispatch, &IID_NULL, iTInfo, lcid, ppTInfo); -} - -HRESULT WINAPI BasicAudioImpl_GetIDsOfNames(IBasicAudio *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) -{ - BasicAudio *This = impl_from_IBasicAudio(iface); - - return BaseDispatchImpl_GetIDsOfNames(&This->baseDispatch, riid, rgszNames, cNames, lcid, rgDispId); -} - -HRESULT WINAPI BasicAudioImpl_Invoke(IBasicAudio *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExepInfo, UINT *puArgErr) -{ - BasicAudio *This = impl_from_IBasicAudio(iface); - ITypeInfo *pTypeInfo; - HRESULT hr; - - hr = BaseDispatchImpl_GetTypeInfo(&This->baseDispatch, riid, 1, lcid, &pTypeInfo); - if (SUCCEEDED(hr)) - { - hr = ITypeInfo_Invoke(pTypeInfo, &This->IBasicAudio_iface, dispIdMember, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr); - ITypeInfo_Release(pTypeInfo); - } - - return hr; -} diff --git a/include/wine/strmbase.h b/include/wine/strmbase.h index e762f44..62dcf74 100644 --- a/include/wine/strmbase.h +++ b/include/wine/strmbase.h @@ -638,22 +638,6 @@ HRESULT WINAPI strmbase_renderer_init(BaseRenderer *filter, const IBaseFilterVtb const BaseRendererFuncTable *func_table); void strmbase_renderer_cleanup(BaseRenderer *filter); -#ifdef __IBasicAudio_FWD_DEFINED__ -typedef struct tagBasicAudio -{ - IBasicAudio IBasicAudio_iface; - BaseDispatch baseDispatch; -} BasicAudio; - -HRESULT WINAPI BasicAudio_Init(BasicAudio *This, const IBasicAudioVtbl *Vtbl); -HRESULT WINAPI BasicAudio_Destroy(BasicAudio *pBasicAudio); - -HRESULT WINAPI BasicAudioImpl_GetTypeInfoCount(IBasicAudio *iface, UINT*pctinfo); -HRESULT WINAPI BasicAudioImpl_GetTypeInfo(IBasicAudio *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo); -HRESULT WINAPI BasicAudioImpl_GetIDsOfNames(IBasicAudio *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId); -HRESULT WINAPI BasicAudioImpl_Invoke(IBasicAudio *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExepInfo, UINT *puArgErr); -#endif - /* Dll Functions */ BOOL WINAPI STRMBASE_DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv); HRESULT WINAPI STRMBASE_DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv);
1
0
0
0
Zebediah Figura : quartz/dsoundrender: Use the type info cache for IBasicAudio.
by Alexandre Julliard
10 Jun '19
10 Jun '19
Module: wine Branch: master Commit: 1eee28e219e3e2d7a7dc4222922d6fbb2bc49da3 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=1eee28e219e3e2d7a7dc4222…
Author: Zebediah Figura <z.figura12(a)gmail.com> Date: Thu Jun 6 19:49:24 2019 -0400 quartz/dsoundrender: Use the type info cache for IBasicAudio. Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/quartz/dsoundrender.c | 66 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 56 insertions(+), 10 deletions(-) diff --git a/dlls/quartz/dsoundrender.c b/dlls/quartz/dsoundrender.c index 1545209..49de73f 100644 --- a/dlls/quartz/dsoundrender.c +++ b/dlls/quartz/dsoundrender.c @@ -51,8 +51,8 @@ static const IAMDirectSoundVtbl IAMDirectSound_Vtbl; typedef struct DSoundRenderImpl { BaseRenderer renderer; - BasicAudio basicAudio; + IBasicAudio IBasicAudio_iface; IReferenceClock IReferenceClock_iface; IAMDirectSound IAMDirectSound_iface; @@ -85,7 +85,7 @@ static inline DSoundRenderImpl *impl_from_IBaseFilter(IBaseFilter *iface) static inline DSoundRenderImpl *impl_from_IBasicAudio(IBasicAudio *iface) { - return CONTAINING_RECORD(iface, DSoundRenderImpl, basicAudio.IBasicAudio_iface); + return CONTAINING_RECORD(iface, DSoundRenderImpl, IBasicAudio_iface); } static inline DSoundRenderImpl *impl_from_IReferenceClock(IReferenceClock *iface) @@ -604,7 +604,6 @@ static void dsound_render_destroy(BaseRenderer *iface) IDirectSound8_Release(filter->dsound); filter->dsound = NULL; - BasicAudio_Destroy(&filter->basicAudio); CloseHandle(filter->blocked); strmbase_renderer_cleanup(&filter->renderer); @@ -616,7 +615,7 @@ static HRESULT dsound_render_query_interface(BaseRenderer *iface, REFIID iid, vo DSoundRenderImpl *filter = impl_from_BaseRenderer(iface); if (IsEqualGUID(iid, &IID_IBasicAudio)) - *out = &filter->basicAudio.IBasicAudio_iface; + *out = &filter->IBasicAudio_iface; else if (IsEqualGUID(iid, &IID_IReferenceClock)) *out = &filter->IReferenceClock_iface; else if (IsEqualGUID(iid, &IID_IAMDirectSound)) @@ -670,7 +669,7 @@ HRESULT DSoundRender_create(IUnknown *outer, void **out) outer, &CLSID_DSoundRender, sink_name, (DWORD_PTR)(__FILE__ ": DSoundRenderImpl.csFilter"), &BaseFuncTable); - BasicAudio_Init(&pDSoundRender->basicAudio,&IBasicAudio_Vtbl); + pDSoundRender->IBasicAudio_iface.lpVtbl = &IBasicAudio_Vtbl; pDSoundRender->IReferenceClock_iface.lpVtbl = &IReferenceClock_Vtbl; pDSoundRender->IAMDirectSound_iface.lpVtbl = &IAMDirectSound_Vtbl; @@ -793,7 +792,54 @@ static ULONG WINAPI Basicaudio_Release(IBasicAudio *iface) { return BaseFilterImpl_Release(&This->renderer.filter.IBaseFilter_iface); } -/*** IBasicAudio methods ***/ +HRESULT WINAPI basic_audio_GetTypeInfoCount(IBasicAudio *iface, UINT *count) +{ + TRACE("iface %p, count %p.\n", iface, count); + *count = 1; + return S_OK; +} + +HRESULT WINAPI basic_audio_GetTypeInfo(IBasicAudio *iface, UINT index, + LCID lcid, ITypeInfo **typeinfo) +{ + TRACE("iface %p, index %u, lcid %#x, typeinfo %p.\n", iface, index, lcid, typeinfo); + return strmbase_get_typeinfo(IBasicAudio_tid, typeinfo); +} + +HRESULT WINAPI basic_audio_GetIDsOfNames(IBasicAudio *iface, REFIID iid, + LPOLESTR *names, UINT count, LCID lcid, DISPID *ids) +{ + ITypeInfo *typeinfo; + HRESULT hr; + + TRACE("iface %p, iid %s, names %p, count %u, lcid %#x, ids %p.\n", + iface, debugstr_guid(iid), names, count, lcid, ids); + + if (SUCCEEDED(hr = strmbase_get_typeinfo(IBasicAudio_tid, &typeinfo))) + { + hr = ITypeInfo_GetIDsOfNames(typeinfo, names, count, ids); + ITypeInfo_Release(typeinfo); + } + return hr; +} + +static HRESULT WINAPI basic_audio_Invoke(IBasicAudio *iface, DISPID id, REFIID iid, LCID lcid, + WORD flags, DISPPARAMS *params, VARIANT *result, EXCEPINFO *excepinfo, UINT *error_arg) +{ + ITypeInfo *typeinfo; + HRESULT hr; + + TRACE("iface %p, id %d, iid %s, lcid %#x, flags %#x, params %p, result %p, excepinfo %p, error_arg %p.\n", + iface, id, debugstr_guid(iid), lcid, flags, params, result, excepinfo, error_arg); + + if (SUCCEEDED(hr = strmbase_get_typeinfo(IBasicAudio_tid, &typeinfo))) + { + hr = ITypeInfo_Invoke(typeinfo, iface, id, flags, params, result, excepinfo, error_arg); + ITypeInfo_Release(typeinfo); + } + return hr; +} + static HRESULT WINAPI Basicaudio_put_Volume(IBasicAudio *iface, LONG lVolume) { DSoundRenderImpl *This = impl_from_IBasicAudio(iface); @@ -861,10 +907,10 @@ static const IBasicAudioVtbl IBasicAudio_Vtbl = Basicaudio_QueryInterface, Basicaudio_AddRef, Basicaudio_Release, - BasicAudioImpl_GetTypeInfoCount, - BasicAudioImpl_GetTypeInfo, - BasicAudioImpl_GetIDsOfNames, - BasicAudioImpl_Invoke, + basic_audio_GetTypeInfoCount, + basic_audio_GetTypeInfo, + basic_audio_GetIDsOfNames, + basic_audio_Invoke, Basicaudio_put_Volume, Basicaudio_get_Volume, Basicaudio_put_Balance,
1
0
0
0
Zebediah Figura : strmbase: Use the type info cache for IMediaPosition.
by Alexandre Julliard
10 Jun '19
10 Jun '19
Module: wine Branch: master Commit: 5c494e122658c4f97498624c80b0b0216dd11aa9 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=5c494e122658c4f97498624c…
Author: Zebediah Figura <z.figura12(a)gmail.com> Date: Thu Jun 6 19:49:23 2019 -0400 strmbase: Use the type info cache for IMediaPosition. Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/strmbase/pospass.c | 54 ++++++++++++++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 23 deletions(-) diff --git a/dlls/strmbase/pospass.c b/dlls/strmbase/pospass.c index f832132..2c5c274 100644 --- a/dlls/strmbase/pospass.c +++ b/dlls/strmbase/pospass.c @@ -32,7 +32,6 @@ typedef struct PassThruImpl { ISeekingPassThru ISeekingPassThru_iface; IMediaSeeking IMediaSeeking_iface; IMediaPosition IMediaPosition_iface; - BaseDispatch baseDispatch; LONG ref; IUnknown * outer_unk; @@ -114,7 +113,6 @@ static ULONG WINAPI SeekInner_Release(IUnknown * iface) { if (ref == 0) { - BaseDispatch_Destroy(&This->baseDispatch); This->time_cs.DebugInfo->Spare[0] = 0; DeleteCriticalSection(&This->time_cs); CoTaskMemFree(This); @@ -260,7 +258,6 @@ HRESULT WINAPI PosPassThru_Construct(IUnknown *pUnkOuter, LPVOID *ppPassThru) fimpl->timevalid = FALSE; InitializeCriticalSection(&fimpl->time_cs); fimpl->time_cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": PassThruImpl.time_cs"); - BaseDispatch_Init(&fimpl->baseDispatch, &IID_IMediaPosition); return S_OK; } @@ -674,40 +671,51 @@ static ULONG WINAPI MediaPositionPassThru_Release(IMediaPosition *iface) return SeekOuter_Release(This); } -static HRESULT WINAPI MediaPositionPassThru_GetTypeInfoCount(IMediaPosition *iface, UINT*pctinfo) +static HRESULT WINAPI MediaPositionPassThru_GetTypeInfoCount(IMediaPosition *iface, UINT *count) { - PassThruImpl *This = impl_from_IMediaPosition(iface); - - return BaseDispatchImpl_GetTypeInfoCount(&This->baseDispatch, pctinfo); + TRACE("iface %p, count %p.\n", iface, count); + *count = 1; + return S_OK; } -static HRESULT WINAPI MediaPositionPassThru_GetTypeInfo(IMediaPosition *iface, UINT iTInfo, LCID lcid, ITypeInfo**ppTInfo) +static HRESULT WINAPI MediaPositionPassThru_GetTypeInfo(IMediaPosition *iface, UINT index, + LCID lcid, ITypeInfo **typeinfo) { - PassThruImpl *This = impl_from_IMediaPosition(iface); - - return BaseDispatchImpl_GetTypeInfo(&This->baseDispatch, &IID_NULL, iTInfo, lcid, ppTInfo); + TRACE("iface %p, index %u, lcid %#x, typeinfo %p.\n", iface, index, lcid, typeinfo); + return strmbase_get_typeinfo(IMediaPosition_tid, typeinfo); } -static HRESULT WINAPI MediaPositionPassThru_GetIDsOfNames(IMediaPosition *iface, REFIID riid, LPOLESTR*rgszNames, UINT cNames, LCID lcid, DISPID*rgDispId) +static HRESULT WINAPI MediaPositionPassThru_GetIDsOfNames(IMediaPosition *iface, REFIID iid, + LPOLESTR *names, UINT count, LCID lcid, DISPID *ids) { - PassThruImpl *This = impl_from_IMediaPosition(iface); + ITypeInfo *typeinfo; + HRESULT hr; + + TRACE("iface %p, iid %s, names %p, count %u, lcid %#x, ids %p.\n", + iface, debugstr_guid(iid), names, count, lcid, ids); - return BaseDispatchImpl_GetIDsOfNames(&This->baseDispatch, riid, rgszNames, cNames, lcid, rgDispId); + if (SUCCEEDED(hr = strmbase_get_typeinfo(IMediaPosition_tid, &typeinfo))) + { + hr = ITypeInfo_GetIDsOfNames(typeinfo, names, count, ids); + ITypeInfo_Release(typeinfo); + } + return hr; } -static HRESULT WINAPI MediaPositionPassThru_Invoke(IMediaPosition *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS*pDispParams, VARIANT*pVarResult, EXCEPINFO*pExepInfo, UINT*puArgErr) +static HRESULT WINAPI MediaPositionPassThru_Invoke(IMediaPosition *iface, DISPID id, REFIID iid, LCID lcid, + WORD flags, DISPPARAMS *params, VARIANT *result, EXCEPINFO *excepinfo, UINT *error_arg) { - PassThruImpl *This = impl_from_IMediaPosition(iface); - HRESULT hr = S_OK; - ITypeInfo *pTypeInfo; + ITypeInfo *typeinfo; + HRESULT hr; - hr = BaseDispatchImpl_GetTypeInfo(&This->baseDispatch, riid, 1, lcid, &pTypeInfo); - if (SUCCEEDED(hr)) + TRACE("iface %p, id %d, iid %s, lcid %#x, flags %#x, params %p, result %p, excepinfo %p, error_arg %p.\n", + iface, id, debugstr_guid(iid), lcid, flags, params, result, excepinfo, error_arg); + + if (SUCCEEDED(hr = strmbase_get_typeinfo(IMediaPosition_tid, &typeinfo))) { - hr = ITypeInfo_Invoke(pTypeInfo, &This->IMediaPosition_iface, dispIdMember, wFlags, pDispParams, pVarResult, pExepInfo, puArgErr); - ITypeInfo_Release(pTypeInfo); + hr = ITypeInfo_Invoke(typeinfo, iface, id, flags, params, result, excepinfo, error_arg); + ITypeInfo_Release(typeinfo); } - return hr; }
1
0
0
0
← Newer
1
...
62
63
64
65
66
67
68
...
87
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
Results per page:
10
25
50
100
200