use the pointer from the compositor for e_win and don't free the pointer when the window closes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
Chris Michael 2014-06-26 09:29:42 -04:00
parent 20e17c97ac
commit 8c90407ce7
1 changed files with 10 additions and 12 deletions

View File

@ -263,7 +263,7 @@ _e_win_hide(void *obj)
if (cb) cb(win); if (cb) cb(win);
if (!e_object_unref(E_OBJECT(win))) if (!e_object_unref(E_OBJECT(win)))
return; return;
E_FREE_FUNC(win->pointer, e_object_del); /* E_FREE_FUNC(win->pointer, e_object_del); */
e_canvas_del(win->ecore_evas); e_canvas_del(win->ecore_evas);
ecore_evas_callback_move_set(win->ecore_evas, NULL); ecore_evas_callback_move_set(win->ecore_evas, NULL);
ecore_evas_callback_resize_set(win->ecore_evas, NULL); ecore_evas_callback_resize_set(win->ecore_evas, NULL);
@ -345,16 +345,14 @@ e_win_new(E_Comp *c)
win->max_aspect = 0.0; win->max_aspect = 0.0;
wins = eina_list_append(wins, win); wins = eina_list_append(wins, win);
// win->pointer = e_pointer_canvas_new(win->ecore_evas, EINA_TRUE);
win->pointer = c->pointer;
/* if (c->comp_type == E_PIXMAP_TYPE_X) */ /* if (c->comp_type == E_PIXMAP_TYPE_X) */
/* { */ /* win->pointer = e_pointer_window_new(win->evas_win, EINA_TRUE); */
/* win->pointer = e_pointer_window_new(win->evas_win, 1); */
/* win->pointer->color = c->pointer->color; */
/* } */
/* else if (c->comp_type == E_PIXMAP_TYPE_WL) */ /* else if (c->comp_type == E_PIXMAP_TYPE_WL) */
/* { */ /* win->pointer = e_pointer_canvas_new(win->ecore_evas, EINA_TRUE); */
/* win->pointer = e_pointer_canvas_new(win->evas, 1); */
/* win->pointer->color = c->pointer->color; */
/* } */
return win; return win;
} }
@ -722,8 +720,8 @@ e_win_client_icon_key_set(E_Win *win, const char *key)
static void static void
_e_win_free(E_Win *win) _e_win_free(E_Win *win)
{ {
if (win->pointer) /* if (win->pointer) */
e_object_del(E_OBJECT(win->pointer)); /* e_object_del(E_OBJECT(win->pointer)); */
if (win->ecore_evas) if (win->ecore_evas)
{ {
@ -800,7 +798,7 @@ _e_win_cb_destroy(Ecore_Evas *ee)
if (win->cb_delete) win->cb_delete(win); if (win->cb_delete) win->cb_delete(win);
win->cb_delete = NULL; win->cb_delete = NULL;
e_object_unref(E_OBJECT(win)); e_object_unref(E_OBJECT(win));
E_FREE_FUNC(win->pointer, e_object_del); /* E_FREE_FUNC(win->pointer, e_object_del); */
if (!win->client) return; if (!win->client) return;
win->client->internal_ecore_evas = NULL; win->client->internal_ecore_evas = NULL;
e_canvas_del(ee); e_canvas_del(ee);