Nikolay Sivov : comctl32/toolbar: Use single handler for TB_GETBUTTONTEXTW/ TB_GETBUTTONTEXTA.
Module: wine Branch: master Commit: 7b19d8bba60c8205edeb179ea5853228b4839c43 URL: http://source.winehq.org/git/wine.git/?a=commit;h=7b19d8bba60c8205edeb179ea5... Author: Nikolay Sivov <bunglehead(a)gmail.com> Date: Sun Nov 8 06:23:52 2009 +0300 comctl32/toolbar: Use single handler for TB_GETBUTTONTEXTW/TB_GETBUTTONTEXTA. --- dlls/comctl32/toolbar.c | 39 ++++++++++++--------------------------- 1 files changed, 12 insertions(+), 27 deletions(-) diff --git a/dlls/comctl32/toolbar.c b/dlls/comctl32/toolbar.c index fd30c27..f7175a9 100644 --- a/dlls/comctl32/toolbar.c +++ b/dlls/comctl32/toolbar.c @@ -3395,24 +3395,7 @@ TOOLBAR_GetButtonSize (const TOOLBAR_INFO *infoPtr) static LRESULT -TOOLBAR_GetButtonTextA (const TOOLBAR_INFO *infoPtr, INT Id, LPSTR lpText) -{ - INT nIndex; - LPWSTR lpTextW; - - nIndex = TOOLBAR_GetButtonIndex (infoPtr, Id, FALSE); - if (nIndex == -1) - return -1; - - lpTextW = TOOLBAR_GetText(infoPtr,&infoPtr->buttons[nIndex]); - - return WideCharToMultiByte( CP_ACP, 0, lpTextW, -1, - lpText, lpText ? 0x7fffffff : 0, NULL, NULL ) - 1; -} - - -static LRESULT -TOOLBAR_GetButtonTextW (const TOOLBAR_INFO *infoPtr, INT Id, LPWSTR lpStr) +TOOLBAR_GetButtonText (const TOOLBAR_INFO *infoPtr, INT Id, LPWSTR lpStr, BOOL isW) { INT nIndex; LPWSTR lpText; @@ -3424,14 +3407,17 @@ TOOLBAR_GetButtonTextW (const TOOLBAR_INFO *infoPtr, INT Id, LPWSTR lpStr) lpText = TOOLBAR_GetText(infoPtr,&infoPtr->buttons[nIndex]); - if (lpText) + if (isW) { - ret = strlenW (lpText); - - if (lpStr) - strcpyW (lpStr, lpText); + if (lpText) + { + ret = strlenW (lpText); + if (lpStr) strcpyW (lpStr, lpText); + } } - + else + ret = WideCharToMultiByte( CP_ACP, 0, lpText, -1, + (LPSTR)lpStr, lpStr ? 0x7fffffff : 0, NULL, NULL ) - 1; return ret; } @@ -6495,10 +6481,9 @@ ToolbarWindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) return TOOLBAR_GetButtonSize (infoPtr); case TB_GETBUTTONTEXTA: - return TOOLBAR_GetButtonTextA (infoPtr, wParam, (LPSTR)lParam); - case TB_GETBUTTONTEXTW: - return TOOLBAR_GetButtonTextW (infoPtr, wParam, (LPWSTR)lParam); + return TOOLBAR_GetButtonText (infoPtr, wParam, (LPWSTR)lParam, + uMsg == TB_GETBUTTONTEXTW); case TB_GETDISABLEDIMAGELIST: return TOOLBAR_GetDisabledImageList (infoPtr, wParam);
participants (1)
-
Alexandre Julliard