Some programs (e.g. Graphmatica 2.0f) forget to initialize the iString
field for separators in toolbars. Windows copes with this smoothly,
ignoring the field altogether. Do the same in Wine.
---
 dlls/comctl32/toolbar.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/dlls/comctl32/toolbar.c b/dlls/comctl32/toolbar.c
index c3add77..83098cc 100644
--- a/dlls/comctl32/toolbar.c
+++ b/dlls/comctl32/toolbar.c
@@ -1841,7 +1841,9 @@ TOOLBAR_InternalInsertButtonsT(TOOLBAR_INFO *infoPtr, INT 
iIndex, UINT nAddButto
         btnPtr->fsState   = lpTbb[iButton].fsState;
         btnPtr->fsStyle   = lpTbb[iButton].fsStyle;
         btnPtr->dwData    = lpTbb[iButton].dwData;
-        if(HIWORD(lpTbb[iButton].iString) && lpTbb[iButton].iString != -1)
+        if(btnPtr->fsStyle & BTNS_SEP)
+            btnPtr->iString = -1;
+        else if(HIWORD(lpTbb[iButton].iString) && lpTbb[iButton].iString != -1)
         {
             if (fUnicode)
                 Str_SetPtrW((LPWSTR*)&btnPtr->iString, 
(LPWSTR)lpTbb[iButton].iString );
-- 
1.6.2.254.g84bde



Reply via email to