Commit Graph

12046 Commits

Author SHA1 Message Date
Sebastian Dransfeld ea7834865e revert crazy idea
SVN revision: 55413
2010-12-09 13:41:22 +00:00
Sebastian Dransfeld e88061b9aa Reduce stack usage
For functions often called, don't put unneded mem on stack

SVN revision: 55411
2010-12-09 13:15:43 +00:00
Sebastian Dransfeld 4e9fa3d6f7 if file open, return true
SVN revision: 55407
2010-12-09 12:19:23 +00:00
Sebastian Dransfeld fb77905c83 TODO++
SVN revision: 55406
2010-12-09 12:19:13 +00:00
Sebastian Dransfeld 3a0af7b9c5 Don't store Hidden elements in utils cache
Hidden elements should never be returned to the user, they are "Deleted"

SVN revision: 55405
2010-12-09 12:19:00 +00:00
Cedric BAIL 30099cb45f * evas: fix polygon position on clear.
Patch by YUNHAN KIM <yhan.kim@samsung.com>


SVN revision: 55404
2010-12-09 10:33:23 +00:00
Gustavo Sverzut Barbieri ef5c356153 Use EINA_PATH_MAX where it makes sense.
All the access to Eina_File_Direct_Info::path should be using the
actual size (EINA_PATH_MAX) and not another constant (PATH_MAX).



SVN revision: 55403
2010-12-09 10:14:11 +00:00
Sebastian Dransfeld 18dea4b9f8 And recreate hash after deletion
SVN revision: 55400
2010-12-09 09:12:12 +00:00
Sebastian Dransfeld de36c69b16 flush icon theme cache before closing eet file
SVN revision: 55399
2010-12-09 08:57:06 +00:00
Sebastian Dransfeld 55404c7134 enable icon theme cache
SVN revision: 55398
2010-12-09 08:56:56 +00:00
Sebastian Dransfeld dcbbc1ef37 fix environment handling
SVN revision: 55397
2010-12-09 08:56:46 +00:00
Sebastian Dransfeld b525e964d0 free iterator after usage
SVN revision: 55396
2010-12-09 08:56:36 +00:00
Sebastian Dransfeld ac51f4ead3 Fix very weird double looping
Not need to extract keys from hash, then loop keys to find data.

SVN revision: 55395
2010-12-09 08:56:23 +00:00
Mike Blumenkrantz 4440764c78 reorder a little, fix bug where client_del event was never sent if it had send data in its buffer
question to think on: should a deleted client be allowed to finish sending its data or should it be killed immediately?


SVN revision: 55391
2010-12-09 06:43:58 +00:00
Mike Blumenkrantz 3b86fed32f avoid loooooooooooooots of ecore spankies
SVN revision: 55390
2010-12-09 06:16:13 +00:00
Carsten Haitzler 9317a439fb and if i'm breaking shit... i may as well put it at the end, so if
size changes later to be bigger, existing code doesnt break (due to
the way this is meant to be accessed).



SVN revision: 55388
2010-12-09 02:55:08 +00:00
Carsten Haitzler 2382fe75ce ok - make it 8192.
SVN revision: 55387
2010-12-09 02:46:11 +00:00
Carsten Haitzler 8ed17348e9 spottied a stabilty/portability bug with PATH_MAx inside a public
header. fix. see comments.



SVN revision: 55386
2010-12-09 01:29:52 +00:00
Sebastian Dransfeld d104d2e745 Add icon theme cache
Not used yet.

SVN revision: 55384
2010-12-08 21:39:43 +00:00
Sebastian Dransfeld 84fdf4e0ef don't terminate execs
they finish very quickly, not need to terminate

SVN revision: 55383
2010-12-08 21:39:23 +00:00
Sebastian Dransfeld ed43ae5263 rename struct
prepare for Efreet_Cache_Icon_Theme

SVN revision: 55382
2010-12-08 21:36:54 +00:00
Cedric BAIL 3e5887714b * eina: forgotten link.
SVN revision: 55380
2010-12-08 19:32:23 +00:00
Rui Seabra a4fd22d431 Update edje spec to current state of affairs.
SVN revision: 55379
2010-12-08 17:08:14 +00:00
Tom Hacohen 47da7ff122 Evas textblock: Fixed a major bug in last_at_off.
SVN revision: 55375
2010-12-08 15:41:21 +00:00
Michael BOUCHAUD 947b8db665 eio: move 'typedef enum' after 'enum' to compil with g++ (from Mikael Sans)
SVN revision: 55372
2010-12-08 14:35:37 +00:00
Mike Blumenkrantz 0c1efd9afd handle ARES_ENODATA more gracefully
SVN revision: 55371
2010-12-08 14:00:37 +00:00
Carsten Haitzler a332eaa36b and break api in ecore_input_evas - not used anyway except within
ecore. the api didn't allow for rotation of multitouch input. need to
fix. done.



