user32: Add check for the need to redraw static control after STM_SETIMAGE and STM_SETICON

Ilya Shpigor shpigor at etersoft.ru
Mon Sep 28 01:51:12 CDT 2009


On Saturday 26 September 2009 12:09:30 Nikolay Sivov wrote:

> ---
> + if ((style & SS_TYPEMASK) != SS_ICON) return (HICON)-1;
> ...
> + if ((style & SS_TYPEMASK) != SS_BITMAP) return (HBITMAP)-1;
> ...
> + if ((style & SS_TYPEMASK) != SS_ENHMETAFILE) return (HENHMETAFILE)-1;
> ---
>
> Add tests for that please (MSDN tells about 0 return value on error).

Yes, MSDN tells about 0. The -1 value is used for detecting the errors inside 
Wine and blocking the static controls redrawing. Then the 0 value is returned 
to application:

-        STATIC_TryPaintFcn( hwnd, full_style );
+        if (lResult != -1)
+            STATIC_TryPaintFcn( hwnd, full_style );
+        else
+            lResult = 0;

Tests for checking STM_SETIMAGE and STM_SETICON messages processing had been 
sent above:

[TRY 3] user32/tests: Add tests for STM_SETIMAGE and STM_SETICON message 
processing

Is there a better way to block this redrawing?

-- 
Best regards,
Ilya Shpigor.



More information about the wine-devel mailing list