TOOLBAR_DrawString: catch index== -1 (but not yet handled).

diff --git a/dlls/comctl32/toolbar.c b/dlls/comctl32/toolbar.c
index 806d8b3..27dcd25 100644
--- a/dlls/comctl32/toolbar.c
+++ b/dlls/comctl32/toolbar.c
@@ -79,13 +79,15 @@
     COLORREF clrOld;
     LPWSTR lpText = NULL;
 
-    TRACE ("iString: %lx\n", btnPtr->iString);
+    TRACE ("iString: %x\n", btnPtr->iString);
 
     /* get a pointer to the text */
-    if (HIWORD(btnPtr->iString) != 0)
-	lpText = (LPWSTR)btnPtr->iString;
+    if (btnPtr->iString == -1)
+        FIXME("Undocumented Index -1\n");
+    else if (HIWORD(btnPtr->iString) != 0)
+        lpText = (LPWSTR)btnPtr->iString;
     else if ((btnPtr->iString >= 0) && (btnPtr->iString < infoPtr->nNumStrings))
-	lpText = infoPtr->strings[btnPtr->iString];
+        lpText = infoPtr->strings[btnPtr->iString];
 
     TRACE ("lpText: \"%s\"\n", debugstr_w(lpText));
 
@@ -1527,7 +1529,7 @@
     btnPtr = &infoPtr->buttons[nIndex];
     btnPtr->iBitmap = LOWORD(lParam);
 
-    RedrawWindow(hwnd,&btnPtr->rect,NULL,RDW_ERASE|RDW_INVALIDATE);
+    RedrawWindow(hwnd,&btnPtr->rect,0,RDW_ERASE|RDW_INVALIDATE);
 
     return TRUE;
 }
@@ -1570,9 +1572,9 @@
     if( bChecked != LOWORD(lParam) )
     {
 	if (nOldIndex != -1)
-            RedrawWindow(hwnd,&infoPtr->buttons[nOldIndex].rect,NULL,
+            RedrawWindow(hwnd,&infoPtr->buttons[nOldIndex].rect,(HRGN)NULL,
             RDW_ERASE|RDW_INVALIDATE);
-        RedrawWindow(hwnd,&btnPtr->rect,NULL,RDW_ERASE|RDW_INVALIDATE|RDW_UPDATENOW);
+        RedrawWindow(hwnd,&btnPtr->rect,0,RDW_ERASE|RDW_INVALIDATE|RDW_UPDATENOW);
     }
 
     /* FIXME: Send a WM_NOTIFY?? */
@@ -1710,7 +1712,7 @@
 
     /* redraw the button only if the state of the button changed */
     if(bState != (btnPtr->fsState & TBSTATE_ENABLED)) {	
-            RedrawWindow(hwnd,&btnPtr->rect,NULL,RDW_ERASE|RDW_INVALIDATE|RDW_UPDATENOW);
+            RedrawWindow(hwnd,&btnPtr->rect,0,RDW_ERASE|RDW_INVALIDATE|RDW_UPDATENOW);
     }
 
     return TRUE;
@@ -2200,7 +2202,7 @@
     else
 	btnPtr->fsState |= TBSTATE_INDETERMINATE;
 
-    RedrawWindow(hwnd,&btnPtr->rect,NULL,
+    RedrawWindow(hwnd,&btnPtr->rect,0,
                  RDW_ERASE|RDW_INVALIDATE|RDW_UPDATENOW);
 
     return TRUE;
@@ -2467,7 +2469,7 @@
     else
 	btnPtr->fsState |= TBSTATE_PRESSED;
 
-    RedrawWindow(hwnd,&btnPtr->rect,NULL,
+    RedrawWindow(hwnd,&btnPtr->rect,0,
                  RDW_ERASE|RDW_INVALIDATE|RDW_UPDATENOW);
 
     return TRUE;
@@ -2928,7 +2930,7 @@
     btnPtr = &infoPtr->buttons[nIndex];
     btnPtr->fsState = LOWORD(lParam);
 
-    RedrawWindow(hwnd,&btnPtr->rect,NULL,
+    RedrawWindow(hwnd,&btnPtr->rect,0,
                  RDW_ERASE|RDW_INVALIDATE|RDW_UPDATENOW);
 
     return TRUE;
@@ -2949,7 +2951,7 @@
     btnPtr = &infoPtr->buttons[nIndex];
     btnPtr->fsStyle = LOWORD(lParam);
 
-    RedrawWindow(hwnd,&btnPtr->rect,NULL,
+    RedrawWindow(hwnd,&btnPtr->rect,0,
                  RDW_ERASE|RDW_INVALIDATE|RDW_UPDATENOW);
 
     if (infoPtr->hwndToolTip) {
@@ -3143,7 +3145,7 @@
 
 	btnPtr->fsState |= TBSTATE_PRESSED;
 
-        RedrawWindow(hwnd,&btnPtr->rect,NULL,
+        RedrawWindow(hwnd,&btnPtr->rect,0,
                      RDW_ERASE|RDW_INVALIDATE|RDW_UPDATENOW);
     }
     else if (GetWindowLongA (hwnd, GWL_STYLE) & CCS_ADJUSTABLE)
@@ -3195,7 +3197,7 @@
 	btnPtr->fsState |= TBSTATE_PRESSED;
         btnPtr->bHot = FALSE;
 
-        RedrawWindow(hwnd,&btnPtr->rect,NULL,
+        RedrawWindow(hwnd,&btnPtr->rect,0,
                      RDW_ERASE|RDW_INVALIDATE|RDW_UPDATENOW);
     }
 
@@ -3254,9 +3256,9 @@
 	    bSendMessage = FALSE;
 
 	if (nOldIndex != -1)
-            RedrawWindow(hwnd,&infoPtr->buttons[nOldIndex].rect,NULL,
+            RedrawWindow(hwnd,&infoPtr->buttons[nOldIndex].rect,0,
                          RDW_ERASE|RDW_INVALIDATE|RDW_UPDATENOW);
-        RedrawWindow(hwnd,&btnPtr->rect,NULL,
+        RedrawWindow(hwnd,&btnPtr->rect,0,
                      RDW_ERASE|RDW_INVALIDATE|RDW_UPDATENOW);
 
 	if (bSendMessage) {
@@ -3387,7 +3389,7 @@
             /* only enabled buttons show hot effect */            
             if(infoPtr->buttons[nHit].fsState & TBSTATE_ENABLED)
             {
-                RedrawWindow(hwnd,&btnPtr->rect,NULL,
+                RedrawWindow(hwnd,&btnPtr->rect,0,
                          RDW_ERASE|RDW_INVALIDATE|RDW_UPDATENOW);
             }
 	}
@@ -3396,12 +3398,12 @@
 	    btnPtr = &infoPtr->buttons[infoPtr->nButtonDown];
 	    if (infoPtr->nOldHit == infoPtr->nButtonDown) {
 		btnPtr->fsState &= ~TBSTATE_PRESSED;
-                RedrawWindow(hwnd,&btnPtr->rect,NULL,
+                RedrawWindow(hwnd,&btnPtr->rect,0,
                              RDW_ERASE|RDW_INVALIDATE|RDW_UPDATENOW);
 	    }
 	    else if (nHit == infoPtr->nButtonDown) {
 		btnPtr->fsState |= TBSTATE_PRESSED;
-                RedrawWindow(hwnd,&btnPtr->rect,NULL,
+                RedrawWindow(hwnd,&btnPtr->rect,0,
                              RDW_ERASE|RDW_INVALIDATE|RDW_UPDATENOW);
 	    }
 	}