SVN revision: 55367
2010-12-08 03:25:23 +00:00
Iván Briano 45e2237dcf List and allow to fetch pre-processing errors when compiling Embryo scripts.
SVN revision: 55359
2010-12-07 19:06:53 +00:00
Carsten Haitzler b148711260 formatting!
SVN revision: 55348
2010-12-07 08:38:07 +00:00
Carsten Haitzler e15da11630 use typedefs for fn pointers.
SVN revision: 55342
2010-12-07 06:39:18 +00:00
Cedric BAIL 36e4de5f51 * evas: notice object change on map color change.
SVN revision: 55335
2010-12-06 22:28:38 +00:00
Iván Briano 014d9e424c NULL out focused part when clearing the remnants of a gone Edje
SVN revision: 55330
2010-12-06 13:50:51 +00:00
Carsten Haitzler 59b94cec34 and dont seg there.
SVN revision: 55319
2010-12-06 09:07:56 +00:00
Carsten Haitzler fa337f7f7f and only check version if surf != NULL
SVN revision: 55318
2010-12-06 09:02:16 +00:00
Brett Nash f2e4cc5555 Evas: Neon: Do neon test if ARM...
Not ARM 70.  So this should you know... turn on the neon test.

SVN revision: 55317
2010-12-06 07:53:33 +00:00
Carsten Haitzler 4a55d2bda4 if we aren't looking for a glob... why do we go alloc a possible
massive pattern match thing.. if you have a LOOOOOOOOOOT of collection
entries... that can be a big set.



SVN revision: 55316
2010-12-06 07:49:00 +00:00
Carsten Haitzler 640a4030f3 change native api to allow for other types of native data like texture
id's, fbo's etc. too - at least it's versioned now.



SVN revision: 55315
2010-12-06 07:09:51 +00:00
Brett Nash 157bf3a573 Evas: Neon: More .fpu neon flags
Also clean up some ugly code.

SVN revision: 55314
2010-12-06 04:57:54 +00:00
Brett Nash ee03254a3e Be more aggresive turning on neon, and don't include arm_neon.h
The arm_neon header is for the Neon intrinsics.
Since we use inline asm, we don't need any of that stuff.
Also we set neon to be on if your compiler accepts it (and it's a arm).
So more people may get neon builds.

SVN revision: 55312
2010-12-06 02:20:31 +00:00
Brett Nash e6f12f5f22 Add .fpu neon to the configure test.
SVN revision: 55308
2010-12-06 01:58:19 +00:00
Brett Nash 19c28b345f Evas: Neon: Explicitly set the .fpu flag for neon.
This means you should not need to set any special compiler flags; which should
mean gcc will generate non-neon specific asm (unless you tell it to).  This
means it is possible to build an armv6 binary with neon suppor (as we always
meant to to do).

SVN revision: 55307
2010-12-06 01:50:32 +00:00
Mike Blumenkrantz d15d81161f avoid magic fail on already-freed handler
SVN revision: 55280
2010-12-05 07:30:17 +00:00
Marco Trevisan (Treviño) bbc439bdb7 SVN revision: 3
Subject: [E-devel] [PATCH] eina share common check for node type

Hello, recentely I've been experiencing a lot of segfaults when running
an Elementary application which uses a genlist with some swallowed parts
in which I put some elm icons (png files).
When running it I often get crashes... Debugging it I found this:

=========
CRI<14207>: eina_share_common.c:561 _eina_share_common_node_from_str()
*** Eina Magic Check Failed !!!
    Input handle is wrong type
        Expected: 98761254 - Eina Stringshare Node
            Supplied: 6e657070 - (unknown)
            *** NAUGHTY PROGRAMMER!!!
            *** SPANK SPANK SPANK!!!
            *** Now go fix your code. Tut tut tut!
            
            
            //DEBUG: Node referencies 622869060 (slen: 1145307236)
            
            
            Program received signal SIGSEGV, Segmentation fault.
            eina_share_common_del (share=0x65c810, str=0x7ffff1219150
"5hhu %5hu '%
s'\n")
    at eina_share_common.c:858
    858        node->references--;
    =========
    
    So it seems that edje tries to delete an invalid eina_share_common
    string (is this a bug that should be fixed or is it
theme-dependent?),
and so the "node" pointer in eina share is not valid...

However eina never checks for its validity, so it seg-faults...
The attached patch fix this issue, setting the node to null when its
magic is not valid, and then always checking for its validity.

Is this fine?


Full stack trace:

#0  eina_share_common_del (share=0x65c810, str=0x7ffff1219150 "5hhu %5hu
'%s'\n")
    at eina_share_common.c:858
    #1  0x00007ffff120e047 in eina_stringshare_del (str=0x7ffff1219150
"5hhu
%5hu '%s'\n")
    at eina_stringshare.c:632
    #2  0x00007ffff1e1f7bc in _edje_text_recalc_apply (ed=0x95b900,
    ep=0x70c3a0, 
        params=0x70c500, chosen_desc=<value optimized out>) at
        edje_text.c:556
        #3  0x00007ffff1de402d in _edje_part_recalc (ed=0x95b900,
ep=0x70c3a0,
flags=3)
    at edje_calc.c:2007
    #4  0x00007ffff1de4d86 in _edje_recalc_do (ed=0x95b900) at
    edje_calc.c:268
    #5  0x00007ffff1e25c7d in edje_object_part_swallow (obj=<value
