<?xml version="1.0"?>
<statsTarget><link>http://cia.vc/stats/project/e/evas</link><counters><counter name="forever" lastEventTime="1329156282" firstEventTime="1265488932">2311</counter><counter name="lastMonth" lastEventTime="1328021535" firstEventTime="1325383763">73</counter><counter name="thisMonth" lastEventTime="1329156282" firstEventTime="1328129320">12</counter><counter name="lastWeek" lastEventTime="1328893470" firstEventTime="1328712308">7</counter><counter name="yesterday" lastEventTime="1329156282" firstEventTime="1329121964">3</counter><counter name="thisWeek" lastEventTime="1329156282" firstEventTime="1329121964">3</counter></counters><metadata><item name="subtitle"><value type="text/plain">hardware-accelerated retained canvas API</value></item><item name="description"><value type="text/plain">Evas is a hardware-accelerated canvas API for X-Windows that can draw
anti-aliased text, smooth super and sub-sampled images, alpha-blend,
as well as drop down to using normal X11 primitives such as pixmaps,
lines and rectangles for speed if your CPU or graphics hardware are
too slow.

Evas abstracts any need to know much about what the characteristics of
your XServer's display are, what depth or what magic visuals etc, it
has. The most you need to tell Evas is how many colors (at a maximum)
to use if the display is not a truecolor display. By default it is
suggested to use 216 colors (as this equates to a 6x6x6 color cube -
exactly the same color cube Netscape, Mozilla, gdkrgb etc. use so
colors will be shared). If Evas can't allocate enough colors it keeps
reducing the size of the color cube until it reaches plain black and
white. This way, it can display on anything from a black and white
only terminal to 16 color VGA to 256 color and all the way up through
15, 16, 24 and 32bit color.
</value></item><item name="links-filter"><value type="text/plain">None</value></item><item name="title"><value type="text/plain">Evas</value></item><item name="url"><value type="text/plain">http://trac.enlightenment.org/e/wiki/Evas</value></item><item name="related-filter"><value type="text/plain">None</value></item></metadata><recentMessages><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67884</revision><author>raster</author><log>make rect_t use int's... no overflow. yay!   </log><diffLines>25</diffLines><url>http://trac.enlightenment.org/e/changeset/67884</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/lib/include/evas_common.h">src/lib/include/evas_common.h</file></files></commit></body><timestamp>1329156282</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67879</revision><author>raster</author><log>From: Hyoyoung Chang &lt;hyoyoung@gmail.com&gt;
Subject: [E-devel] [patch] evas - preventing retard mouse event
process in evas_object_event_callback_call

I made a small patch to prevent retard mouse event process.
At certain circumstance (like as genlist select callback + naviframe
item push),
some events are repeat processed.

If some evas_objects're iterating in evas_event_feed_mouse_up and
mouse_out event's emitted by other interrupt(such as naviframe item
push),
then some evas_objects events are multiple processed by
evas_object_event_callback_call.

More elaborating it with a example.
There are a genlist and a multibuttonentry on genlist item.
When a user clicks multibuttonentry then evas will process mouse down
and up.
in evas_event_feed_mouse_up, it gets evas object list to process mouse
events.
Then in the evas object list, there are two evas objects - rect and
textblock.
Two objects have its own parents.

the rect has below parents.
----------------------------------------
edje  - genlist item
elm_genlist_pan
edje
multibuttonentry
box
entry
els_scroller  (0x2a601788)
rect                                      &lt;== the rect

the textblock has below parents.
----------------------------------------------
edje - genlist item
elm_genlist_pan
edje
multibuttonentry
box
entry
els_scroller(0x2a601788)
edje
elm_pan
edje
textblock                           &lt;== the textblock

(note : two evas object have same parent (els_scroller))

So normally mouse up callbacks event propagates to its own parent.
the rect is processed to genlist item. and the textblock is processed
to genlist item.
but when els_scroller is processed, it's blocked by checking event
type and event id checking.

Mouse Up(rect) -&gt;  Mouse Up(textblock)
event_id (3)      -&gt;   event_id (3)

