X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbcwindowbase.C;h=621c560acb4b5363df11985e77aca1a13a934847;hp=7de7c15d2d13573043729aa9d01dcf9c7d69ead9;hb=a19a685a46ddc630010788707d9e5b9d2342af46;hpb=a4387a272874bd4ed9f010684976f336fa3d0190 diff --git a/cinelerra-5.1/guicast/bcwindowbase.C b/cinelerra-5.1/guicast/bcwindowbase.C index 7de7c15d..621c560a 100644 --- a/cinelerra-5.1/guicast/bcwindowbase.C +++ b/cinelerra-5.1/guicast/bcwindowbase.C @@ -1357,7 +1357,7 @@ locking_message = event->xclient.message_type; cursor_entered = 1; } if( cursor_entered ) - XSetInputFocus(display, win, RevertToParent, CurrentTime); + focus(); } event_win = event->xany.window; cursor_x = event->xcrossing.x; @@ -4577,3 +4577,11 @@ void BC_WindowBase::flicker(int n, int ms) set_opaque(); } +void BC_WindowBase::focus() +{ + XWindowAttributes xwa; + XGetWindowAttributes(top_level->display, top_level->win, &xwa); + if( xwa.map_state == IsViewable ) + XSetInputFocus(top_level->display, top_level->win, RevertToParent, CurrentTime); +} +