Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS Tech Support » Bug in CExtPopupColorMenuWnd::_DoPaint Collapse All
Subject Author Date
Darlene Gariepy Oct 14, 2014 - 10:36 AM

A bug in CExtPopupColorMenuWnd::_DoPaint prevents a colour defined as 32-bit from being drawn properly in the popup window. The bug was found in Prof 2.9.2, but I have looked at the source code for 3.0.1 and it appears to still be an issue.


The following is the fix (around line 21812 of ExtPopupMenuWnd.cpp v3.0.1):


This:


        _ppbd.m_bHelperColorCellButton = true;

        PmBridge_GetPM()->PaintPushButton( dc, _ppbd );

        rcItem.DeflateRect( _sizeColorItemSpaces.cx, _sizeColorItemSpaces.cy );

        dc.FillSolidRect( &rcItem, _GetColorValue( nIdx ) );

        dc.Draw3dRect( &rcItem, clrColorBorder,clrColorBorder );


Should be changed to this:


        _ppbd.m_bHelperColorCellButton = true;

        PmBridge_GetPM()->PaintPushButton( dc, _ppbd );

        rcItem.DeflateRect( _sizeColorItemSpaces.cx, _sizeColorItemSpaces.cy );

        const COLORREF fillColour = _GetColorValue(nIdx) & ~0xFF000000;

        dc.FillSolidRect( &rcItem, fillColour );

        dc.Draw3dRect( &rcItem, clrColorBorder,clrColorBorder );

Art Wilkes Oct 15, 2014 - 9:35 AM


This change has been verified and will appear in release 3.030.
Prof-UIS Support.