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 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
5 participants
1115 discussions
Start a n
N
ew thread
Stefan Dösinger : wined3d: Beware of double negations.
by Alexandre Julliard
26 Jun '09
26 Jun '09
Module: wine Branch: master Commit: d4854b636c5c434357844b4f71711d789206953d URL:
http://source.winehq.org/git/wine.git/?a=commit;h=d4854b636c5c434357844b4f7…
Author: Stefan Dösinger <stefan(a)codeweavers.com> Date: Wed Jun 24 23:38:47 2009 +0200 wined3d: Beware of double negations. --- dlls/wined3d/arb_program_shader.c | 33 +++++++++++++++++++++++++++++++-- 1 files changed, 31 insertions(+), 2 deletions(-) diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index b30d3cc..e2f4b5e 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -1325,6 +1325,29 @@ static void pshader_hw_bem(const struct wined3d_shader_instruction *ins) shader_addline(buffer, "ADD %s, %s, TC;\n", dst_name, src_name[0]); } +static DWORD negate_modifiers(DWORD mod, char *extra_char) +{ + *extra_char = ' '; + switch(mod) + { + case WINED3DSPSM_NONE: return WINED3DSPSM_NEG; + case WINED3DSPSM_NEG: return WINED3DSPSM_NONE; + case WINED3DSPSM_BIAS: return WINED3DSPSM_BIASNEG; + case WINED3DSPSM_BIASNEG: return WINED3DSPSM_BIAS; + case WINED3DSPSM_SIGN: return WINED3DSPSM_SIGNNEG; + case WINED3DSPSM_SIGNNEG: return WINED3DSPSM_SIGN; + case WINED3DSPSM_COMP: *extra_char = '-'; return WINED3DSPSM_COMP; + case WINED3DSPSM_X2: return WINED3DSPSM_X2NEG; + case WINED3DSPSM_X2NEG: return WINED3DSPSM_X2; + case WINED3DSPSM_DZ: *extra_char = '-'; return WINED3DSPSM_DZ; + case WINED3DSPSM_DW: *extra_char = '-'; return WINED3DSPSM_DW; + case WINED3DSPSM_ABS: return WINED3DSPSM_ABSNEG; + case WINED3DSPSM_ABSNEG: return WINED3DSPSM_ABS; + } + FIXME("Unknown modifier %u\n", mod); + return mod; +} + static void pshader_hw_cnd(const struct wined3d_shader_instruction *ins) { const struct wined3d_shader_dst_param *dst = &ins->dst[0]; @@ -1343,9 +1366,15 @@ static void pshader_hw_cnd(const struct wined3d_shader_instruction *ins) { shader_addline(buffer, "MOV%s %s, %s;\n", shader_arb_get_modifier(ins), dst_name, src_name[1]); } else { - shader_arb_get_src_param(ins, &ins->src[0], 0, src_name[0]); + struct wined3d_shader_src_param src0_copy = ins->src[0]; + char extra_neg; + + /* src0 may have a negate srcmod set, so we can't blindly add "-" to the name */ + src0_copy.modifiers = negate_modifiers(src0_copy.modifiers, &extra_neg); + + shader_arb_get_src_param(ins, &src0_copy, 0, src_name[0]); shader_arb_get_src_param(ins, &ins->src[2], 2, src_name[2]); - shader_addline(buffer, "ADD TA, -%s, coefdiv.x;\n", src_name[0]); + shader_addline(buffer, "ADD TA, %c%s, coefdiv.x;\n", extra_neg, src_name[0]); /* No modifiers supported on CMP */ shader_addline(buffer, "CMP %s, TA, %s, %s;\n", dst_name, src_name[1], src_name[2]);
1
0
0
0
Stefan Dösinger : winebuild: Open resource files in binary mode.
by Alexandre Julliard
26 Jun '09
26 Jun '09
Module: wine Branch: master Commit: 07e835fffb202ff5b60f594c9a00069297295065 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=07e835fffb202ff5b60f594c9…
Author: Stefan Dösinger <stefan(a)codeweavers.com> Date: Wed Jun 24 21:10:55 2009 +0200 winebuild: Open resource files in binary mode. --- tools/winebuild/res16.c | 2 +- tools/winebuild/res32.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/winebuild/res16.c b/tools/winebuild/res16.c index a957ca8..8a26ae2 100644 --- a/tools/winebuild/res16.c +++ b/tools/winebuild/res16.c @@ -168,7 +168,7 @@ void load_res16_file( const char *name, DLLSPEC *spec ) void *base; struct stat st; - if ((fd = open( name, O_RDONLY )) == -1) fatal_perror( "Cannot open %s", name ); + if ((fd = open( name, O_RDONLY | O_BINARY )) == -1) fatal_perror( "Cannot open %s", name ); if ((fstat( fd, &st ) == -1)) fatal_perror( "Cannot stat %s", name ); if (!st.st_size) fatal_error( "%s is an empty file\n", name ); #ifdef HAVE_MMAP diff --git a/tools/winebuild/res32.c b/tools/winebuild/res32.c index 0aaf2f0..946523d 100644 --- a/tools/winebuild/res32.c +++ b/tools/winebuild/res32.c @@ -269,7 +269,7 @@ int load_res32_file( const char *name, DLLSPEC *spec ) void *base; struct stat st; - if ((fd = open( name, O_RDONLY )) == -1) fatal_perror( "Cannot open %s", name ); + if ((fd = open( name, O_RDONLY | O_BINARY )) == -1) fatal_perror( "Cannot open %s", name ); if ((fstat( fd, &st ) == -1)) fatal_perror( "Cannot stat %s", name ); if (!st.st_size) fatal_error( "%s is an empty file\n", name ); #ifdef HAVE_MMAP
1
0
0
0
Eric Pouech : dbghelp: Simplify the resort operation (module address table) by using binary insertion instead of resorting the whole array.
by Alexandre Julliard
26 Jun '09
26 Jun '09
Module: wine Branch: master Commit: 400894350260bbdc290b4f94fc9057fa754beb6a URL:
http://source.winehq.org/git/wine.git/?a=commit;h=400894350260bbdc290b4f94f…
Author: Eric Pouech <eric.pouech(a)orange.fr> Date: Thu Jun 25 22:27:45 2009 +0200 dbghelp: Simplify the resort operation (module address table) by using binary insertion instead of resorting the whole array. --- dlls/dbghelp/symbol.c | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 42 insertions(+), 1 deletions(-) diff --git a/dlls/dbghelp/symbol.c b/dlls/dbghelp/symbol.c index b3e97d2..e89b0a5 100644 --- a/dlls/dbghelp/symbol.c +++ b/dlls/dbghelp/symbol.c @@ -783,6 +783,26 @@ static BOOL symt_enum_module(struct module_pair* pair, const regex_t* regex, return FALSE; } +static inline unsigned where_to_insert(const struct module* module, unsigned high, struct symt_ht* elt) +{ + unsigned low = 0, mid = high / 2; + ULONG64 addr; + + if (!high) return 0; + symt_get_info(&elt->symt, TI_GET_ADDRESS, &addr); + do + { + switch (cmp_sorttab_addr(module, mid, addr)) + { + case 0: return mid; + case -1: low = mid + 1; break; + case 1: high = mid; break; + } + mid = low + (high - low) / 2; + } while (low < high); + return mid; +} + /*********************************************************************** * resort_symbols * @@ -793,7 +813,28 @@ static BOOL resort_symbols(struct module* module) if (!(module->module.NumSyms = module->num_symbols)) return FALSE; - qsort(module->addr_sorttab, module->num_symbols, sizeof(struct symt_ht*), symt_cmp_addr); + /* FIXME: what's the optimal value here ??? */ + if (module->num_sorttab && module->num_symbols <= module->num_sorttab + 30) + { + int i, delta, ins_idx = module->num_sorttab, prev_ins_idx; + struct symt_ht* tmp[30]; + + delta = module->num_symbols - module->num_sorttab; + memcpy(tmp, &module->addr_sorttab[module->num_sorttab], delta * sizeof(struct symt_ht*)); + qsort(tmp, delta, sizeof(struct symt_ht*), symt_cmp_addr); + + for (i = delta - 1; i >= 0; i--) + { + prev_ins_idx = ins_idx; + ins_idx = where_to_insert(module, prev_ins_idx = ins_idx, tmp[i]); + memmove(&module->addr_sorttab[ins_idx + i + 1], + &module->addr_sorttab[ins_idx], + (prev_ins_idx - ins_idx) * sizeof(struct symt_ht*)); + module->addr_sorttab[ins_idx + i] = tmp[i]; + } + } + else + qsort(module->addr_sorttab, module->num_symbols, sizeof(struct symt_ht*), symt_cmp_addr); module->num_sorttab = module->num_symbols; return module->sortlist_valid = TRUE; }
1
0
0
0
Eric Pouech : dbghelp: when (re)building the per module symbol table ( lookup by address), no longer iterate over the hash table.
by Alexandre Julliard
26 Jun '09
26 Jun '09
Module: wine Branch: master Commit: 609ec7b11d1157a4e22bf2a813d1e99506f85ac0 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=609ec7b11d1157a4e22bf2a81…
Author: Eric Pouech <eric.pouech(a)orange.fr> Date: Thu Jun 25 22:27:38 2009 +0200 dbghelp: when (re)building the per module symbol table (lookup by address), no longer iterate over the hash table. Directly add to the table when adding a new symbol. --- dlls/dbghelp/dbghelp_private.h | 1 + dlls/dbghelp/module.c | 3 ++ dlls/dbghelp/symbol.c | 59 +++++++++++++++++++--------------------- 3 files changed, 32 insertions(+), 31 deletions(-) diff --git a/dlls/dbghelp/dbghelp_private.h b/dlls/dbghelp/dbghelp_private.h index 9f8a612..0f322a5 100644 --- a/dlls/dbghelp/dbghelp_private.h +++ b/dlls/dbghelp/dbghelp_private.h @@ -337,6 +337,7 @@ struct module /* symbols & symbol tables */ int sortlist_valid; unsigned num_sorttab; /* number of symbols with addresses */ + unsigned num_symbols; struct symt_ht** addr_sorttab; struct hash_table ht_symbols; void (*loc_compute)(struct process* pcs, diff --git a/dlls/dbghelp/module.c b/dlls/dbghelp/module.c index 1a3d94e..c71c7e9 100644 --- a/dlls/dbghelp/module.c +++ b/dlls/dbghelp/module.c @@ -169,6 +169,8 @@ struct module* module_new(struct process* pcs, const WCHAR* name, module->is_virtual = virtual ? TRUE : FALSE; module->sortlist_valid = FALSE; module->addr_sorttab = NULL; + module->num_sorttab = 0; + module->num_symbols = 0; /* FIXME: this seems a bit too high (on a per module basis) * need some statistics about this */ @@ -1036,6 +1038,7 @@ void module_reset_debug_info(struct module* module) { module->sortlist_valid = TRUE; module->addr_sorttab = NULL; + module->num_sorttab = module->num_symbols = 0; hash_table_destroy(&module->ht_symbols); module->ht_symbols.num_buckets = 0; module->ht_symbols.buckets = NULL; diff --git a/dlls/dbghelp/symbol.c b/dlls/dbghelp/symbol.c index 25f9ec9..b3e97d2 100644 --- a/dlls/dbghelp/symbol.c +++ b/dlls/dbghelp/symbol.c @@ -67,10 +67,34 @@ int symt_cmp_addr(const void* p1, const void* p2) return cmp_addr(a1, a2); } +static BOOL symt_grow_sorttab(struct module* module, unsigned sz) +{ + struct symt_ht** new; + + if (module->addr_sorttab) + new = HeapReAlloc(GetProcessHeap(), 0, module->addr_sorttab, + sz * sizeof(struct symt_ht*)); + else + new = HeapAlloc(GetProcessHeap(), 0, sz * sizeof(struct symt_ht*)); + if (!new) return FALSE; + module->addr_sorttab = new; + return TRUE; +} + static void symt_add_module_ht(struct module* module, struct symt_ht* ht) { + ULONG64 addr; + hash_table_add(&module->ht_symbols, &ht->hash_elt); - module->sortlist_valid = FALSE; + /* Don't store in sorttab a symbol without address, they are of + * no use here (e.g. constant values) + */ + if (symt_get_info(&ht->symt, TI_GET_ADDRESS, &addr) && + symt_grow_sorttab(module, module->num_symbols + 1)) + { + module->addr_sorttab[module->num_symbols++] = ht; + module->sortlist_valid = FALSE; + } } #ifdef HAVE_REGEX_H @@ -766,38 +790,11 @@ static BOOL symt_enum_module(struct module_pair* pair, const regex_t* regex, */ static BOOL resort_symbols(struct module* module) { - void* ptr; - struct symt_ht* sym; - struct hash_table_iter hti; - ULONG64 addr; - - if (!(module->module.NumSyms = module->ht_symbols.num_elts)) + if (!(module->module.NumSyms = module->num_symbols)) return FALSE; - - if (module->addr_sorttab) - module->addr_sorttab = HeapReAlloc(GetProcessHeap(), 0, - module->addr_sorttab, - module->module.NumSyms * sizeof(struct symt_ht*)); - else - module->addr_sorttab = HeapAlloc(GetProcessHeap(), 0, - module->module.NumSyms * sizeof(struct symt_ht*)); - if (!module->addr_sorttab) return FALSE; - module->num_sorttab = 0; - hash_table_iter_init(&module->ht_symbols, &hti, NULL); - while ((ptr = hash_table_iter_up(&hti))) - { - sym = GET_ENTRY(ptr, struct symt_ht, hash_elt); - assert(sym); - /* Don't store in sorttab symbol without address, they are of - * no use here (e.g. constant values) - * As the number of those symbols is very couple (a couple per module) - * we don't bother for the unused spots at the end of addr_sorttab - */ - if (symt_get_info(&sym->symt, TI_GET_ADDRESS, &addr)) - module->addr_sorttab[module->num_sorttab++] = sym; - } - qsort(module->addr_sorttab, module->num_sorttab, sizeof(struct symt_ht*), symt_cmp_addr); + qsort(module->addr_sorttab, module->num_symbols, sizeof(struct symt_ht*), symt_cmp_addr); + module->num_sorttab = module->num_symbols; return module->sortlist_valid = TRUE; }
1
0
0
0
Eric Pouech : dbghelp: Factorize symbol insertion into module by address table.
by Alexandre Julliard
26 Jun '09
26 Jun '09
Module: wine Branch: master Commit: dde39fddc537c846853ae2f9f85cb14581fec3e2 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=dde39fddc537c846853ae2f9f…
Author: Eric Pouech <eric.pouech(a)orange.fr> Date: Thu Jun 25 22:27:31 2009 +0200 dbghelp: Factorize symbol insertion into module by address table. --- dlls/dbghelp/symbol.c | 24 ++++++++++++------------ 1 files changed, 12 insertions(+), 12 deletions(-) diff --git a/dlls/dbghelp/symbol.c b/dlls/dbghelp/symbol.c index 3e70e85..25f9ec9 100644 --- a/dlls/dbghelp/symbol.c +++ b/dlls/dbghelp/symbol.c @@ -67,6 +67,12 @@ int symt_cmp_addr(const void* p1, const void* p2) return cmp_addr(a1, a2); } +static void symt_add_module_ht(struct module* module, struct symt_ht* ht) +{ + hash_table_add(&module->ht_symbols, &ht->hash_elt); + module->sortlist_valid = FALSE; +} + #ifdef HAVE_REGEX_H /* transforms a dbghelp's regular expression into a POSIX one @@ -247,13 +253,12 @@ struct symt_public* symt_new_public(struct module* module, { sym->symt.tag = SymTagPublicSymbol; sym->hash_elt.name = pool_strdup(&module->pool, name); - hash_table_add(&module->ht_symbols, &sym->hash_elt); - module->sortlist_valid = FALSE; sym->container = compiland ? &compiland->symt : NULL; sym->address = address; sym->size = size; sym->in_code = in_code; sym->is_function = is_func; + symt_add_module_ht(module, (struct symt_ht*)sym); if (compiland) { p = vector_add(&compiland->vchildren, &module->pool); @@ -279,8 +284,6 @@ struct symt_data* symt_new_global_variable(struct module* module, { sym->symt.tag = SymTagData; sym->hash_elt.name = pool_strdup(&module->pool, name); - hash_table_add(&module->ht_symbols, &sym->hash_elt); - module->sortlist_valid = FALSE; sym->kind = is_static ? DataIsFileStatic : DataIsGlobal; sym->container = compiland ? &compiland->symt : NULL; sym->type = type; @@ -292,6 +295,7 @@ struct symt_data* symt_new_global_variable(struct module* module, debugstr_w(module->module.ModuleName), name, wine_dbgstr_longlong(tsz), size); } + symt_add_module_ht(module, (struct symt_ht*)sym); if (compiland) { p = vector_add(&compiland->vchildren, &module->pool); @@ -318,14 +322,13 @@ struct symt_function* symt_new_function(struct module* module, { sym->symt.tag = SymTagFunction; sym->hash_elt.name = pool_strdup(&module->pool, name); - hash_table_add(&module->ht_symbols, &sym->hash_elt); - module->sortlist_valid = FALSE; sym->container = &compiland->symt; sym->address = addr; sym->type = sig_type; sym->size = size; vector_init(&sym->vlines, sizeof(struct line_info), 64); vector_init(&sym->vchildren, sizeof(struct symt*), 8); + symt_add_module_ht(module, (struct symt_ht*)sym); if (compiland) { p = vector_add(&compiland->vchildren, &module->pool); @@ -519,12 +522,11 @@ struct symt_thunk* symt_new_thunk(struct module* module, { sym->symt.tag = SymTagThunk; sym->hash_elt.name = pool_strdup(&module->pool, name); - hash_table_add(&module->ht_symbols, &sym->hash_elt); - module->sortlist_valid = FALSE; sym->container = &compiland->symt; sym->address = addr; sym->size = size; sym->ordinal = ord; + symt_add_module_ht(module, (struct symt_ht*)sym); if (compiland) { struct symt** p; @@ -549,12 +551,11 @@ struct symt_data* symt_new_constant(struct module* module, { sym->symt.tag = SymTagData; sym->hash_elt.name = pool_strdup(&module->pool, name); - hash_table_add(&module->ht_symbols, &sym->hash_elt); - module->sortlist_valid = FALSE; sym->kind = DataIsConstant; sym->container = compiland ? &compiland->symt : NULL; sym->type = type; sym->u.value = *v; + symt_add_module_ht(module, (struct symt_ht*)sym); if (compiland) { struct symt** p; @@ -578,11 +579,10 @@ struct symt_hierarchy_point* symt_new_label(struct module* module, { sym->symt.tag = SymTagLabel; sym->hash_elt.name = pool_strdup(&module->pool, name); - hash_table_add(&module->ht_symbols, &sym->hash_elt); - module->sortlist_valid = FALSE; sym->loc.kind = loc_absolute; sym->loc.offset = address; sym->parent = compiland ? &compiland->symt : NULL; + symt_add_module_ht(module, (struct symt_ht*)sym); if (compiland) { struct symt** p;
1
0
0
0
Eric Pouech : dbghelp: When loading ELF public information, handle the cases when we don't get an address.
by Alexandre Julliard
26 Jun '09
26 Jun '09
Module: wine Branch: master Commit: 607a07f42affeb52ec9c1b654233366d1fc3d295 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=607a07f42affeb52ec9c1b654…
Author: Eric Pouech <eric.pouech(a)orange.fr> Date: Thu Jun 25 22:27:24 2009 +0200 dbghelp: When loading ELF public information, handle the cases when we don't get an address. --- dlls/dbghelp/elf_module.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/dbghelp/elf_module.c b/dlls/dbghelp/elf_module.c index b672788..12754dd 100644 --- a/dlls/dbghelp/elf_module.c +++ b/dlls/dbghelp/elf_module.c @@ -650,8 +650,8 @@ static int elf_new_wine_thunks(struct module* module, struct hash_table* ht_symt ULONG64 ref_addr; symt = symt_find_nearest(module, addr); - if (symt) - symt_get_info(&symt->symt, TI_GET_ADDRESS, &ref_addr); + if (symt && !symt_get_info(&symt->symt, TI_GET_ADDRESS, &ref_addr)) + ref_addr = addr; if (!symt || addr != ref_addr) { /* creating public symbols for all the ELF symbols which haven't been
1
0
0
0
Aurimas Fišeras : taskmgr: Make remaining strings translatable.
by Alexandre Julliard
26 Jun '09
26 Jun '09
Module: wine Branch: master Commit: ae62524d76881a9122e06a1cb4ab0cf991f75bc9 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=ae62524d76881a9122e06a1cb…
Author: Aurimas Fišeras <aurimas(a)gmail.com> Date: Thu Jun 25 22:43:11 2009 +0300 taskmgr: Make remaining strings translatable. --- programs/taskmgr/En.rc | 14 ++++++++++++++ programs/taskmgr/Lt.rc | 14 ++++++++++++++ programs/taskmgr/applpage.c | 16 +++++++++------- programs/taskmgr/dbgchnl.c | 16 +++++++++++----- programs/taskmgr/perfdata.c | 3 ++- programs/taskmgr/procpage.c | 3 +-- programs/taskmgr/resource.h | 10 ++++++++++ programs/taskmgr/trayicon.c | 8 ++++++-- 8 files changed, 67 insertions(+), 17 deletions(-) diff --git a/programs/taskmgr/En.rc b/programs/taskmgr/En.rc index 425f44e..ce2bdf5 100644 --- a/programs/taskmgr/En.rc +++ b/programs/taskmgr/En.rc @@ -556,3 +556,17 @@ BEGIN IDS_AFFINITY_ERROR_TITLE "Invalid Option" IDS_AFFINITY_UNABLE2ACCESS "Unable to Access or Set Process Affinity" END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SYSTEM_IDLE_PROCESS "System Idle Process" + IDS_APPLICATION_NOT_RESPONDING "Not Responding" + IDS_APPLICATION_RUNNING "Running" + IDS_APPLICATION_TASK "Task" + IDS_APPLICATION_STATUS "Status" + IDS_DEBUG_CHANNEL "Debug Channels" + IDS_DEBUG_CHANNEL_FIXME "Fixme" + IDS_DEBUG_CHANNEL_ERR "Err" + IDS_DEBUG_CHANNEL_WARN "Warn" + IDS_DEBUG_CHANNEL_TRACE "Trace" +END diff --git a/programs/taskmgr/Lt.rc b/programs/taskmgr/Lt.rc index 8d9603f..c58647a 100644 --- a/programs/taskmgr/Lt.rc +++ b/programs/taskmgr/Lt.rc @@ -547,4 +547,18 @@ BEGIN IDS_AFFINITY_UNABLE2ACCESS "Nepavyko prieiti prie ar nustatyti proceso atitikimo" END +STRINGTABLE DISCARDABLE +BEGIN + IDS_SYSTEM_IDLE_PROCESS "Sistemos neveikos procesas" + IDS_APPLICATION_NOT_RESPONDING "Neatsako" + IDS_APPLICATION_RUNNING "Vykdoma" + IDS_APPLICATION_TASK "Užduotis" + IDS_APPLICATION_STATUS "Būsena" + IDS_DEBUG_CHANNEL "Derinimo kanalai" + IDS_DEBUG_CHANNEL_FIXME "Fixme (pataisyk)" + IDS_DEBUG_CHANNEL_ERR "Err (klaida)" + IDS_DEBUG_CHANNEL_WARN "Warn (įspėjimas)" + IDS_DEBUG_CHANNEL_TRACE "Trace (pėdsakas)" +END + #pragma code_page(default) diff --git a/programs/taskmgr/applpage.c b/programs/taskmgr/applpage.c index 8fb923d..b958887 100644 --- a/programs/taskmgr/applpage.c +++ b/programs/taskmgr/applpage.c @@ -417,9 +417,11 @@ static void ApplicationPageOnNotify(WPARAM wParam, LPARAM lParam) LV_DISPINFOW* pnmdi; LPAPPLICATION_PAGE_LIST_ITEM pAPLI; - static const WCHAR wszNotResponding[] = {'N','o','t',' ','R','e','s','p','o','n','d','i','n','g',0}; - static const WCHAR wszRunning[] = {'R','u','n','n','i','n','g',0}; + WCHAR wszNotResponding[255]; + WCHAR wszRunning[255]; + LoadStringW(hInst, IDS_APPLICATION_NOT_RESPONDING, wszNotResponding, sizeof(wszNotResponding)/sizeof(WCHAR)); + LoadStringW(hInst, IDS_APPLICATION_RUNNING, wszRunning, sizeof(wszRunning)/sizeof(WCHAR)); idctrl = (int) wParam; pnmh = (LPNMHDR) lParam; @@ -837,9 +839,11 @@ ApplicationPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) int cx, cy; LVCOLUMNW column; - static const WCHAR wszTasks[] = {'T','a','s','k','s',0}; - static WCHAR wszTask[] = {'T','a','s','k',0}; - static WCHAR wszStatus[] = {'S','t','a','t','u','s',0}; + WCHAR wszTask[255]; + WCHAR wszStatus[255]; + + LoadStringW(hInst, IDS_APPLICATION_TASK, wszTask, sizeof(wszTask)/sizeof(WCHAR)); + LoadStringW(hInst, IDS_APPLICATION_STATUS, wszStatus, sizeof(wszStatus)/sizeof(WCHAR)); switch (message) { case WM_INITDIALOG: @@ -858,8 +862,6 @@ ApplicationPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) hApplicationPageSwitchToButton = GetDlgItem(hDlg, IDC_SWITCHTO); hApplicationPageNewTaskButton = GetDlgItem(hDlg, IDC_NEWTASK); - SetWindowTextW(hApplicationPageListCtrl, wszTasks); - /* Initialize the application page's controls */ column.mask = LVCF_TEXT|LVCF_WIDTH; column.pszText = wszTask; diff --git a/programs/taskmgr/dbgchnl.c b/programs/taskmgr/dbgchnl.c index 382675f..77ddb6c 100644 --- a/programs/taskmgr/dbgchnl.c +++ b/programs/taskmgr/dbgchnl.c @@ -224,11 +224,17 @@ static void DebugChannels_OnCreate(HWND hwndDlg) HWND hLV = GetDlgItem(hwndDlg, IDC_DEBUG_CHANNELS_LIST); LVCOLUMNW lvc; - static WCHAR debug_channelW[] = {'D','e','b','u','g',' ','C','h','a','n','n','e','l',0}, - fixmeW[] = {'F','i','x','m','e',0}, - errW[] = {'E','r','r',0}, - warnW[] = {'W','a','r','n',0}, - traceW[] = {'T','r','a','c','e',0}; + WCHAR debug_channelW[255]; + WCHAR fixmeW[255]; + WCHAR errW[255]; + WCHAR warnW[255]; + WCHAR traceW[255]; + + LoadStringW(hInst, IDS_DEBUG_CHANNEL, debug_channelW, sizeof(debug_channelW)/sizeof(WCHAR)); + LoadStringW(hInst, IDS_DEBUG_CHANNEL_FIXME, fixmeW, sizeof(fixmeW)/sizeof(WCHAR)); + LoadStringW(hInst, IDS_DEBUG_CHANNEL_ERR, errW, sizeof(errW)/sizeof(WCHAR)); + LoadStringW(hInst, IDS_DEBUG_CHANNEL_WARN, warnW, sizeof(warnW)/sizeof(WCHAR)); + LoadStringW(hInst, IDS_DEBUG_CHANNEL_TRACE, traceW, sizeof(traceW)/sizeof(WCHAR)); lvc.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH; lvc.fmt = LVCFMT_LEFT; diff --git a/programs/taskmgr/perfdata.c b/programs/taskmgr/perfdata.c index 5a24ba3..c96fdcf 100644 --- a/programs/taskmgr/perfdata.c +++ b/programs/taskmgr/perfdata.c @@ -253,7 +253,8 @@ void PerfDataRefresh(void) lstrcpyW(pPerfData[Idx].ImageName, pSPI->Name.Buffer); else { - static const WCHAR idleW[] = {'S','y','s','t','e','m',' ','I','d','l','e',' ','P','r','o','c','e','s','s',0}; + WCHAR idleW[255]; + LoadStringW(hInst, IDS_SYSTEM_IDLE_PROCESS, idleW, sizeof(idleW)/sizeof(WCHAR)); lstrcpyW(pPerfData[Idx].ImageName, idleW ); } diff --git a/programs/taskmgr/procpage.c b/programs/taskmgr/procpage.c index 4cc02f1..c16f3b0 100644 --- a/programs/taskmgr/procpage.c +++ b/programs/taskmgr/procpage.c @@ -466,9 +466,8 @@ ProcessPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) hProcessPageShowAllProcessesButton = GetDlgItem(hDlg, IDC_SHOWALLPROCESSES); /* - * Set the title and extended window styles for the list control + * Set the extended window styles for the list control */ - SetWindowText(hProcessPageListCtrl, _T("Processes")); SendMessage(hProcessPageListCtrl, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, ListView_GetExtendedListViewStyle(hProcessPageListCtrl) | LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP); AddColumns(); diff --git a/programs/taskmgr/resource.h b/programs/taskmgr/resource.h index 236f848..1b98ab0 100644 --- a/programs/taskmgr/resource.h +++ b/programs/taskmgr/resource.h @@ -233,6 +233,16 @@ #define IDS_AFFINITY_ERROR_MESSAGE 32864 #define IDS_AFFINITY_ERROR_TITLE 32865 #define IDS_AFFINITY_UNABLE2ACCESS 32866 +#define IDS_SYSTEM_IDLE_PROCESS 32867 +#define IDS_APPLICATION_NOT_RESPONDING 32868 +#define IDS_APPLICATION_RUNNING 32869 +#define IDS_APPLICATION_TASK 32870 +#define IDS_APPLICATION_STATUS 32871 +#define IDS_DEBUG_CHANNEL 32872 +#define IDS_DEBUG_CHANNEL_FIXME 32873 +#define IDS_DEBUG_CHANNEL_ERR 32874 +#define IDS_DEBUG_CHANNEL_WARN 32875 +#define IDS_DEBUG_CHANNEL_TRACE 32876 #define IDC_STATIC -1 /* diff --git a/programs/taskmgr/trayicon.c b/programs/taskmgr/trayicon.c index 35740dd..b1379f5 100644 --- a/programs/taskmgr/trayicon.c +++ b/programs/taskmgr/trayicon.c @@ -142,7 +142,9 @@ BOOL TrayIcon_ShellAddTrayIcon(void) NOTIFYICONDATAW nid; HICON hIcon = NULL; BOOL bRetVal; - WCHAR wszCPU_Usage[] = {'C','P','U',' ','U','s','a','g','e',':',' ','%','d','%','%',0}; + WCHAR wszCPU_Usage[255]; + + LoadStringW(hInst, IDS_STATUS_BAR_CPU_USAGE, wszCPU_Usage, sizeof(wszCPU_Usage)/sizeof(WCHAR)); memset(&nid, 0, sizeof(NOTIFYICONDATAW)); @@ -187,7 +189,9 @@ BOOL TrayIcon_ShellUpdateTrayIcon(void) NOTIFYICONDATAW nid; HICON hIcon = NULL; BOOL bRetVal; - WCHAR wszCPU_Usage[] = {'C','P','U',' ','U','s','a','g','e',':',' ','%','d','%','%',0}; + WCHAR wszCPU_Usage[255]; + + LoadStringW(hInst, IDS_STATUS_BAR_CPU_USAGE, wszCPU_Usage, sizeof(wszCPU_Usage)/sizeof(WCHAR)); memset(&nid, 0, sizeof(NOTIFYICONDATAW));
1
0
0
0
Damjan Jovanovic : wine.inf: Run winemenubuilder to delete menus on startup .
by Alexandre Julliard
26 Jun '09
26 Jun '09
Module: wine Branch: master Commit: fe1cc3272149503323d7bcb99c5bb26cfc1fde96 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=fe1cc3272149503323d7bcb99…
Author: Damjan Jovanovic <damjan.jov(a)gmail.com> Date: Thu Jun 25 21:04:06 2009 +0200 wine.inf: Run winemenubuilder to delete menus on startup. --- tools/wine.inf.in | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/tools/wine.inf.in b/tools/wine.inf.in index 4d2999e..7e6ae73 100644 --- a/tools/wine.inf.in +++ b/tools/wine.inf.in @@ -403,7 +403,7 @@ HKLM,%CurrentVersion%,"RegisteredOwner",2,"" HKLM,%CurrentVersion%\Controls Folder\PowerCfg,"DiskSpinDownMax",,"3600" HKLM,%CurrentVersion%\Controls Folder\PowerCfg,"DiskSpinDownMin",,"3" HKLM,%CurrentVersion%\Controls Folder\PowerCfg,"LastID",,"5" -HKLM,%CurrentVersion%\Run,"winemenubuilder",2,"winemenubuilder -a" +HKLM,%CurrentVersion%\RunServices,"winemenubuilder",2,"winemenubuilder -a -r" HKLM,%CurrentVersion%\Setup,"BootDir",,"%30%" HKLM,%CurrentVersion%\Setup,"SharedDir",,"%25%" HKLM,%CurrentVersion%\Uninstall,,,""
1
0
0
0
Damjan Jovanovic : winemenubuilder: Allow multiple options.
by Alexandre Julliard
26 Jun '09
26 Jun '09
Module: wine Branch: master Commit: 420d64291876130c49255d42982a1b0ae0d1d861 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=420d64291876130c49255d429…
Author: Damjan Jovanovic <damjan.jov(a)gmail.com> Date: Thu Jun 25 21:01:59 2009 +0200 winemenubuilder: Allow multiple options. --- programs/winemenubuilder/winemenubuilder.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/programs/winemenubuilder/winemenubuilder.c b/programs/winemenubuilder/winemenubuilder.c index fa74411..0549eb5 100644 --- a/programs/winemenubuilder/winemenubuilder.c +++ b/programs/winemenubuilder/winemenubuilder.c @@ -2714,12 +2714,12 @@ int PASCAL WinMain (HINSTANCE hInstance, HINSTANCE prev, LPSTR cmdline, int show if( !lstrcmpA( token, "-a" ) ) { RefreshFileTypeAssociations(); - break; + continue; } if( !lstrcmpA( token, "-r" ) ) { cleanup_menus(); - break; + continue; } if( !lstrcmpA( token, "-w" ) ) bWait = TRUE;
1
0
0
0
Louis Lenders : kernel32/nls: Add system message 2221 to winerr_enu.mc.
by Alexandre Julliard
26 Jun '09
26 Jun '09
Module: wine Branch: master Commit: 2478b86ef66858084f7617cb272f0854e800e004 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=2478b86ef66858084f7617cb2…
Author: Louis Lenders <xerox_xerox2000(a)yahoo.co.uk> Date: Thu Jun 25 20:34:39 2009 +0200 kernel32/nls: Add system message 2221 to winerr_enu.mc. --- dlls/kernel32/nls/winerr_enu.mc | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/dlls/kernel32/nls/winerr_enu.mc b/dlls/kernel32/nls/winerr_enu.mc index c615e2a..8dd2088 100644 --- a/dlls/kernel32/nls/winerr_enu.mc +++ b/dlls/kernel32/nls/winerr_enu.mc @@ -3728,3 +3728,8 @@ SymbolicName=RPC_S_GRP_ELT_NOT_REMOVED Language=ENU RPC_S_GRP_ELT_NOT_REMOVED . +MessageId=2221 +SymbolicName=NERR_UserNotFound +Language=ENU +The username could not be found +.
1
0
0
0
← Newer
1
...
16
17
18
19
20
21
22
...
112
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
Results per page:
10
25
50
100
200