ecore_evas/wayland_egl: Unset the surface on window hide.

We must unset it, so the Evas engine knows that it has to do all the
setup to destroy the EGL surfaces associated with it. And in the case of
an ecore_evas_show, recreate everything again.
This commit is contained in:
Rafael Antognolli 2013-12-02 17:42:37 -02:00
parent ff5533b4e1
commit 77a4654470
1 changed files with 7 additions and 8 deletions

View File

@ -285,7 +285,7 @@ _ecore_evas_wl_rotation_set(Ecore_Evas *ee, int rotation, int resize)
static void
_ecore_evas_wl_show(Ecore_Evas *ee)
{
/* Evas_Engine_Info_Wayland_Egl *einfo; */
Evas_Engine_Info_Wayland_Egl *einfo;
Ecore_Evas_Engine_Wl_Data *wdata;
int fw, fh;
@ -300,14 +300,13 @@ _ecore_evas_wl_show(Ecore_Evas *ee)
{
ecore_wl_window_show(wdata->win);
ecore_wl_window_update_size(wdata->win, ee->w + fw, ee->h + fh);
// ecore_wl_window_buffer_attach(wdata->win, NULL, 0, 0);
/* einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas); */
/* if (einfo) */
/* { */
/* einfo->info.surface = ecore_wl_window_surface_get(wdata->win); */
/* evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); */
/* } */
einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas);
if (einfo)
{
einfo->info.surface = ecore_wl_window_surface_get(wdata->win);
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
}
}
if (wdata->frame)