Hello list,<br>
<br>
I develop a multi-threaded program.<br>
One thread receives some bitmaps (in BUFFER_FILE file) and send an ecore_event.<br>
<br>
<pre> imlib_save_image(TEMP_BUFFER_FILE);</pre>
<pre> <span style="color: rgb(128, 128, 128);"><i>//Envoi signal pour rafraichir la fenetre evas</i></span><br> event = ecore_event_add(MY_EVENT_TYPE, toto, NULL, NULL);<br> <b>if</b>(!event){exit(<span style="color: rgb(0, 0, 255);">
0</span>);}</pre><br>
This event is handled by the second thread in order to display them on a evas canvas (which is defined in the second thread).<br>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Kate, the KDE Advanced Text Editor">
<pre><span style="color: rgb(128, 128, 128);"><i>//Handler creation</i></span>
MY_EVENT_TYPE = ecore_event_type_new();
handler = ecore_event_handler_add(MY_EVENT_TYPE, callback_resfresh, NULL);
<b>if</b>(!handler){exit(<span style="color: rgb(0, 0, 255);">0</span>);}<br><br><br></pre>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Kate, the KDE Advanced Text Editor">
<pre><span style="color: rgb(128, 0, 0);">int</span> callback_resfresh(<span style="color: rgb(128, 0, 0);">void</span> *data, <span style="color: rgb(128, 0, 0);">int</span> type, <span style="color: rgb(128, 0, 0);">void
</span> *ev)
{
        refresh();
        <b>return</b> <span style="color: rgb(0, 0, 255);">1</span>;
}</pre><br>
<br>
Here is below the function for refreshing the canvas (function defined in the second thread) :<br>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Kate, the KDE Advanced Text Editor">
<pre><span style="color: rgb(128, 0, 0);">void</span> refresh(<span style="color: rgb(128, 0, 0);">void</span>)
{
<b>if</b>(tmp){evas_object_del(tmp);}
tmp = evas_object_image_add(evas);
evas_image_cache_flush(evas);
evas_image_cache_reload (evas);
evas_object_image_file_set(tmp, TEMP_BUFFER_FILE, NULL);
evas_object_move(tmp, <span style="color: rgb(0, 0, 255);">0</span>, <span style="color: rgb(0, 0, 255);">0</span>);
evas_object_resize(tmp, win_w, win_h);
evas_object_image_fill_set(tmp, <span style="color: rgb(0, 0, 255);">0</span>, <span style="color: rgb(0, 0, 255);">0</span>, win_w, win_h);
evas_object_layer_set(tmp,<span style="color: rgb(0, 0, 255);">50</span>);
evas_object_show(tmp);
<span style="color: rgb(128, 128, 128);"><i>//evas_render(evas);</i></span>
}</pre>
<br>
In a Linux PC environment, this program works well : the canvas is refreshed every time a bitmap is received.<br>
<br>
But when this program is launched on a Nokia 770 with MAEMO 2.0, the
canvas is only refreshed when the screen is touched by the pencil. I
don't understand why the screen is refreshed only when I touch it.<br>
<br>
I am running this program under X, and I disabled evas acceleration so that evas doesn't use the framebuffer.<br>
<br>
If some of you have an idea to solve this problem, thanks a lot for your response.<br>
<span>
<br>
Seb Dev<br>
</span>