static void _e_subsurface_destroy(E_Subsurface *sub);
static void _e_subsurface_commit(E_Subsurface *sub);
static void _e_subsurface_place_below_parent(E_Subsurface *sub);
+static void _e_subsurface_position_update(E_Subsurface *sub);
static void _e_subsurface_cb_destroy(struct wl_listener *listener, void *data);
static void _e_subsurface_cb_cached(struct wl_listener *listener, void *data);
static void _e_subsurface_cb_request_move(struct wl_listener *listener, void *data);
epc,
offscreen_parent);
+ _e_subsurface_position_update(sub);
+
ELOGF("SUBSURFACE", "Create: parent(%p)", surface->ec, epc);
return sub;
E_Client *ec = sub->surface->ec;
int x, y;
- x = sub->base.parent->x + sub->base.position.x;
- y = sub->base.parent->y + sub->base.position.y;
- evas_object_move(ec->frame, x, y);
+ if (e_comp_wl_subsurface_global_coord_get(ec, &x, &y))
+ evas_object_move(ec->frame, x, y);
}
static void