don't execute code unnecessarily/twice (patch 1539690)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40609 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-08-14 22:34:34 +00:00
parent 648af63a53
commit 37f11dee39

View File

@@ -287,17 +287,18 @@ LRESULT APIENTRY _EXPORT wxTextCtrlWndProc(HWND hWnd,
WPARAM wParam, WPARAM wParam,
LPARAM lParam) LPARAM lParam)
{ {
wxWindow *win = wxFindWinFromHandle((WXHWND)hWnd);
switch ( message ) switch ( message )
{ {
case WM_CUT: case WM_CUT:
case WM_COPY: case WM_COPY:
case WM_PASTE: case WM_PASTE:
{
wxWindow *win = wxFindWinFromHandle((WXHWND)hWnd);
if( win->HandleClipboardEvent( message ) ) if( win->HandleClipboardEvent( message ) )
return 0; return 0;
break; break;
} }
}
return ::CallWindowProc(CASTWNDPROC gs_wndprocEdit, hWnd, message, wParam, lParam); return ::CallWindowProc(CASTWNDPROC gs_wndprocEdit, hWnd, message, wParam, lParam);
} }
@@ -1230,7 +1231,8 @@ void wxTextCtrl::SetInsertionPointEnd()
// if it doesn't actually move the caret anywhere and so the simple fact of // if it doesn't actually move the caret anywhere and so the simple fact of
// doing it results in horrible flicker when appending big amounts of text // doing it results in horrible flicker when appending big amounts of text
// to the control in a few chunks (see DoAddText() test in the text sample) // to the control in a few chunks (see DoAddText() test in the text sample)
if ( GetInsertionPoint() == GetLastPosition() ) const wxTextPos lastPosition = GetLastPosition();
if ( GetInsertionPoint() == lastPosition )
{ {
return; return;
} }
@@ -1246,7 +1248,7 @@ void wxTextCtrl::SetInsertionPointEnd()
else // !RichEdit 1.0 else // !RichEdit 1.0
#endif // wxUSE_RICHEDIT #endif // wxUSE_RICHEDIT
{ {
pos = GetLastPosition(); pos = lastPosition;
} }
SetInsertionPoint(pos); SetInsertionPoint(pos);