spix = calloc(w * h, sizeof(unsigned char));
if (spix)
{
- DBG("SHAPE [0x%x] rects %i\n", num);
+ DBG("SHAPE [0x%x] rects %i\n", cw->win, num);
for (i = 0; i < num; i++)
{
int rx, ry, rw, rh;
evas_object_image_native_surface_set(cw->obj, NULL);
cw->native = 0;
}
- ecore_x_pixmap_free(cw->pixmap);
+ if (cw->pixmap) ecore_x_pixmap_free(cw->pixmap);
cw->pixmap = 0;
cw->pw = 0;
cw->ph = 0;
ns.data.x11.visual = cw->vis;
ns.data.x11.pixmap = cw->pixmap;
evas_object_image_native_surface_set(cw->obj, &ns);
+ DBG("NATIVE [0x%x] %x %ix%i\n", cw->win, cw->pixmap, cw->pw, cw->ph);
+ cw->native = 1;
}
r = e_mod_comp_update_rects_get(cw->up);
if (r)
{
int x, y, w, h;
- cw->native = 1;
x = r[i].x; y = r[i].y;
w = r[i].w; h = r[i].h;
DBG("UPDATE [0x%x] %i %i %ix%i\n", cw->win, x, y, w, h);
evas_object_image_native_surface_set(cw->obj, NULL);
cw->native = 0;
}
- if (cw->pixmap)
- {
- ecore_x_pixmap_free(cw->pixmap);
- cw->pixmap = 0;
- }
evas_object_hide(cw->obj);
if (cw->shobj)
{
{
ecore_x_pixmap_free(cw->pixmap);
cw->pixmap = 0;
+ cw->native = 0;
cw->pw = 0;
cw->ph = 0;
}
DBG(" [0x%x] rsz %4ix%4i\n", cw->win, w, h);
if (cw->pixmap)
{
+ DBG(" [0x%x] free pm %x\n", cw->win, cw->pixmap);
ecore_x_pixmap_free(cw->pixmap);
cw->pixmap = 0;
+ cw->native = 0;
cw->pw = 0;
cw->ph = 0;
}