fix tbn_deletingbutton

Dmitry Timoshkov dmitry at baikal.ru
Sun Oct 17 07:55:42 CDT 2004


"Thorsten Kani" <beebix at gmx.net> wrote:

> I'm a bit unsure about my solution, but actually everything works.
> -complaints appreciated-
> --- toolbar.c 23 Sep 2004 22:51:14 -0000 1.194
> +++ toolbar.c 10 Oct 2004 17:29:01 -0000
> @@ -3191,12 +3191,20 @@
>      TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd);
>      INT nIndex = (INT)wParam;
>      NMTOOLBARW nmtb;
> +    WCHAR Buffer[256];
>  
>      if ((nIndex < 0) || (nIndex >= infoPtr->nNumButtons))
>   return FALSE;
>  
>      memset(&nmtb, 0, sizeof(nmtb));
>      nmtb.iItem = nIndex;
> +    memcpy(&nmtb.tbButton, &infoPtr->buttons[nIndex], sizeof(nmtb.tbButton) );
> +    nmtb.cchText = 256;
> +    nmtb.pszText = Buffer;
> +#if (_WIN32_IE >= 0x500)   
> +    nmtb.rcButton =(RECT)infoPtr->buttons[nIndex].rect;
> +#endif
> +
>      TOOLBAR_SendNotify((NMHDR *)&nmtb, infoPtr, TBN_DELETINGBUTTON);

1. do not use _WIN32_IE version checks in Wine code, they have no sense
2. there is no point in setting a pointer to a not initialized buffer
3. there is no need to cast RECT to a RECT

-- 
Dmitry.




More information about the wine-devel mailing list