else if (cw->menu) e_object_delfn_del(E_OBJECT(cw->menu), cw->dfn);
cw->dfn = NULL;
}
- if (cw->native)
- {
- evas_object_image_native_surface_set(cw->obj, NULL);
- cw->native = 0;
- }
if (cw->pixmap)
{
ecore_x_pixmap_free(cw->pixmap);
cw->pw = 0;
cw->ph = 0;
}
+// segv?
+// evas_object_image_native_surface_set(cw->obj, NULL);
+// cw->native = 0;
if (cw->update)
{
cw->update = 0;
cw->visible = 1;
DBG(" [0x%x] sho ++++++++++\n", cw->win);
if ((cw->input_only) || (cw->invalid)) return;
-// if (cw->redirected)
+ if (cw->pixmap) ecore_x_pixmap_free(cw->pixmap);
+ evas_object_image_size_set(cw->obj, cw->pw, cw->ph);
+ cw->pixmap = ecore_x_composite_name_window_pixmap_get(cw->win);
+ if (cw->pixmap)
+ ecore_x_pixmap_geometry_get(cw->pixmap, NULL, NULL, &(cw->pw), &(cw->ph));
+ else
{
-/*
- if (cw->native) evas_object_image_native_surface_set(cw->obj, NULL);
- if (cw->pixmap) ecore_x_pixmap_free(cw->pixmap);
- evas_object_image_size_set(cw->obj, 1, 1);
- cw->pixmap = 0;
cw->pw = 0;
cw->ph = 0;
- cw->native = 0;
- ecore_x_composite_unredirect_window(cw->win, ECORE_X_COMPOSITE_UPDATE_MANUAL);
- cw->redirected = 0;
- */
- if (cw->pixmap) ecore_x_pixmap_free(cw->pixmap);
- evas_object_image_size_set(cw->obj, cw->pw, cw->ph);
-// ecore_x_window_resize(cw->win, cw->w + 10, cw->h + 10);
- cw->pixmap = ecore_x_composite_name_window_pixmap_get(cw->win);
- if (cw->pixmap)
- ecore_x_pixmap_geometry_get(cw->pixmap, NULL, NULL, &(cw->pw), &(cw->ph));
- else
- {
- cw->pw = 0;
- cw->ph = 0;
- }
- if ((cw->pw <= 0) || (cw->ph <= 0))
- {
- ecore_x_pixmap_free(cw->pixmap);
- cw->pixmap = 0;
- }
- if ((cw->c->gl) && (_comp_mod->conf->texture_from_pixmap) &&
- (!cw->shaped) && (!cw->shape_changed) && (cw->pixmap))
- {
- Evas_Native_Surface ns;
-
- ns.data.x11.visual = cw->vis;
- ns.data.x11.pixmap = cw->pixmap;
- evas_object_image_native_surface_set(cw->obj, &ns);
- DBG("NATIVE SHOW1 [0x%x] %x %ix%i\n", cw->win, cw->pixmap, cw->pw, cw->ph);
- cw->native = 1;
- }
-// ecore_x_window_resize(cw->win, cw->w, cw->h);
- if (cw->pixmap) ecore_x_pixmap_free(cw->pixmap);
- cw->pixmap = 0;
- cw->pw = 0;
- cw->ph = 0;
- cw->native = 0;
}
+ if ((cw->pw <= 0) || (cw->ph <= 0))
+ {
+ ecore_x_pixmap_free(cw->pixmap);
+ cw->pixmap = 0;
+ }
+ if ((cw->c->gl) && (_comp_mod->conf->texture_from_pixmap) &&
+ (!cw->shaped) && (!cw->shape_changed) && (cw->pixmap))
+ {
+ Evas_Native_Surface ns;
+
+ ns.data.x11.visual = cw->vis;
+ ns.data.x11.pixmap = cw->pixmap;
+ evas_object_image_native_surface_set(cw->obj, &ns);
+ DBG("NATIVE SHOW1 [0x%x] %x %ix%i\n", cw->win, cw->pixmap, cw->pw, cw->ph);
+ }
+ if (cw->pixmap) ecore_x_pixmap_free(cw->pixmap);
+ cw->pixmap = 0;
+ cw->pw = 0;
+ cw->ph = 0;
+ cw->native = 0;
if (!cw->redirected)
{
ecore_x_composite_redirect_window(cw->win, ECORE_X_COMPOSITE_UPDATE_MANUAL);
"base/theme/borders",
"e/shadow/box"))
ok = 0;
- }
+ }
if (!ok)
{
snprintf(buf, sizeof(buf), "%s/shadow.edj",
// getting pixmap againand well - getting texture too again. why?
if (cw->redirected)
{
- if (cw->native) evas_object_image_native_surface_set(cw->obj, NULL);
if (cw->pixmap) ecore_x_pixmap_free(cw->pixmap);
evas_object_image_size_set(cw->obj, 1, 1);
cw->pixmap = 0;
cw->pw = 0;
cw->ph = 0;
cw->native = 0;
- ecore_x_composite_unredirect_window(cw->win, ECORE_X_COMPOSITE_UPDATE_MANUAL);
- ecore_x_composite_redirect_window(cw->win, ECORE_X_COMPOSITE_UPDATE_MANUAL);
cw->pixmap = ecore_x_composite_name_window_pixmap_get(cw->win);
if (cw->pixmap)
ecore_x_pixmap_geometry_get(cw->pixmap, NULL, NULL, &(cw->pw), &(cw->ph));