ensure client is actually stacked below the above-client when raising

This commit is contained in:
Mike Blumenkrantz 2014-05-29 12:19:43 -04:00
parent 7440513af0
commit b4e4214e5c
1 changed files with 3 additions and 2 deletions

View File

@ -1161,11 +1161,12 @@ _e_comp_intercept_raise(void *data, Evas_Object *obj)
return;
}
if (!EINA_INLIST_GET(cw->ec)->next) return;//already highest on layer
o = evas_object_above_get(obj);
{
E_Client *ecabove = e_client_above_get(cw->ec);
if (ecabove && (ecabove->frame == cw->comp->layers[cw->layer].obj)) return; //highest below marker
if (ecabove && (ecabove->frame == cw->comp->layers[cw->layer].obj) &&
(ecabove->frame == o)) return; //highest below marker
}
o = evas_object_above_get(obj);
if (evas_object_layer_get(o) != evas_object_layer_get(obj)) return; //already at top!
if (obj == cw->comp->layers[cw->layer].obj) //never raise a non-layer marker!
{