- Redraw immediately upon PBM_SETPOS, PBM_DELTAPOS, PBM_STEPIT.
- New tests.

diff --git a/dlls/comctl32/progress.c b/dlls/comctl32/progress.c
index b2ee1ce..a6e20e5 100644
--- a/dlls/comctl32/progress.c
+++ b/dlls/comctl32/progress.c
@@ -513,6 +513,7 @@
         }
 
         InvalidateRect(infoPtr->Self, &rect, FALSE);
+        UpdateWindow(infoPtr->Self);
     }
     return 0;
 }
@@ -660,6 +661,7 @@
 	    PROGRESS_CoercePos (infoPtr);
 	    TRACE("PBM_DELTAPOS: current pos changed from %d to %d\n", oldVal, infoPtr->CurVal);
             PROGRESS_Invalidate( infoPtr, oldVal, infoPtr->CurVal );
+            UpdateWindow( infoPtr->Self );
         }
         return oldVal;
     }
@@ -673,6 +675,7 @@
 	    PROGRESS_CoercePos(infoPtr);
 	    TRACE("PBM_SETPOS: current pos changed from %d to %d\n", oldVal, infoPtr->CurVal);
             PROGRESS_Invalidate( infoPtr, oldVal, infoPtr->CurVal );
+            UpdateWindow( infoPtr->Self );
         }
         return oldVal;
     }
@@ -699,6 +702,7 @@
 	{
 	    TRACE("PBM_STEPIT: current pos changed from %d to %d\n", oldVal, infoPtr->CurVal);
             PROGRESS_Invalidate( infoPtr, oldVal, infoPtr->CurVal );
+            UpdateWindow( infoPtr->Self );
 	}
         return oldVal;
     }