evas_object_event_callback_call(Evas_Object *obj, Evas_Callback_Type
type, void *event_info, int event_id)
{
   ...
      if ((obj-&gt;delete_me) || (!obj-&gt;layer)) return;
         if ((obj-&gt;last_event == event_id) &amp;&amp;
                (obj-&gt;last_event_type == type)) return;
                     &lt;=== blocked
                     
                     However if naviframe item is pushed in the middle
of mouse up processing.
It can break into mouse up. So it's processed like below.

Mouse Up(rect) -&gt; Mouse Out(rect) -&gt; Mouse Out(textblock) -&gt; Mouse
Up(textblock)
event_id (3)      -&gt; event_id(4)         -&gt; event_id(4)
-&gt; event_id(3)
(note Mouse_Out is made by naviframe item push for event freezing)

If that, there's no mechanism to block that repeat processing same
event.
So I suggest this patch.
This patch blocks old events if there's no reason to process.
(It blocks old mouse_up event because mouse_out is processed.)

And I think it also clear the bug in
&quot;[E-devel] event repetition with elm_naviframe/elm_genlist&quot;   </log><diffLines>32</diffLines><url>http://trac.enlightenment.org/e/changeset/67879</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/AUTHORS">AUTHORS</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/lib/canvas/evas_callbacks.c">src/lib/canvas/evas_callbacks.c</file></files></commit></body><timestamp>1329144737</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67870</revision><author>hermet</author><log>evas/gl_common - set line color with draw context.   </log><diffLines>18</diffLines><url>http://trac.enlightenment.org/e/changeset/67870</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/modules/engines/gl_common/evas_gl_line.c">src/modules/engines/gl_common/evas_gl_line.c</file></files></commit></body><timestamp>1329121964</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67828</revision><author>hermet</author><log>evas/evas_events - do not call the up event when obj is freezed and removed useless codes.    </log><diffLines>37</diffLines><url>http://trac.enlightenment.org/e/changeset/67828</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/lib/canvas/evas_events.c">src/lib/canvas/evas_events.c</file></files></commit></body><timestamp>1328893470</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67790</revision><author>tasn</author><log>Evas textblock: Better handle visible formats.

Fixed a crash. Thanks WooHyun for making me fix it now. :) </log><diffLines>43</diffLines><url>http://trac.enlightenment.org/e/changeset/67790</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/lib/canvas/evas_object_textblock.c">src/lib/canvas/evas_object_textblock.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/tests/evas_test_textblock.c">src/tests/evas_test_textblock.c</file></files></commit></body><timestamp>1328802357</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67784</revision><author>tasn</author><log>Evas jpeg loader: Fixed a couple of compilation warnings.

There are a couple more *important* warnings. The switch case at line 564
does not cover all options. </log><diffLines>89</diffLines><url>http://trac.enlightenment.org/e/changeset/67784</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/modules/loaders/jpeg/evas_image_load_jpeg.c">src/modules/loaders/jpeg/evas_image_load_jpeg.c</file></files></commit></body><timestamp>1328795154</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67778</revision><author>raster</author><log>hmm no - we shouldnt delete here.. we just find it in the active image
hash. as such the image is dirtied and thus removed from this hash
anyway so it doesnt need deleting.   </log><diffLines>15</diffLines><url>http://trac.enlightenment.org/e/changeset/67778</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/lib/cache/evas_cache_image.c">src/lib/cache/evas_cache_image.c</file></files></commit></body><timestamp>1328771676</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67758</revision><author>raster</author><log>some more debug for surfs   </log><diffLines>18</diffLines><url>http://trac.enlightenment.org/e/changeset/67758</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/lib/engines/common/evas_image_main.c">src/lib/engines/common/evas_image_main.c</file></files></commit></body><timestamp>1328716194</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67757</revision><author>raster</author><log>add some definable surf debug code... and STORE allocated size on
alloc so cache doesnt overfill!!!!!!!!!!!!!!!   </log><diffLines>152</diffLines><url>http://trac.enlightenment.org/e/changeset/67757</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/lib/engines/common/evas_image_main.c">src/lib/engines/common/evas_image_main.c</file></files></commit></body><timestamp>1328715165</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67754</revision><author>raster</author><log>let's link to the right libs for wayland shm eh?   </log><diffLines>23</diffLines><url>http://trac.enlightenment.org/e/changeset/67754</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/modules/engines/wayland_shm/Makefile.am">src/modules/engines/wayland_shm/Makefile.am</file></files></commit></body><timestamp>1328712308</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67696</revision><author>woohyun</author><log>[evas/evas_object_textblock] When markup_to_utf8 is tried with an invalid
escape tag, escape will be NULL. &quot;eina_strbuf_append&quot; should not be
called with NULL string.  </log><diffLines>15</diffLines><url>http://trac.enlightenment.org/e/changeset/67696</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/lib/canvas/evas_object_textblock.c">src/lib/canvas/evas_object_textblock.c</file></files></commit></body><timestamp>1328280354</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67681</revision><author>cedric</author><log>evas: use evas_image_cache_drop instead of plain wrong call to free.  </log><diffLines>29</diffLines><url>http://trac.enlightenment.org/e/changeset/67681</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/ChangeLog">ChangeLog</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/lib/engines/common/evas_image_main.c">src/lib/engines/common/evas_image_main.c</file></files></commit></body><timestamp>1328129320</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67631</revision><author>tasn</author><log>Evas textblock: Fixed native size calculation - margins were not used. </log><diffLines>69</diffLines><url>http://trac.enlightenment.org/e/changeset/67631</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/lib/canvas/evas_object_textblock.c">src/lib/canvas/evas_object_textblock.c</file><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/tests/evas_test_textblock.c">src/tests/evas_test_textblock.c</file></files></commit></body><timestamp>1328021535</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67604</revision><author>jypark</author><log>fix memory leak of dirty image
if file was chaned by somebody, it was added to dirty list during cache request.
currently this dirty image added to cache-&gt;dirty list and never freed until image shutdown.
but dirty image of chaned file never used so add delete code for memory efficiency.
and fix bad indentation.  </log><diffLines>666</diffLines><url>http://trac.enlightenment.org/e/changeset/67604</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/lib/cache/evas_cache_image.c">src/lib/cache/evas_cache_image.c</file></files></commit></body><timestamp>1327946113</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67601</revision><author>sung</author><log>Fixing my silly mistake before someone else catches it.  

