Patches for several bugs

Sander van Leeuwen sandervl at xs4all.nl
Wed Dec 26 05:29:45 CST 2001


Hi,

Here are the bug fixes I promised. There are more, but I can post those at a later time.

- controls\button.c
   CB_Paint, line 806

    hBrush = SendMessageW( GetParent(hwnd), WM_CTLCOLORSTATIC, hDC, (LPARAM)hwnd );
    if (!hBrush) /* did the app forget to call defwindowproc ? */
        hBrush = DefWindowProcW( GetParent(hwnd), WM_CTLCOLORSTATIC, hDC, (LPARAM)hwnd );

   -> (Auto)Check, (Auto)Radio & (Auto)3State buttons send WM_CTLCOLORSTATIC instead of WM_CTLCOLORBTN (verified in NT4)
       (fixes opening dialog buttons in Opera 6 (choose interface))


- dll\user32\text.c
  TEXT_GrayString, line 499
    if(!hdc) {
        DeleteDC(memdc);
        return FALSE;
    }
    -> DC leak


- COMCTL32: Comboex, rebar, tooltips, toolbar:  NEVER delete the font object received by WM_SETFONT
   -> See attached diff files for comboex, rebar & toolbar. Our tooltips has too many differences for diff to produce usable output,
        but the changes are similar to the other three.


- COMCTL32: Tooltips: wrong COMCTL32_Free calls
   -> 4 calls with wrong pointer: COMCTL32_Free(&lpttsi);
        should be COMCTL32_Free(lpttsi);


- user32: frame tracking
     * - Only draw changed track frame instead of clearing the old one and
     *   drawing the new one (less flickering)
     * - Send WM_MOVING when moving a window
     * - Send WM_SIZING only when sizing a window 
     * - Fixed handling of rectangles changed by WM_SIZING/MOVING
   -> Can't easily produce diff file. Too many changes. (check src\user32\wintrack.cpp in our CVS tree)


- USER32: groupbox redrawing fixes
   -> I am not 100% sure the same happens in Wine, but it looks like that.
       When an application changes the font or the text of a groupbox (smaller font or fewer characters), then
       the old text has to be erase properly or else you'll still see part of it.
       If I remember correctly, that could be seen in Opera 5.12 (property dialogs)
   -> Again, too many changes to produce a diff file. (check src\user32\button.cpp, BUTTON_SetText & BUTTON_SetFont)


- USER32: static control
   -> our version supports more styles (SS_CENTERIMAGE, SS_REALSIZEIMAGE) and features (SS_ENHMETAFILE)
    (src\user32\static.cpp)


Sander


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/octet-stream
Size: 1067 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20011226/870d10ff/attachment.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/octet-stream
Size: 1039 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20011226/870d10ff/attachment-0001.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/octet-stream
Size: 986 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20011226/870d10ff/attachment-0002.obj


More information about the wine-devel mailing list