don't use our custom WM_PAINT handler with composited window as this results in an endless repaint loop (#9666); also don't even define HandlePaint() under CE as it's never used there

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2008-08-02 22:34:37 +00:00
parent 75e8e6dc29
commit 1c2b921a1c
2 changed files with 8 additions and 4 deletions

View File

@ -116,7 +116,9 @@ protected:
// handlers for various events
bool HandleSize(WXWPARAM wParam, WXLPARAM lParam);
#ifndef __WXWINCE__
bool HandlePaint(WXWPARAM wParam, WXLPARAM lParam);
#endif // __WXWINCE__
void HandleMouseMove(WXWPARAM wParam, WXLPARAM lParam);
// should be called whenever the toolbar size changes

View File

@ -1859,12 +1859,14 @@ WXLRESULT wxToolBar::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam
#ifndef __WXWINCE__
case WM_PAINT:
if ( HandlePaint(wParam, lParam) )
// refreshing the controls in the toolbar inside a composite window
// results in an endless stream of WM_PAINT messages -- and seems
// to be unnecessary anyhow as everything works just fine without
// any special workarounds in this case
if ( !IsDoubleBuffered() && HandlePaint(wParam, lParam) )
return 0;
#endif
default:
break;
#endif // __WXWINCE__
}
return wxControl::MSWWindowProc(nMsg, wParam, lParam);