[Bug 17886] New: Toolbar flicker (TB_HIDEBUTTON always redraws)

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Mar 29 13:27:14 CDT 2009


           Summary: Toolbar flicker (TB_HIDEBUTTON always redraws)
           Product: Wine
           Version: 1.1.15
          Platform: PC
               URL: http://www.memory-map.co.uk
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: comctl32
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: winehq at aledhughes.co.uk

Created an attachment (id=20190)
 --> (http://bugs.winehq.org/attachment.cgi?id=20190)
Patch to avoid redraw on TB_HIDEBUTTON and state is unchanged

A minor annoyance I found when using the Memory-Map OS navigator program is
that the main toolbar continuously redraws when moving the mouse around a MDI
client. This behaviour is not present when running under Windows, but has been
present since pre V1.0 of WINE.

A Spy++ message trace shows that the application is sending a TB_HIDEBUTTON
message on a mouse move with fShow==TRUE. On WINE this is immediately followed
by a redraw (WM_ERASEBKGND, etc.) but under native Windows this redraw isn't
being requested. Looking at the WINE code for comctl32.dll it seems that in the
TOOLBAR_HideButton function an InvalidateRect() is always been called.

I guess that Windows itself optimises this to avoid repainting when a
visibility state of the button is already set to that requested with
TB_HIDEBUTTON. Doing the same under WINE (patch attached) fixes the flicker.

Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.

More information about the wine-bugs mailing list