[PATCH] msvcrt: Pass wide char caption string to MessageBoxIndirectW.

Nikolay Sivov bunglehead at gmail.com
Thu Dec 22 15:30:20 CST 2016


On Thu, 22 Dec 2016 14:20:26 -0700
Alex Henrie <alexhenrie24 at gmail.com> wrote:

> Cc: Piotr Caban <piotr at codeweavers.com>
> 
> Fixes https://bugs.winehq.org/show_bug.cgi?id=42057
> 
> I figured this would be a good time to get rid of the misleading
> Hungarian notation and move the string into the single function that
> uses it.
> 
> Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
> ---
>  dlls/msvcrt/exit.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/dlls/msvcrt/exit.c b/dlls/msvcrt/exit.c
> index 9ba0891806..3bfcd15967 100644
> --- a/dlls/msvcrt/exit.c
> +++ b/dlls/msvcrt/exit.c
> @@ -41,8 +41,6 @@ typedef struct MSVCRT__onexit_table_t
>      MSVCRT__onexit_t *_end;
>  } MSVCRT__onexit_table_t;
>  
> -static const char szMsgBoxTitle[] = "Wine C++ Runtime Library";
> -
>  extern int MSVCRT_app_type;
>  extern MSVCRT_wchar_t *MSVCRT__wpgmptr;
>  
> @@ -116,6 +114,8 @@ static void DoMessageBoxW(const MSVCRT_wchar_t *lead, const MSVCRT_wchar_t *mess
>      '%','s','\n','\n','P','r','e','s','s',' ','O','K',' ','t','o',' ','e','x','i','t',' ','t','h','e',' ',
>      'p','r','o','g','r','a','m',',',' ','o','r',' ','C','a','n','c','e','l',' ','t','o',' ','s','t','a','r','t',' ',
>      't','h','e',' ','W','i','n','e',' ','d','e','b','b','u','g','e','r','.','\n',0};
> +  static const MSVCRT_wchar_t title[] =
> +    {'W','i','n','e',' ','C','+','+',' ','R','u','n','t','i','m','e',' ','L','i','b','r','a','r','y',0};

I think this should be WCHAR, because it will be used with regular API.

>  
>    MSGBOXPARAMSW msgbox;
>    MSVCRT_wchar_t text[2048];
> @@ -127,7 +127,7 @@ static void DoMessageBoxW(const MSVCRT_wchar_t *lead, const MSVCRT_wchar_t *mess
>    msgbox.hwndOwner = GetActiveWindow();
>    msgbox.hInstance = 0;
>    msgbox.lpszText = (LPCWSTR)text;
> -  msgbox.lpszCaption = (LPCWSTR)szMsgBoxTitle;
> +  msgbox.lpszCaption = (LPCWSTR)title;

Looks like these two casts could be removed.

>    msgbox.dwStyle = MB_OKCANCEL|MB_ICONERROR;
>    msgbox.lpszIcon = NULL;
>    msgbox.dwContextHelpId = 0;




More information about the wine-devel mailing list