[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[E-devel] Multithreaded Program - Problem with Evas - Refreshing a canvas

Hello list,

I develop a multi-threaded program.
One thread receives some bitmaps (saved in BUFFER_FILE file) and send an


*//Envoi signal pour rafraichir la fenetre evas*
 event = ecore_event_add(MY_EVENT_TYPE, toto, NULL, NULL);

This event is handled by the second thread in order to display them on a
evas canvas (which is defined in the second thread).

*//Handler creation*
 MY_EVENT_TYPE = ecore_event_type_new();
 handler = ecore_event_handler_add(MY_EVENT_TYPE, callback_resfresh, NULL);

int callback_resfresh(void *data, int type, void *ev)
	*return* 1;

Here is below the function for refreshing the canvas (function defined in
the second thread) :

void refresh(void)
  tmp = evas_object_image_add(evas);

  evas_image_cache_reload (evas);

  evas_object_image_file_set(tmp, TEMP_BUFFER_FILE, NULL);
  evas_object_move(tmp, 0, 0);
  evas_object_resize(tmp, win_w, win_h);
  evas_object_image_fill_set(tmp, 0, 0, win_w, win_h);


My problem : the canvas is refreshed only when the mouse is focused and
moving on the canvas and I don't understand why.

If some of you have an idea to solve this problem, thanks a lot for your

Seb Dev