set focus_hilite when switching desktops and hjilitin a window which isnt focused yet

This commit is contained in:
Dana Jansens 2003-10-08 18:28:51 +00:00
parent fe3e73f190
commit 735ee93689

View file

@ -418,7 +418,6 @@ void screen_set_desktop(guint num)
{ {
GList *it; GList *it;
guint old; guint old;
ObClient *target;
g_assert(num < screen_num_desktops); g_assert(num < screen_num_desktops);
@ -458,17 +457,17 @@ void screen_set_desktop(guint num)
event_ignore_queued_enters(); event_ignore_queued_enters();
target = focus_fallback_target(OB_FOCUS_FALLBACK_NOFOCUS); focus_hilite = focus_fallback_target(OB_FOCUS_FALLBACK_NOFOCUS);
if (target) { if (focus_hilite) {
frame_adjust_focus(target->frame, TRUE); frame_adjust_focus(focus_hilite->frame, TRUE);
/*! /*!
When this focus_client check is not used, you can end up with races, When this focus_client check is not used, you can end up with races,
as demonstrated with gnome-panel, sometmies the window you click on as demonstrated with gnome-panel, sometmies the window you click on
another desktop ends up losing focus cuz of the focus change here. another desktop ends up losing focus cuz of the focus change here.
*/ */
if (!focus_client) /*if (!focus_client)*/
client_focus(target); client_focus(focus_hilite);
} }
} }