I was accessing a variable before it was NULL checked. 
Fixed now.   </log><diffLines>40</diffLines><url>http://trac.enlightenment.org/e/changeset/67601</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/modules/engines/gl_x11/evas_engine.c">src/modules/engines/gl_x11/evas_engine.c</file></files></commit></body><timestamp>1327934431</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67580</revision><author>tasn</author><log>Evas textblock: Fixed a possible invalid mem write. </log><diffLines>22</diffLines><url>http://trac.enlightenment.org/e/changeset/67580</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/lib/canvas/evas_object_textblock.c">src/lib/canvas/evas_object_textblock.c</file></files></commit></body><timestamp>1327843185</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67572</revision><author>devilhorns</author><log>Evas (m4): Use simpler check for wayland egl. Don't reset
'gl_flavor_gles' when checking for sgx support (if we reset
gl_flavor_gles here, then the autofoo output always returns 'NO' for
gles.   </log><diffLines>51</diffLines><url>http://trac.enlightenment.org/e/changeset/67572</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/m4/evas_check_engine.m4">m4/evas_check_engine.m4</file></files></commit></body><timestamp>1327770300</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67571</revision><author>devilhorns</author><log>Evas: Fix typo in autofoo output.   </log><diffLines>15</diffLines><url>http://trac.enlightenment.org/e/changeset/67571</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/configure.ac">configure.ac</file></files></commit></body><timestamp>1327769889</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67548</revision><author>tasn</author><log>Evas textblock: Fixed style user memory leak.

Thanks to Hermet for spotting it. </log><diffLines>14</diffLines><url>http://trac.enlightenment.org/e/changeset/67548</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/lib/canvas/evas_object_textblock.c">src/lib/canvas/evas_object_textblock.c</file></files></commit></body><timestamp>1327598379</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>e</project><module>evas</module></source><body><commit><revision>67543</revision><author>barbieri</author><log>The polygon drawing code for the DirectFB backend incorrectly casts a
void pointer causing a segfault. The attached patch fixes the issue
and allows an expedite run to complete.

By: Will Newton &lt;will.newton@gmail.com&gt;   </log><diffLines>16</diffLines><url>http://trac.enlightenment.org/e/changeset/67543</url><files><file action="modify" uri="http://svn.enlightenment.org/svn/e/trunk/evas/src/modules/engines/directfb/evas_engine.c">src/modules/engines/directfb/evas_engine.c</file></files></commit></body><timestamp>1327528593</timestamp></message></recentMessages></statsTarget>
