diff --git a/src/univ/themes/gtk.cpp b/src/univ/themes/gtk.cpp index 23f371ec8e..ec6405a78f 100644 --- a/src/univ/themes/gtk.cpp +++ b/src/univ/themes/gtk.cpp @@ -2363,7 +2363,7 @@ bool wxGTKInputHandler::HandleMouse(wxControl *control, const wxMouseEvent& event) { // clicking on the control gives it focus - if ( event.ButtonDown() ) + if ( event.ButtonDown() && wxWindow::FindFocus() != control ) { control->SetFocus(); diff --git a/src/univ/themes/win32.cpp b/src/univ/themes/win32.cpp index 349c3f088e..3f682335bc 100644 --- a/src/univ/themes/win32.cpp +++ b/src/univ/themes/win32.cpp @@ -1,4 +1,3 @@ -/////////////////////////////////////////////////////////////////////////////// // Name: univ/themes/win32.cpp // Purpose: wxUniversal theme implementing Win32-like LNF // Author: Vadim Zeitlin @@ -3056,6 +3055,14 @@ bool wxWin32InputHandler::HandleKey(wxControl *control, bool wxWin32InputHandler::HandleMouse(wxControl *control, const wxMouseEvent& event) { + // clicking on the control gives it focus + if ( event.ButtonDown() && wxWindow::FindFocus() != control ) + { + control->SetFocus(); + + return TRUE; + } + return FALSE; }