set blocks to avoid copying cursor contents from evas buffer canvas in idler_before

Summary:
it fixes a bug that cursor is invisible when running a wayland client.
e_pointer_image_set function sets image data of p->pointer_image to
data of E_Pixmap. and then e_pointer_idler_before function changes
raw image data of p->pointer_image to p->pixels. we should enable blocks
to avoid it.

Test Plan: run enlightenment (wayland only) -> run efl app with wayland shm engine

Reviewers: raster, devilhorns, zmike

CC: cedric

Differential Revision: https://phab.enlightenment.org/D769
This commit is contained in:
Gwanglim Lee 2014-04-24 12:41:38 -04:00 committed by Mike Blumenkrantz
parent f47bed7ed7
commit ecb8d21ab6
1 changed files with 4 additions and 0 deletions

View File

@ -658,6 +658,10 @@ e_pointer_image_set(E_Pointer *p, E_Pixmap *cp, int w, int h, int hot_x, int hot
evas_object_image_size_set(p->pointer_image, w, h);
evas_object_image_data_set(p->pointer_image, img);
evas_object_resize(p->pointer_image, w, h);
/* to avoid copying contents from p->pixels in idler_before */
p->blocks = 1;
if ((p->e_cursor) && (!p->canvas))
{
evas_object_hide(p->pointer_image);