we must store the to be focused window before we kill focus on a window

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2014-09-23 17:43:30 +00:00
parent 83c0fca8da
commit f7beec1025

View File

@@ -68,6 +68,9 @@
static wxWindowX11* g_captureWindow = NULL;
static GC g_eraseGC;
// the window that is about to be focused after curretnly focused
// one looses focus:
static wxWindow* gs_toBeFocusedWindow = NULL;
// ----------------------------------------------------------------------------
// macros
@@ -397,7 +400,11 @@ void wxWindowX11::SetFocus()
return; // nothing to do, focused already
if ( focusedWindow )
{
gs_toBeFocusedWindow = (wxWindow*)this;
focusedWindow->KillFocus();
gs_toBeFocusedWindow = NULL;
}
#if 0
if (GetName() == "scrollBar")
@@ -445,6 +452,7 @@ void wxWindowX11::KillFocus()
wxFocusEvent event(wxEVT_KILL_FOCUS, GetId());
event.SetEventObject(this);
event.SetWindow(gs_toBeFocusedWindow);
HandleWindowEvent(event);
}