optimized
out>, 
    part=0x7fffe001484c "elm.swallow.icon", obj_swallow=0x7fffe0017860)
        at edje_util.c:2300
        #6  0x00007ffff1b5d5fc in _item_realize (it=0x7fffe0016ed0,
in=10,
calc=1)
    at elm_genlist.c:1489
    #7  0x00007ffff1b5db89 in _item_block_recalc (itb=0x95b6a0,
in=<value
optimized out>, 
    qadd=<value optimized out>, norender=<value optimized out>) at
    elm_genlist.c:1609
    #8  0x00007ffff1b5e329 in _queue_proecess (wd=0x721b70,
norender=<value
optimized out>)
    at elm_genlist.c:2425
    #9  0x00007ffff1b5e567 in _item_queue (wd=0x721b70, it=<value
optimized
out>)
    at elm_genlist.c:2476
    #10 0x00007ffff1b5ead9 in elm_genlist_item_append (obj=<value
optimized
out>, 
    itc=0x7ffff2977040, data=0x8fed90, parent=0x0,
    flags=ELM_GENLIST_ITEM_NONE, 
        func=<value optimized out>, func_data=0x0) at elm_genlist.c:2528
        
        [eina-share-common-del-check-for-node.patch  text/x-patch
(1.2KB)]
Index: src/lib/eina_share_common.c
===================================================================
--- src/lib/eina_share_common.c(revisione 55018)
+++ src/lib/eina_share_common.c(copia locale)
@@ -558,7 +558,7 @@
    const size_t offset = offsetof(Eina_Share_Common_Node, str);
     
         node = (Eina_Share_Common_Node *)(str - offset);
         -   EINA_MAGIC_CHECK_SHARE_COMMON_NODE(node, node_magic, );
         +   EINA_MAGIC_CHECK_SHARE_COMMON_NODE(node, node_magic, node
= NULL);
    return node;
     
         (void) node_magic; /* When magic are disable, node_magic is
unused, this remove a warning. */
@@ -821,6 +821,7 @@
 
     SHARE_COMMON_LOCK_BIG();
         node = _eina_share_common_node_from_str(str,
share->node_magic);
+   if (!node) return str;
    node->references++;
        DBG("str=%p refs=%u", str, node->references);
         
         @@ -847,6 +848,9 @@
             SHARE_COMMON_LOCK_BIG();
              
                  node = _eina_share_common_node_from_str(str,
share->node_magic);
+   if (!node)
+      return;
+
    slen = node->length;
        eina_share_common_population_del(share, slen);
            if (node->references > 1)
            @@ -901,6 +905,7 @@
                   return -1;
                    
                        node = _eina_share_common_node_from_str(str,
share->node_magic);
+   if (!node) return 0;
    return node->length;
     }
      


SVN revision: 55265
2010-12-05 03:14:03 +00:00
Carsten Haitzler 540b51cf69 maybe fix del ref 0 string then add it back with same handle?
SVN revision: 55264
2010-12-05 03:12:34 +00:00
Sebastian Dransfeld 9da725d028 fix cache filenames
move cache to XDG_CACHE_HOME and add hostname for shared homedirs

SVN revision: 55263
2010-12-04 16:02:20 +00:00
Sebastian Dransfeld 649aa06958 simplify code
SVN revision: 55262
2010-12-04 15:13:47 +00:00
Sebastian Dransfeld 802339c2c0 Add cache usage for efreet_icon_list_find()
SVN revision: 55261
2010-12-04 13:59:48 +00:00
Sebastian Dransfeld 2f8e8a4f1a check efreet_mime_type_icon_get()
SVN revision: 55260
2010-12-04 13:59:37 +00:00
Sebastian Dransfeld 91fcbf1f9e ignore signals is default ecore action
SVN revision: 55259
2010-12-04 13:58:52 +00:00
Carsten Haitzler c15f13d38a for svg loader.. look for cairo too. seems some rsvg's dont come with
it in their pkg config cflags/ldflags as a required dep.



SVN revision: 55249
2010-12-04 01:01:22 +00:00