X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient.c;h=78a6681d1ce0efb63b57ce695a30426fb3235f8f;hb=854b2ae68498133f3119ec614b725025af3fd66b;hp=df658ccdb62bde6c184fedf063a8e1c7be1fd30a;hpb=d713bdf4623aa46676f95d1f38618b219ea5d9c9;p=chaz%2Fopenbox diff --git a/openbox/client.c b/openbox/client.c index df658ccd..78a6681d 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -3013,11 +3013,17 @@ gboolean client_focus(ObClient *self) return FALSE; } - ob_debug("Focusing client \"%s\" at time %u\n", self->title, event_curtime); + ob_debug_type(OB_DEBUG_FOCUS, + "Focusing client \"%s\" at time %u\n", + self->title, event_curtime); if (self->can_focus) { + /* This can cause a BadMatch error with CurrentTime, or if an app + passed in a bad time for _NET_WM_ACTIVE_WINDOW. */ + xerror_set_ignore(TRUE); XSetInputFocus(ob_display, self->window, RevertToPointerRoot, event_curtime); + xerror_set_ignore(FALSE); } if (self->focus_notify) { @@ -3341,7 +3347,7 @@ GSList *client_search_all_top_parents(ObClient *self) for (it = self->group->members; it; it = g_slist_next(it)) { ObClient *c = it->data; - if (!c->transient_for) + if (!c->transient_for && client_normal(c)) ret = g_slist_prepend(ret, c); }