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
October 2022
----- 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
537 discussions
Start a n
N
ew thread
Piotr Caban : msvcrt: Fix mbcasemap initialization.
by Alexandre Julliard
19 Oct '22
19 Oct '22
Module: wine Branch: master Commit: cbcbaf3631257a627a322b41868aa2baf27dd3a7 URL:
https://gitlab.winehq.org/wine/wine/-/commit/cbcbaf3631257a627a322b41868aa2…
Author: Piotr Caban <piotr(a)codeweavers.com> Date: Wed Oct 19 12:56:53 2022 +0200 msvcrt: Fix mbcasemap initialization. --- dlls/msvcrt/mbcs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c index 23d16ee925d..f1d82b5e268 100644 --- a/dlls/msvcrt/mbcs.c +++ b/dlls/msvcrt/mbcs.c @@ -365,7 +365,7 @@ threadmbcinfo* create_mbcinfo(int cp, LCID lcid, threadmbcinfo *old_mbcinfo) { if(!(mbcinfo->mbctype[i + 1] & _M1)) { - if(mbcinfo->mbctype[i] & (C1_UPPER|C1_LOWER)) + if(mbcinfo->mbctype[i + 1] & (_SBUP | _SBLOW)) mbcinfo->mbcasemap[i] = bufA[charcount]; charcount++; }
1
0
0
0
Bartosz Kosiorek : msvcrt: Add _mbsupr_s_l partial implementation.
by Alexandre Julliard
19 Oct '22
19 Oct '22
Module: wine Branch: master Commit: 9b64ea2bf273f9c6db68495b37fa7ba8d2ef5201 URL:
https://gitlab.winehq.org/wine/wine/-/commit/9b64ea2bf273f9c6db68495b37fa7b…
Author: Bartosz Kosiorek <gang65(a)poczta.onet.pl> Date: Tue Oct 18 18:04:56 2022 +0200 msvcrt: Add _mbsupr_s_l partial implementation. Wine-Bug:
https://bugs.winehq.org/show_bug.cgi?id=45273
--- dlls/msvcr100/msvcr100.spec | 2 +- dlls/msvcr110/msvcr110.spec | 2 +- dlls/msvcr120/msvcr120.spec | 2 +- dlls/msvcr80/msvcr80.spec | 2 +- dlls/msvcr90/msvcr90.spec | 2 +- dlls/msvcrt/mbcs.c | 23 ++++++++++++++++++----- dlls/msvcrt/msvcrt.spec | 2 +- dlls/ucrtbase/ucrtbase.spec | 2 +- 8 files changed, 25 insertions(+), 12 deletions(-) diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 90accd39722..b051cf6a77f 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -1202,7 +1202,7 @@ @ cdecl _mbsupr(str) @ stub _mbsupr_l @ cdecl _mbsupr_s(str long) -@ stub _mbsupr_s_l +@ cdecl _mbsupr_s_l(str long ptr) @ cdecl _mbtowc_l(ptr str long ptr) @ cdecl _memccpy(ptr ptr long long) @ cdecl _memicmp(str str long) diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 5ca3156ab0b..593df178536 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1559,7 +1559,7 @@ @ cdecl _mbsupr(str) @ stub _mbsupr_l @ cdecl _mbsupr_s(str long) -@ stub _mbsupr_s_l +@ cdecl _mbsupr_s_l(str long ptr) @ cdecl _mbtowc_l(ptr str long ptr) @ cdecl _memccpy(ptr ptr long long) @ cdecl _memicmp(str str long) diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index a514febaa21..cd92da9a8d7 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1570,7 +1570,7 @@ @ cdecl _mbsupr(str) @ stub _mbsupr_l @ cdecl _mbsupr_s(str long) -@ stub _mbsupr_s_l +@ cdecl _mbsupr_s_l(str long ptr) @ cdecl _mbtowc_l(ptr str long ptr) @ cdecl _memccpy(ptr ptr long long) @ cdecl _memicmp(str str long) diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 9c2498781f0..de0da8e26e9 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -874,7 +874,7 @@ @ cdecl _mbsupr(str) @ stub _mbsupr_l @ cdecl _mbsupr_s(str long) -@ stub _mbsupr_s_l +@ cdecl _mbsupr_s_l(str long ptr) @ cdecl _mbtowc_l(ptr str long ptr) @ cdecl _memccpy(ptr ptr long long) @ cdecl _memicmp(str str long) diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index ae1add4cb5f..d5f94a65f78 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -852,7 +852,7 @@ @ cdecl _mbsupr(str) @ stub _mbsupr_l @ cdecl _mbsupr_s(str long) -@ stub _mbsupr_s_l +@ cdecl _mbsupr_s_l(str long ptr) @ cdecl _mbtowc_l(ptr str long ptr) @ cdecl _memccpy(ptr ptr long long) @ cdecl _memicmp(str str long) diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c index b5b4309db54..23d16ee925d 100644 --- a/dlls/msvcrt/mbcs.c +++ b/dlls/msvcrt/mbcs.c @@ -2145,11 +2145,10 @@ unsigned char* CDECL _mbsupr(unsigned char* s) return ret; } - /********************************************************************* - * _mbsupr_s(MSVCRT.@) + * _mbsupr_s_l(MSVCRT.@) */ -int CDECL _mbsupr_s(unsigned char* s, size_t len) +int CDECL _mbsupr_s_l(unsigned char* s, size_t len, _locale_t locale) { if (!s && !len) { @@ -2160,12 +2159,13 @@ int CDECL _mbsupr_s(unsigned char* s, size_t len) *_errno() = EINVAL; return EINVAL; } + if (get_mbcinfo()->ismbcodepage) { unsigned int c; for ( ; *s && len > 0; len--) { - c = _mbctoupper(_mbsnextc(s)); + c = _mbctoupper_l(_mbsnextc_l(s, locale), locale); /* Note that I assume that the size of the character is unchanged */ if (c > 255) { @@ -2175,7 +2175,12 @@ int CDECL _mbsupr_s(unsigned char* s, size_t len) *s++=c; } } - else for ( ; *s && len > 0; s++, len--) *s = _toupper_l(*s, NULL); + else + { + for ( ; *s && len > 0; s++, len--) + *s = _toupper_l(*s, locale); + } + if (*s) { *s = '\0'; @@ -2185,6 +2190,14 @@ int CDECL _mbsupr_s(unsigned char* s, size_t len) return 0; } +/********************************************************************* + * _mbsupr_s(MSVCRT.@) + */ +int CDECL _mbsupr_s(unsigned char* s, size_t len) +{ + return _mbsupr_s_l(s, len, NULL); +} + /********************************************************************* * _mbsspn_l (MSVCRT.@) */ diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 07b15ae2d98..dab9ae87b5b 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -823,7 +823,7 @@ @ cdecl _mbsupr(str) # stub _mbsupr_l(str ptr) @ cdecl _mbsupr_s(str long) -# stub _mbsupr_s_l(str long ptr) +@ cdecl _mbsupr_s_l(str long ptr) @ cdecl _mbtowc_l(ptr str long ptr) @ cdecl _memccpy(ptr ptr long long) @ cdecl _memicmp(str str long) diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index 9d22ff00f30..3e3fd8d6965 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -717,7 +717,7 @@ @ cdecl _mbsupr(str) @ stub _mbsupr_l @ cdecl _mbsupr_s(str long) -@ stub _mbsupr_s_l +@ cdecl _mbsupr_s_l(str long ptr) @ cdecl _mbtowc_l(ptr str long ptr) @ cdecl _memccpy(ptr ptr long long) @ cdecl _memicmp(str str long)
1
0
0
0
Bartosz Kosiorek : msvcrt: Add _mbslwr_s_l partial implementation.
by Alexandre Julliard
19 Oct '22
19 Oct '22
Module: wine Branch: master Commit: 01f3beef6842d97162c1214116cd37f5f08fe015 URL:
https://gitlab.winehq.org/wine/wine/-/commit/01f3beef6842d97162c1214116cd37…
Author: Bartosz Kosiorek <gang65(a)poczta.onet.pl> Date: Tue Oct 18 18:03:23 2022 +0200 msvcrt: Add _mbslwr_s_l partial implementation. Wine-Bug:
https://bugs.winehq.org/show_bug.cgi?id=45273
--- dlls/msvcr100/msvcr100.spec | 2 +- dlls/msvcr110/msvcr110.spec | 2 +- dlls/msvcr120/msvcr120.spec | 2 +- dlls/msvcr80/msvcr80.spec | 2 +- dlls/msvcr90/msvcr90.spec | 2 +- dlls/msvcrt/mbcs.c | 22 +++++++++++++++++----- dlls/msvcrt/msvcrt.spec | 2 +- dlls/ucrtbase/ucrtbase.spec | 2 +- 8 files changed, 24 insertions(+), 12 deletions(-) diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index b3fd1af1ecb..90accd39722 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -1122,7 +1122,7 @@ @ cdecl _mbslwr(str) @ stub _mbslwr_l @ cdecl _mbslwr_s(str long) -@ stub _mbslwr_s_l +@ cdecl _mbslwr_s_l(str long ptr) @ cdecl _mbsnbcat(str str long) @ stub _mbsnbcat_l @ cdecl _mbsnbcat_s(str long ptr long) diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 28e5e047090..5ca3156ab0b 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1479,7 +1479,7 @@ @ cdecl _mbslwr(str) @ stub _mbslwr_l @ cdecl _mbslwr_s(str long) -@ stub _mbslwr_s_l +@ cdecl _mbslwr_s_l(str long ptr) @ cdecl _mbsnbcat(str str long) @ stub _mbsnbcat_l @ cdecl _mbsnbcat_s(str long ptr long) diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index ae4874a7116..a514febaa21 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1490,7 +1490,7 @@ @ cdecl _mbslwr(str) @ stub _mbslwr_l @ cdecl _mbslwr_s(str long) -@ stub _mbslwr_s_l +@ cdecl _mbslwr_s_l(str long ptr) @ cdecl _mbsnbcat(str str long) @ stub _mbsnbcat_l @ cdecl _mbsnbcat_s(str long ptr long) diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 7b484d8be26..9c2498781f0 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -794,7 +794,7 @@ @ cdecl _mbslwr(str) @ stub _mbslwr_l @ cdecl _mbslwr_s(str long) -@ stub _mbslwr_s_l +@ cdecl _mbslwr_s_l(str long ptr) @ cdecl _mbsnbcat(str str long) @ stub _mbsnbcat_l @ cdecl _mbsnbcat_s(str long ptr long) diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index ab1ef139f9a..ae1add4cb5f 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -772,7 +772,7 @@ @ cdecl _mbslwr(str) @ stub _mbslwr_l @ cdecl _mbslwr_s(str long) -@ stub _mbslwr_s_l +@ cdecl _mbslwr_s_l(str long ptr) @ cdecl _mbsnbcat(str str long) @ stub _mbsnbcat_l @ cdecl _mbsnbcat_s(str long ptr long) diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c index 7073fee5bfd..b5b4309db54 100644 --- a/dlls/msvcrt/mbcs.c +++ b/dlls/msvcrt/mbcs.c @@ -2065,11 +2065,10 @@ unsigned char* CDECL _mbslwr(unsigned char* s) return ret; } - /********************************************************************* - * _mbslwr_s(MSVCRT.@) + * _mbslwr_s_l(MSVCRT.@) */ -int CDECL _mbslwr_s(unsigned char* s, size_t len) +int CDECL _mbslwr_s_l(unsigned char* s, size_t len, _locale_t locale) { if (!s && !len) { @@ -2080,12 +2079,13 @@ int CDECL _mbslwr_s(unsigned char* s, size_t len) *_errno() = EINVAL; return EINVAL; } + if (get_mbcinfo()->ismbcodepage) { unsigned int c; for ( ; *s && len > 0; len--) { - c = _mbctolower(_mbsnextc(s)); + c = _mbctolower_l(_mbsnextc_l(s, locale), locale); /* Note that I assume that the size of the character is unchanged */ if (c > 255) { @@ -2095,7 +2095,12 @@ int CDECL _mbslwr_s(unsigned char* s, size_t len) *s++=c; } } - else for ( ; *s && len > 0; s++, len--) *s = _tolower_l(*s, NULL); + else + { + for ( ; *s && len > 0; s++, len--) + *s = _tolower_l(*s, locale); + } + if (*s) { *s = '\0'; @@ -2105,6 +2110,13 @@ int CDECL _mbslwr_s(unsigned char* s, size_t len) return 0; } +/********************************************************************* + * _mbslwr_s(MSVCRT.@) + */ +int CDECL _mbslwr_s(unsigned char* str, size_t len) +{ + return _mbslwr_s_l(str, len, NULL); +} /********************************************************************* * _mbsupr(MSVCRT.@) diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index e1b14ff2a7e..07b15ae2d98 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -743,7 +743,7 @@ @ cdecl _mbslwr(str) # stub _mbslwr_l(str ptr) @ cdecl _mbslwr_s(str long) -# stub _mbslwr_s_l(str long ptr) +@ cdecl _mbslwr_s_l(str long ptr) @ cdecl _mbsnbcat(str str long) # stub _mbsnbcat_l(str str long ptr) @ cdecl _mbsnbcat_s(str long ptr long) diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index c803799f4cd..9d22ff00f30 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -637,7 +637,7 @@ @ cdecl _mbslwr(str) @ stub _mbslwr_l @ cdecl _mbslwr_s(str long) -@ stub _mbslwr_s_l +@ cdecl _mbslwr_s_l(str long ptr) @ cdecl _mbsnbcat(str str long) @ stub _mbsnbcat_l @ cdecl _mbsnbcat_s(str long ptr long)
1
0
0
0
Bartosz Kosiorek : msvcrt: Add _mbctoupper_l partial implementation.
by Alexandre Julliard
19 Oct '22
19 Oct '22
Module: wine Branch: master Commit: 36ea6f02104bd5b2537281af5d112bc647045516 URL:
https://gitlab.winehq.org/wine/wine/-/commit/36ea6f02104bd5b2537281af5d112b…
Author: Bartosz Kosiorek <gang65(a)poczta.onet.pl> Date: Tue Oct 18 18:02:12 2022 +0200 msvcrt: Add _mbctoupper_l partial implementation. Wine-Bug:
https://bugs.winehq.org/show_bug.cgi?id=45273
--- dlls/msvcr100/msvcr100.spec | 2 +- dlls/msvcr110/msvcr110.spec | 2 +- dlls/msvcr120/msvcr120.spec | 2 +- dlls/msvcr80/msvcr80.spec | 2 +- dlls/msvcr90/msvcr90.spec | 2 +- dlls/msvcrt/mbcs.c | 16 ++++++++++++---- dlls/msvcrt/msvcrt.spec | 2 +- dlls/ucrtbase/ucrtbase.spec | 2 +- 8 files changed, 19 insertions(+), 11 deletions(-) diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 648092da5a4..b3fd1af1ecb 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -1092,7 +1092,7 @@ @ cdecl _mbctombb(long) @ stub _mbctombb_l @ cdecl _mbctoupper(long) -@ stub _mbctoupper_l +@ cdecl _mbctoupper_l(long ptr) @ extern _mbctype MSVCRT_mbctype @ stub _mblen_l @ cdecl _mbsbtype(str long) diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 03d96e91d86..28e5e047090 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1449,7 +1449,7 @@ @ cdecl _mbctombb(long) @ stub _mbctombb_l @ cdecl _mbctoupper(long) -@ stub _mbctoupper_l +@ cdecl _mbctoupper_l(long ptr) @ extern _mbctype MSVCRT_mbctype @ stub _mblen_l @ cdecl _mbsbtype(str long) diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 8eb007f3945..ae4874a7116 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1460,7 +1460,7 @@ @ cdecl _mbctombb(long) @ stub _mbctombb_l @ cdecl _mbctoupper(long) -@ stub _mbctoupper_l +@ cdecl _mbctoupper_l(long ptr) @ extern _mbctype MSVCRT_mbctype @ stub _mblen_l @ cdecl _mbsbtype(str long) diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index b0c81808198..7b484d8be26 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -764,7 +764,7 @@ @ cdecl _mbctombb(long) @ stub _mbctombb_l @ cdecl _mbctoupper(long) -@ stub _mbctoupper_l +@ cdecl _mbctoupper_l(long ptr) @ extern _mbctype MSVCRT_mbctype @ stub _mblen_l @ cdecl _mbsbtype(str long) diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index f0b6e43b33c..ab1ef139f9a 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -742,7 +742,7 @@ @ cdecl _mbctombb(long) @ stub _mbctombb_l @ cdecl _mbctoupper(long) -@ stub _mbctoupper_l +@ cdecl _mbctoupper_l(long ptr) @ extern _mbctype MSVCRT_mbctype @ stub _mblen_l @ cdecl _mbsbtype(str long) diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c index 3230a9fc084..7073fee5bfd 100644 --- a/dlls/msvcrt/mbcs.c +++ b/dlls/msvcrt/mbcs.c @@ -468,16 +468,24 @@ unsigned int CDECL _mbctolower(unsigned int c) } /********************************************************************* - * _mbctoupper(MSVCRT.@) + * _mbctoupper_l(MSVCRT.@) */ -unsigned int CDECL _mbctoupper(unsigned int c) +unsigned int CDECL _mbctoupper_l(unsigned int c, _locale_t locale) { - if (_ismbblead(c)) + if (_ismbblead_l(c, locale)) { FIXME("Handle MBC chars\n"); return c; } - return _toupper_l(c, NULL); /* ASCII CP or SB char */ + return _toupper_l(c, locale); /* ASCII CP or SB char */ +} + +/********************************************************************* + * _mbctoupper(MSVCRT.@) + */ +unsigned int CDECL _mbctoupper(unsigned int c) +{ + return _mbctoupper_l(c, NULL); } /********************************************************************* diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 4f72b58b4d7..e1b14ff2a7e 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -709,7 +709,7 @@ @ cdecl _mbctombb(long) # stub _mbctombb_l(long ptr) @ cdecl _mbctoupper(long) -# stub _mbctoupper_l(long ptr) +@ cdecl _mbctoupper_l(long ptr) @ extern _mbctype MSVCRT_mbctype # stub _mblen_l(str long ptr) @ cdecl _mbsbtype(str long) diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index f85309a7b42..c803799f4cd 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -607,7 +607,7 @@ @ cdecl _mbctombb(long) @ stub _mbctombb_l @ cdecl _mbctoupper(long) -@ stub _mbctoupper_l +@ cdecl _mbctoupper_l(long ptr) @ stub _mblen_l @ cdecl _mbsbtype(str long) @ stub _mbsbtype_l
1
0
0
0
Bartosz Kosiorek : msvcrt: Add _mbctolower_l partial implementation.
by Alexandre Julliard
19 Oct '22
19 Oct '22
Module: wine Branch: master Commit: 0998dfe08d169f5f6a387dceafa2c411906567af URL:
https://gitlab.winehq.org/wine/wine/-/commit/0998dfe08d169f5f6a387dceafa2c4…
Author: Bartosz Kosiorek <gang65(a)poczta.onet.pl> Date: Tue Oct 18 18:07:15 2022 +0200 msvcrt: Add _mbctolower_l partial implementation. Wine-Bug:
https://bugs.winehq.org/show_bug.cgi?id=45273
--- dlls/msvcr100/msvcr100.spec | 2 +- dlls/msvcr110/msvcr110.spec | 2 +- dlls/msvcr120/msvcr120.spec | 2 +- dlls/msvcr80/msvcr80.spec | 2 +- dlls/msvcr90/msvcr90.spec | 2 +- dlls/msvcrt/mbcs.c | 16 ++++++++++++---- dlls/msvcrt/msvcrt.spec | 2 +- dlls/ucrtbase/ucrtbase.spec | 2 +- 8 files changed, 19 insertions(+), 11 deletions(-) diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index c0bbbc5b86d..648092da5a4 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -1088,7 +1088,7 @@ @ cdecl _mbctokata(long) @ stub _mbctokata_l @ cdecl _mbctolower(long) -@ stub _mbctolower_l +@ cdecl _mbctolower_l(long ptr) @ cdecl _mbctombb(long) @ stub _mbctombb_l @ cdecl _mbctoupper(long) diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index a272ae98a1c..03d96e91d86 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1445,7 +1445,7 @@ @ cdecl _mbctokata(long) @ stub _mbctokata_l @ cdecl _mbctolower(long) -@ stub _mbctolower_l +@ cdecl _mbctolower_l(long ptr) @ cdecl _mbctombb(long) @ stub _mbctombb_l @ cdecl _mbctoupper(long) diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index d16316e7e05..8eb007f3945 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1456,7 +1456,7 @@ @ cdecl _mbctokata(long) @ stub _mbctokata_l @ cdecl _mbctolower(long) -@ stub _mbctolower_l +@ cdecl _mbctolower_l(long ptr) @ cdecl _mbctombb(long) @ stub _mbctombb_l @ cdecl _mbctoupper(long) diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 371d17ecc21..b0c81808198 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -760,7 +760,7 @@ @ cdecl _mbctokata(long) @ stub _mbctokata_l @ cdecl _mbctolower(long) -@ stub _mbctolower_l +@ cdecl _mbctolower_l(long ptr) @ cdecl _mbctombb(long) @ stub _mbctombb_l @ cdecl _mbctoupper(long) diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index dc9d4ae097b..f0b6e43b33c 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -738,7 +738,7 @@ @ cdecl _mbctokata(long) @ stub _mbctokata_l @ cdecl _mbctolower(long) -@ stub _mbctolower_l +@ cdecl _mbctolower_l(long ptr) @ cdecl _mbctombb(long) @ stub _mbctombb_l @ cdecl _mbctoupper(long) diff --git a/dlls/msvcrt/mbcs.c b/dlls/msvcrt/mbcs.c index dc9abca1b44..3230a9fc084 100644 --- a/dlls/msvcrt/mbcs.c +++ b/dlls/msvcrt/mbcs.c @@ -447,16 +447,24 @@ unsigned int CDECL _mbsnextc(const unsigned char* str) } /********************************************************************* - * _mbctolower(MSVCRT.@) + * _mbctolower_l(MSVCRT.@) */ -unsigned int CDECL _mbctolower(unsigned int c) +unsigned int CDECL _mbctolower_l(unsigned int c, _locale_t locale) { - if (_ismbblead(c)) + if (_ismbblead_l(c, locale)) { FIXME("Handle MBC chars\n"); return c; } - return _tolower_l(c, NULL); /* ASCII CP or SB char */ + return _tolower_l(c, locale); /* ASCII CP or SB char */ +} + +/********************************************************************* + * _mbctolower(MSVCRT.@) + */ +unsigned int CDECL _mbctolower(unsigned int c) +{ + return _mbctolower_l(c, NULL); } /********************************************************************* diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 3aab3600e1d..4f72b58b4d7 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -705,7 +705,7 @@ @ cdecl _mbctokata(long) # stub _mbctokata_l(long ptr) @ cdecl _mbctolower(long) -# stub _mbctolower_l(long ptr) +@ cdecl _mbctolower_l(long ptr) @ cdecl _mbctombb(long) # stub _mbctombb_l(long ptr) @ cdecl _mbctoupper(long) diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index a4acf724d2f..f85309a7b42 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -603,7 +603,7 @@ @ cdecl _mbctokata(long) @ stub _mbctokata_l @ cdecl _mbctolower(long) -@ stub _mbctolower_l +@ cdecl _mbctolower_l(long ptr) @ cdecl _mbctombb(long) @ stub _mbctombb_l @ cdecl _mbctoupper(long)
1
0
0
0
Piotr Caban : comctl32: Add helper for drawing header title and subtitle obtained from HPROPSHEETPAGE.
by Alexandre Julliard
19 Oct '22
19 Oct '22
Module: wine Branch: master Commit: f3d90dbc890244425633e7bdbf8b35052d4e0ec6 URL:
https://gitlab.winehq.org/wine/wine/-/commit/f3d90dbc890244425633e7bdbf8b35…
Author: Piotr Caban <piotr(a)codeweavers.com> Date: Mon Sep 26 16:56:52 2022 +0200 comctl32: Add helper for drawing header title and subtitle obtained from HPROPSHEETPAGE. --- dlls/comctl32/propsheet.c | 53 +++++++++++++++++++++-------------------------- 1 file changed, 24 insertions(+), 29 deletions(-) diff --git a/dlls/comctl32/propsheet.c b/dlls/comctl32/propsheet.c index d713385eec1..e043e34a6cd 100644 --- a/dlls/comctl32/propsheet.c +++ b/dlls/comctl32/propsheet.c @@ -457,6 +457,22 @@ static void HPSP_set_header_subtitle(HPROPSHEETPAGE hpsp, const WCHAR *subtitle) hpsp->psp.dwFlags |= PSP_USEHEADERSUBTITLE; } +static void HPSP_draw_text(HPROPSHEETPAGE hpsp, HDC hdc, BOOL title, RECT *r, UINT format) +{ + const WCHAR *text = title ? hpsp->psp.pszHeaderTitle : hpsp->psp.pszHeaderSubTitle; + WCHAR buf[256]; + INT len; + + if (!IS_INTRESOURCE(text)) + DrawTextW(hdc, text, -1, r, format); + else + { + len = LoadStringW(hpsp->psp.hInstance, (UINT_PTR)text, buf, ARRAY_SIZE(buf)); + if (len != 0) + DrawTextW(hdc, buf, len, r, format); + } +} + #define add_flag(a) if (dwFlags & a) {strcat(string, #a );strcat(string," ");} /****************************************************************************** * PROPSHEET_UnImplementedFlags @@ -3252,8 +3268,7 @@ static LRESULT PROPSHEET_Paint(HWND hwnd, HDC hdcParam) HBRUSH hbr; RECT r, rzone; HPROPSHEETPAGE hpsp; - WCHAR szBuffer[256]; - int nLength; + DWORD flags; hdc = hdcParam ? hdcParam : BeginPaint(hwnd, &ps); if (!hdc) return 1; @@ -3267,13 +3282,13 @@ static LRESULT PROPSHEET_Paint(HWND hwnd, HDC hdcParam) hpsp = NULL; else hpsp = psInfo->proppage[psInfo->active_page].hpage; + flags = HPSP_get_flags(hpsp); - if ( hpsp && !(HPSP_get_flags(hpsp) & PSP_HIDEHEADER) && + if ( hpsp && !(flags & PSP_HIDEHEADER) && (psInfo->ppshheader.dwFlags & (PSH_WIZARD97_OLD | PSH_WIZARD97_NEW)) && (psInfo->ppshheader.dwFlags & PSH_HEADER) ) { HWND hwndLineHeader = GetDlgItem(hwnd, IDC_SUNKEN_LINEHEADER); - LPCPROPSHEETPAGEW ppshpage = &hpsp->psp; HFONT hOldFont; COLORREF clrOld = 0; int oldBkMode = 0; @@ -3341,35 +3356,15 @@ static LRESULT PROPSHEET_Paint(HWND hwnd, HDC hdcParam) clrOld = SetTextColor (hdc, 0x00000000); oldBkMode = SetBkMode (hdc, TRANSPARENT); - if (ppshpage->dwFlags & PSP_USEHEADERTITLE) { + if (flags & PSP_USEHEADERTITLE) { SetRect(&r, 20, 10, 0, 0); - if (!IS_INTRESOURCE(ppshpage->pszHeaderTitle)) - DrawTextW(hdc, ppshpage->pszHeaderTitle, -1, &r, DT_LEFT | DT_SINGLELINE | DT_NOCLIP); - else - { - nLength = LoadStringW(ppshpage->hInstance, (UINT_PTR)ppshpage->pszHeaderTitle, - szBuffer, 256); - if (nLength != 0) - { - DrawTextW(hdc, szBuffer, nLength, &r, DT_LEFT | DT_SINGLELINE | DT_NOCLIP); - } - } + HPSP_draw_text(hpsp, hdc, TRUE, &r, DT_LEFT | DT_SINGLELINE | DT_NOCLIP); } - if (ppshpage->dwFlags & PSP_USEHEADERSUBTITLE) { + if (flags & PSP_USEHEADERSUBTITLE) { SelectObject(hdc, psInfo->hFont); SetRect(&r, 40, 25, rzone.right - 69, rzone.bottom); - if (!IS_INTRESOURCE(ppshpage->pszHeaderSubTitle)) - DrawTextW(hdc, ppshpage->pszHeaderSubTitle, -1, &r, DT_LEFT | DT_WORDBREAK); - else - { - nLength = LoadStringW(ppshpage->hInstance, (UINT_PTR)ppshpage->pszHeaderSubTitle, - szBuffer, 256); - if (nLength != 0) - { - DrawTextW(hdc, szBuffer, nLength, &r, DT_LEFT | DT_WORDBREAK); - } - } + HPSP_draw_text(hpsp, hdc, FALSE, &r, DT_LEFT | DT_WORDBREAK); } offsety = rzone.bottom + 2; @@ -3379,7 +3374,7 @@ static LRESULT PROPSHEET_Paint(HWND hwnd, HDC hdcParam) SelectObject(hdc, hOldFont); } - if ( (HPSP_get_flags(hpsp) & PSP_HIDEHEADER) && + if ( (flags & PSP_HIDEHEADER) && (psInfo->ppshheader.dwFlags & (PSH_WIZARD97_OLD | PSH_WIZARD97_NEW)) && (psInfo->ppshheader.dwFlags & PSH_WATERMARK) ) {
1
0
0
0
Piotr Caban : comctl32: Add helper for setting header subtitle in HPROPSHEETPAGE.
by Alexandre Julliard
19 Oct '22
19 Oct '22
Module: wine Branch: master Commit: 831950882c3b5e7c94f238cd55be25c2e256b7e8 URL:
https://gitlab.winehq.org/wine/wine/-/commit/831950882c3b5e7c94f238cd55be25…
Author: Piotr Caban <piotr(a)codeweavers.com> Date: Mon Sep 26 15:43:35 2022 +0200 comctl32: Add helper for setting header subtitle in HPROPSHEETPAGE. --- dlls/comctl32/propsheet.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/dlls/comctl32/propsheet.c b/dlls/comctl32/propsheet.c index 48b6625c53e..d713385eec1 100644 --- a/dlls/comctl32/propsheet.c +++ b/dlls/comctl32/propsheet.c @@ -448,6 +448,14 @@ static void HPSP_set_header_title(HPROPSHEETPAGE hpsp, const WCHAR *title) hpsp->psp.dwFlags |= PSP_USEHEADERTITLE; } +static void HPSP_set_header_subtitle(HPROPSHEETPAGE hpsp, const WCHAR *subtitle) +{ + if (!IS_INTRESOURCE(hpsp->psp.pszHeaderTitle)) + Free((void *)hpsp->psp.pszHeaderTitle); + + hpsp->psp.pszHeaderTitle = heap_strdupW(subtitle); + hpsp->psp.dwFlags |= PSP_USEHEADERSUBTITLE; +} #define add_flag(a) if (dwFlags & a) {strcat(string, #a );strcat(string," ");} /****************************************************************************** @@ -2534,20 +2542,13 @@ static void PROPSHEET_SetHeaderTitleA(HWND hwndDlg, UINT page_index, const char static void PROPSHEET_SetHeaderSubTitleW(HWND hwndDlg, UINT page_index, const WCHAR *subtitle) { PropSheetInfo *psInfo = GetPropW(hwndDlg, PropSheetInfoStr); - PROPSHEETPAGEW *page; TRACE("(%p, %u, %s)\n", hwndDlg, page_index, debugstr_w(subtitle)); if (page_index >= psInfo->nPages) return; - page = &psInfo->proppage[page_index].hpage->psp; - - if (!IS_INTRESOURCE(page->pszHeaderSubTitle)) - Free((void *)page->pszHeaderSubTitle); - - page->pszHeaderSubTitle = heap_strdupW(subtitle); - page->dwFlags |= PSP_USEHEADERSUBTITLE; + HPSP_set_header_subtitle(psInfo->proppage[page_index].hpage, subtitle); } /******************************************************************************
1
0
0
0
Piotr Caban : comctl32: Add helper for setting header title in HPROPSHEETPAGE.
by Alexandre Julliard
19 Oct '22
19 Oct '22
Module: wine Branch: master Commit: 9f42a50a0d1f81bed3128fa2166e10daea760429 URL:
https://gitlab.winehq.org/wine/wine/-/commit/9f42a50a0d1f81bed3128fa2166e10…
Author: Piotr Caban <piotr(a)codeweavers.com> Date: Mon Sep 26 15:34:20 2022 +0200 comctl32: Add helper for setting header title in HPROPSHEETPAGE. --- dlls/comctl32/propsheet.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/dlls/comctl32/propsheet.c b/dlls/comctl32/propsheet.c index 3f004dfe294..48b6625c53e 100644 --- a/dlls/comctl32/propsheet.c +++ b/dlls/comctl32/propsheet.c @@ -439,6 +439,16 @@ static HWND HPSP_create_page(HPROPSHEETPAGE hpsp, DLGTEMPLATE *template, HWND pa return hwnd; } +static void HPSP_set_header_title(HPROPSHEETPAGE hpsp, const WCHAR *title) +{ + if (!IS_INTRESOURCE(hpsp->psp.pszHeaderTitle)) + Free((void *)hpsp->psp.pszHeaderTitle); + + hpsp->psp.pszHeaderTitle = heap_strdupW(title); + hpsp->psp.dwFlags |= PSP_USEHEADERTITLE; +} + + #define add_flag(a) if (dwFlags & a) {strcat(string, #a );strcat(string," ");} /****************************************************************************** * PROPSHEET_UnImplementedFlags @@ -2495,20 +2505,13 @@ static void PROPSHEET_SetWizButtons(HWND hwndDlg, DWORD dwFlags) static void PROPSHEET_SetHeaderTitleW(HWND hwndDlg, UINT page_index, const WCHAR *title) { PropSheetInfo *psInfo = GetPropW(hwndDlg, PropSheetInfoStr); - PROPSHEETPAGEW *page; TRACE("(%p, %u, %s)\n", hwndDlg, page_index, debugstr_w(title)); if (page_index >= psInfo->nPages) return; - page = &psInfo->proppage[page_index].hpage->psp; - - if (!IS_INTRESOURCE(page->pszHeaderTitle)) - Free((void *)page->pszHeaderTitle); - - page->pszHeaderTitle = heap_strdupW(title); - page->dwFlags |= PSP_USEHEADERTITLE; + HPSP_set_header_title(psInfo->proppage[page_index].hpage, title); } /******************************************************************************
1
0
0
0
Piotr Caban : comctl32: Add helper for getting template from HPROPSHEETPAGE.
by Alexandre Julliard
19 Oct '22
19 Oct '22
Module: wine Branch: master Commit: e270a104239dc1ad30e660ff5f53699a01a057e1 URL:
https://gitlab.winehq.org/wine/wine/-/commit/e270a104239dc1ad30e660ff5f5369…
Author: Piotr Caban <piotr(a)codeweavers.com> Date: Mon Sep 26 14:48:23 2022 +0200 comctl32: Add helper for getting template from HPROPSHEETPAGE. --- dlls/comctl32/propsheet.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/dlls/comctl32/propsheet.c b/dlls/comctl32/propsheet.c index 62374a96ae9..3f004dfe294 100644 --- a/dlls/comctl32/propsheet.c +++ b/dlls/comctl32/propsheet.c @@ -416,6 +416,11 @@ static HICON HPSP_get_icon(HPROPSHEETPAGE hpsp) return ret; } +static LRESULT HPSP_get_template(HPROPSHEETPAGE hpsp) +{ + return (LRESULT)hpsp->psp.u.pszTemplate; +} + static HWND HPSP_create_page(HPROPSHEETPAGE hpsp, DLGTEMPLATE *template, HWND parent) { HWND hwnd; @@ -517,7 +522,7 @@ static INT PROPSHEET_FindPageByResId(const PropSheetInfo * psInfo, LRESULT resId for (i = 0; i < psInfo->nPages; i++) { /* Fixme: if resource ID is a string shall we use strcmp ??? */ - if (psInfo->proppage[i].hpage->psp.u.pszTemplate == (LPVOID)resId) + if (HPSP_get_template(psInfo->proppage[i].hpage) == resId) break; } @@ -2624,7 +2629,7 @@ static LRESULT PROPSHEET_IdToIndex(HWND hwndDlg, int iPageId) PropSheetInfo * psInfo = GetPropW(hwndDlg, PropSheetInfoStr); TRACE("(%p, %d)\n", hwndDlg, iPageId); for (index = 0; index < psInfo->nPages; index++) { - if (psInfo->proppage[index].hpage->psp.u.pszTemplate == MAKEINTRESOURCEW(iPageId)) + if (HPSP_get_template(psInfo->proppage[index].hpage) == iPageId) return index; } @@ -2637,17 +2642,20 @@ static LRESULT PROPSHEET_IdToIndex(HWND hwndDlg, int iPageId) static LRESULT PROPSHEET_IndexToId(HWND hwndDlg, int iPageIndex) { PropSheetInfo * psInfo = GetPropW(hwndDlg, PropSheetInfoStr); - LPCPROPSHEETPAGEW psp; + HPROPSHEETPAGE hpsp; + LRESULT template; + TRACE("(%p, %d)\n", hwndDlg, iPageIndex); + if (iPageIndex<0 || iPageIndex>=psInfo->nPages) { WARN("%d out of range.\n", iPageIndex); return 0; } - psp = &psInfo->proppage[iPageIndex].hpage->psp; - if (psp->dwFlags & PSP_DLGINDIRECT || !IS_INTRESOURCE(psp->u.pszTemplate)) { + hpsp = psInfo->proppage[iPageIndex].hpage; + template = HPSP_get_template(hpsp); + if (HPSP_get_flags(hpsp) & PSP_DLGINDIRECT || !IS_INTRESOURCE(template)) return 0; - } - return (LRESULT)psp->u.pszTemplate; + return template; } /******************************************************************************
1
0
0
0
Piotr Caban : comctl32: Add helper for creating page HWND from HPROPSHEETPAGE.
by Alexandre Julliard
19 Oct '22
19 Oct '22
Module: wine Branch: master Commit: a3b1a9cf6725e5afd69e4f88ae90b2b486ecb59d URL:
https://gitlab.winehq.org/wine/wine/-/commit/a3b1a9cf6725e5afd69e4f88ae90b2…
Author: Piotr Caban <piotr(a)codeweavers.com> Date: Mon Sep 26 12:36:53 2022 +0200 comctl32: Add helper for creating page HWND from HPROPSHEETPAGE. --- dlls/comctl32/propsheet.c | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/dlls/comctl32/propsheet.c b/dlls/comctl32/propsheet.c index a6c1df11d63..62374a96ae9 100644 --- a/dlls/comctl32/propsheet.c +++ b/dlls/comctl32/propsheet.c @@ -416,6 +416,24 @@ static HICON HPSP_get_icon(HPROPSHEETPAGE hpsp) return ret; } +static HWND HPSP_create_page(HPROPSHEETPAGE hpsp, DLGTEMPLATE *template, HWND parent) +{ + HWND hwnd; + + if(hpsp->psp.dwFlags & PSP_INTERNAL_UNICODE) + { + hwnd = CreateDialogIndirectParamW(hpsp->psp.hInstance, template, + parent, hpsp->psp.pfnDlgProc, (LPARAM)&hpsp->psp); + } + else + { + hwnd = CreateDialogIndirectParamA(hpsp->psp.hInstance, template, + parent, hpsp->psp.pfnDlgProc, (LPARAM)&hpsp->psp); + } + + return hwnd; +} + #define add_flag(a) if (dwFlags & a) {strcat(string, #a );strcat(string," ");} /****************************************************************************** * PROPSHEET_UnImplementedFlags @@ -1429,19 +1447,7 @@ static BOOL PROPSHEET_CreatePage(HWND hwndParent, } HPSP_call_callback(hpsp, PSPCB_CREATE); - - if(HPSP_get_flags(hpsp) & PSP_INTERNAL_UNICODE) - hwndPage = CreateDialogIndirectParamW(hpsp->psp.hInstance, - pTemplateCopy, - hwndParent, - hpsp->psp.pfnDlgProc, - (LPARAM)&hpsp->psp); - else - hwndPage = CreateDialogIndirectParamA(hpsp->psp.hInstance, - pTemplateCopy, - hwndParent, - hpsp->psp.pfnDlgProc, - (LPARAM)&hpsp->psp); + hwndPage = HPSP_create_page(hpsp, pTemplateCopy, hwndParent); /* Free a no more needed copy */ Free(pTemplateCopy);
1
0
0
0
← Newer
1
...
25
26
27
28
29
30
31
...
54
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
Results per page:
10
25
50
100
200