Commit Graph

2642 Commits

Author SHA1 Message Date
discomfitor 41fe698fc2 reformat ecore_con so I can read it... 2013-12-20 00:08:43 -05:00
Jihoon Kim 2bcfc800c9 Remove ecore_imf_context_reset in focus-in event handler
It's useless to call ecore_imf_context_reset in focus-in handler
2013-12-20 09:31:58 +09:00
Carsten Haitzler eed4526003 first steps to rewriting evas render... a long path. 2013-12-19 22:49:43 +09:00
Guillaume Friloux 86d2983bf3 Fix leak + possible segfault in edje_edit.
vaiable 'c' is allocated inside a loop, but only freed outside that loop...
2013-12-19 11:04:07 +01:00
Vyacheslav Reutskiy 8bff25fadc edje: edje_edit - adding API to move to the specified place in the parts stack
This commit will add some API to restack part above/below target part.
There are two functions will be added:

1. edje_edit_part_restack_part_below
2. edje_edit_part_restack_part_above

Reviewers: cedric, seoz, raster

Reviewed By: cedric

CC: cedric

Differential Revision: https://phab.enlightenment.org/D390

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2013-12-19 15:53:48 +09:00
Andrii Kroitor 287d63c016 edje: edje_edit - image api modification
Changed edje_edit_image_del logic: image can't be deleted if it's in use,
after deletion last image in list is moved to freed position so there are no
"holes" in image list.

Following functions added to api:
   edje_edit_image_replace
   edje_edit_image_usage_list_get
   edje_edit_image_usage_list_free

Reviewers: cedric, seoz, raster

Reviewed By: cedric

CC: reutskiy.v.v, cedric

Differential Revision: https://phab.enlightenment.org/D392

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2013-12-19 15:53:38 +09:00
Vyacheslav Reutskiy bf3f0f2f4a edje: edje_edit - fix edje_edit_state_color_class_set to apply the colors to color_class.
edje_edit_state_color_class_set apply the colors from color_class to the given part.

Reviewers: cedric, seoz, raster

Reviewed By: cedric

CC: cedric

Differential Revision: https://phab.enlightenment.org/D391

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2013-12-19 15:53:29 +09:00
Vyacheslav Reutskiy 811c97eabb edje: edje_edit - adding getter and setter for text source
This commit will add API for working with text source.
There are two functions will be added:

1. edje_edit_state_text_source_get
2. edje_edit_state_text_source_set

Reviewers: cedric, seoz, raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D389

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2013-12-19 15:53:27 +09:00
Vyacheslav Reutskiy 0ad1dfe4e5 edje: edje_edit - adding getter and setter for text style
This commit will add API for working with text style.
There are two functions will be added:

1. edje_edit_state_text_style_get
2. edje_edit_state_text_style_set

Reviewers: cedric, seoz, raster

Reviewed By: cedric

CC: cedric

Differential Revision: https://phab.enlightenment.org/D388

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2013-12-19 15:53:24 +09:00
Vorobiov Vitalii 891c34f50f edje: edje_edit - _edje_generate_source supporting alias
Support generating alias source code in functions:
1) _edje_generate_source_of_group
2) _edje_generate_source

Reviewers: cedric, seoz, raster

CC: reutskiy.v.v, cedric

Differential Revision: https://phab.enlightenment.org/D386

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2013-12-19 15:53:15 +09:00
Vorobiov Vitalii 12c91a8852 edje: edje_edit - adding edje_edit_group_copy.
This new function will copy the whole group into same file but with another group name/id.

Copying whole group data field by field require some huge code.
Alternatively we found another solution for copying whole group as you can see it in this commit.
This function will copy group and all it's data (like scripts etc) and it will be totally independent.

Reviewers: cedric, seoz, raster

CC: reutskiy.v.v, cedric

Differential Revision: https://phab.enlightenment.org/D385

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
2013-12-19 15:52:51 +09:00
ChunEon Park f4d24e962d evas/map - ensure map updation.
for more gurantee to update map properly,
we should reset the map changed flag after the map updation is performed.
this will fix a mapbuf bug that map is not updated.

when the map is changed without rendering but it's in the active object list,
the map updation couldn't be happened later that map is rendered. (if the map is not updated at this frame)
2013-12-19 15:34:15 +09:00
ChunEon Park cb384fe88b Revert "evas/map - commeted out insane compare."
This reverts commit b259cfafe5.

my fault. the compare is reasonable.
2013-12-19 14:33:02 +09:00
ChunEon Park b259cfafe5 evas/map - commeted out insane compare.
cedric, is it just typo?
2013-12-19 14:12:23 +09:00
Daniel Juyung Seo c4b7f83ef6 ecore_evas: removed author's name from source code as the author requested it.
Git log should be enough for the credit :)

This code was merged into efl upstream by devilhorn's aggressive synchronization between efl upstream and tizen.
But that commit didn't have the author's credit.
However We will never forget the contribution of Gwanglim Lee <gl77.lee@samsung.com>.
2013-12-18 23:49:06 +09:00
Daniel Juyung Seo 17fe60d0db ecore gesture: removed unused variable. 2013-12-18 23:18:15 +09:00
Carsten Haitzler ed27f52b05 evas - tiler - fix missing clip of first rect to outbuf size
stable release - cherry-pick me!
2013-12-18 20:38:15 +09:00
Gustavo Sverzut Barbieri 0b86e5119f getopt: add positional argument handling.
positional arguments must appear at the end of the description array
(after the last option) and should have a metavar set and not have
shortname or longname. Simple, elegant and fit :-)

There is a new function to parse the positional arguments,
ecore_getopt_parse_positional() because we may want to not try to
parse them in the case of a quit-option such as --help, --license,
--copyright, --version or some user-defined action. This avoids us
producing errors of missing positional arguments when printing help
and adds some flexibility as well.

This should make Tasn happy :-)
2013-12-17 21:06:53 -02:00
Gustavo Sverzut Barbieri 99ba5822c8 getopt: fix line wrapping issues in help strings. 2013-12-17 17:51:48 -02:00
Cedric BAIL 0a1cc79a91 Ecore_Avahi: initial commit.
TODO:
- Add tests, how ?
- Integrate with Eo, needed ?
2013-12-17 19:37:05 +09:00
Iván Briano 99e3ce489a One ) too many. 2013-12-16 15:45:00 -02:00
Tom Hacohen 7aae5d0804 Evas textblock: Fixed range_deletion bug with multiple visible formats.
This makes the tests added in 8bee8853ae
pass.

Thanks to Youngbok Shin for reporting.
2013-12-16 15:45:10 +00:00
Cedric BAIL e131580aba emotion: fix Windows compilation. 2013-12-16 17:03:10 +09:00
Cedric BAIL fce52b1031 emotion: revert to fast sed to use the right eina log domain. 2013-12-16 15:25:36 +09:00
Carsten Haitzler 7c38520f50 edje_edit - fix mem leak of src strbuf on print status
though utterly minor - it's still a leak. fix CID 1039263
2013-12-15 11:40:16 +09:00
Carsten Haitzler ee8bfeb458 edje - edje_edit - don't access collection after it is freed
should fix CID 1137855
2013-12-15 11:34:43 +09:00
Carsten Haitzler 6d5058ee1c emotion - webcam - don't access after free and ensure it is not in list
this should fix CID 1137853 and CID 1137854
2013-12-15 11:31:28 +09:00
Carsten Haitzler f1fa8de149 ecore-file - fix mem leak in ecore_file_app_exe_get() on restart
this actually fixes the issue. coverity did point it out but i fixed
it incorrectly. since it was still there in the scan i now fixed it
properly. fixes CID 1039279
2013-12-15 11:18:38 +09:00
Vorobiov Vitalii 0640b7f341 edje: adding Alias API into edje_edit module
Summary:
This commit will add some API for working with aliases.
There are four functions will be added:
1. edje_edit_group_aliases_get - this function will return the list of aliases of certain group.
2. edje_edit_group_is_alias - this function will check if the given group name is actually an alias.
3. edje_edit_group_aliased_get - return the main real group that is being aliased.
4. edje_edit_group_alias_add - add new alias name.

Also the function "edje_edit_group_del" was modified because of wrong behaviour.
Now if the given group is alias, it will successfully delete it,
but if the given group is main group, it will also delete all it's aliases.

This commit also modify EDJ file by adding new field for detecting if the group is alias or not.

Reviewers: cedric, seoz, raster

Reviewed By: raster

CC: reutskiy.v.v, cedric

Differential Revision: https://phab.enlightenment.org/D376
2013-12-14 18:40:26 +09:00
Carsten Haitzler 3a47fe5fa8 evas common - uninitialized use warning remove 2013-12-14 18:28:56 +09:00
Vorobiov Vitalii ae2be0c2d3 edje: Fixing little misbehavior of edje_edit_state_rel_to_set
Summary:
After making part relative to the whole interface (by giving NULL parameter)
it was returning EINA_FALSE (not successfull).

Reviewers: seoz, cedric, raster

Reviewed By: raster

CC: reutskiy.v.v, cedric

Differential Revision: https://phab.enlightenment.org/D379
2013-12-14 18:26:30 +09:00
Tom Hacohen 7141c1dbb2 Evas textblock: Fixed deletion of ranges ending with visual formats.
This is a regression introduced in:
3f3ad67616
2013-12-13 14:44:16 +00:00
Carsten Haitzler f8b5dcf126 ecore_file - finding exe path - if HOME is not set a leak could happen
this fixes CID 1039279
2013-12-13 21:26:05 +09:00
Carsten Haitzler e4b029da0b eina - eina_file - fix leak of fd is fd is 0
this should fix CID 1039181
2013-12-13 21:26:05 +09:00
Carsten Haitzler 5d6e30fae0 fix fd leak in emotion webcam where fd of value 0 never closed
fixes CID 1039175
2013-12-13 21:26:05 +09:00
Carsten Haitzler c6119802d1 edje - lib - remove useless memset as later memcpy overwrites
this removes a useless memset that does nothing usefule as a later
memcpy (not far down from it) will overwrite it anyway.
2013-12-13 21:26:05 +09:00
Carsten Haitzler 75fbf9e03a ethumb - ensure buf is nul terminated
this SHOULD deal with CID 1039577  and CID 1039576
2013-12-13 21:26:05 +09:00
Carsten Haitzler a99bc89331 evas - common - remove useless new as next call allocs if NULL 2013-12-13 21:26:05 +09:00
Carsten Haitzler 8cdef1831c ecore-con - fix possible unterminated buffers
this should fix CID 1039725 and CID 1039724
2013-12-13 21:26:05 +09:00
Youngbok Shin f374815a3e [Edje] Update anchor and item tags when text is deleted by _edje_entry_imf_event_delete_surrounding_cb.
Summary:
Anchor and item tags should be updated when text is changed.
In _edje_entry_imf_event_delete_surrounding_cb function,
the text is changed by "evas_textblock_cursor_range_delete" API
and there was no update about anchor and item tags.

It can result that the tags hang in the air after deleting.

Reviewers: tasn, woohyun, seoz, jihoon

Reviewed By: tasn

CC: cedric

Differential Revision: https://phab.enlightenment.org/D368
2013-12-13 12:04:50 +00:00
Cedric BAIL ca2f9571ab emotion: make webcam initialization lazy and non blocking.
This should fix T648.
2013-12-13 12:44:19 +09:00
Cedric BAIL 96c1d15ac0 emotion: fix potential memory leak when webcam register fail. 2013-12-13 12:22:06 +09:00
Cedric BAIL f6c4513da4 emotion: use emotion log domain instead of eina one. 2013-12-13 11:30:46 +09:00
Cedric BAIL d55164c5a2 emotion: lower warning on webcam access error to information (Not critical anyway). 2013-12-13 11:30:46 +09:00
Carsten Haitzler 675309d9d9 ecore_con - dns.c - re-fix coverty double-free. coverity was and is right.
fixes CID 1039909 again (it's back after rebase). it is an actual bug.
2013-12-13 09:41:23 +09:00
discomfitor 0f46b8d7ec fix ecore-x shadow warning 2013-12-12 09:31:08 -05:00
discomfitor 5a549c8e97 rebase dns.c from upstream 2013-12-12 09:29:02 -05:00
Carsten Haitzler f0ba71314e eet data encode - dont free data if its not separately allocated
in one case data is not separately allocated but is part of the
Eet_Variant_Unknow struct where it is allocated as extra space on the
end of the data blob. in this case don't free it, otherwise do (pass
in true) as before. this should fix CID 1039728
2013-12-11 20:44:51 +09:00
Carsten Haitzler 98293fadb1 evas - font dir - remove from hash before free/del
this addresses CID 1039889 but was otherwise harmless
2013-12-11 19:49:36 +09:00
Carsten Haitzler efdeb257b4 ethumb - client lib - fix access of async item in idler after free
this fixes CID 1039892
2013-12-11 19:42:07 +09:00
Carsten Haitzler 4d7edf623b ephysics - fix real access-after-free issue on delete of constraint
this fixes CID 1039895
2013-12-11 19:38:46 +09:00
Carsten Haitzler 1c267deb8f ecore-con - dns.c - fix double free
this fixes CID 1039909
2013-12-11 19:32:54 +09:00
Carsten Haitzler 5a9184b323 evas - textblock - fix dbg_info_get to avoid leak if root is NULL
fixes CID 1040007
2013-12-11 19:00:15 +09:00
Sebastian Dransfeld 50569a69c9 ecore_x: ensure positive malloc size
size_ret is used later as an argument for malloc, so it should be
positive. In addition this should ensure that
ecore_x_window_porp_property_get returns a positive value and is true if
we malloc data.

Hopefully also fixes CID 1135636
2013-12-10 09:10:54 +01:00
Sebastian Dransfeld 4a24b84185 ecore_x: remove double free
We first free'd the data in the else, then at the end.

Now we free old_data just before return, and at the end.

Fixes CID 1135637
2013-12-10 08:30:23 +01:00
Carsten Haitzler b3d69254b6 ecore-evas - disable comp syncing by default (can be turned on though still) 2013-12-10 14:02:27 +09:00
Jean-Philippe Andre 0cb048f9b6 Evas textblock: Fix crash with empty markups values
Markup parsing will segv if a value string is empty,
as in "<style=>". Sure, this is invalid, but hey, it could
definitely be used from an app or even by a user writing
his own markups :)

The internal doc says this function expects an item to be
of the form "key=val" but there are no checks beyond the
presence of "=" in the string before calling it.
2013-12-10 12:05:04 +09:00
Daniel Juyung Seo e163b3eef5 ecore_evas: added missing documentation for ecore_evas_manual_render_set/get(). 2013-12-10 00:58:28 +09:00
Tom Hacohen b5262de237 Evas textblock: Slightly improve paragraph items freeing.
Use the EINA_LIST_FREE macro instead of a safe loop and a list free.
This is faster and cleaner.
2013-12-09 13:33:46 +00:00
Carsten Haitzler 82841fefe3 fix seb "fix" commit that causes lots of segvs.
this fixes 04e0a6d95e which introduced
copy & paste segv's by properly terminating the right buffer.
2013-12-09 18:39:07 +09:00
Jean-Philippe Andre b10dcb5c23 Evas/cserve2: Fix crash during shutdown
If an image failed to load, and cserve2 returned an error message,
then the File_Entry was freed, but not removed from the hash.
Solution: remove entry from the hash, let the callback free the data.
2013-12-09 17:48:32 +09:00
Daniel Zaoui 1ae7a4f5e2 Ecore: add DnD abort from source
This can be used to cancel a DnD drag operation in the middle.
2013-12-09 09:11:27 +02:00
Carsten Haitzler 0e902ffffe ecore evas - add animator update syncing to only render on animator ticks
this adds a ifdefable feature to sync rendering only to animator
slots. this should reduce over-render of more frames than a user can
see when updates are triggered by things like mouse movements (which
may come in many times faster than the framerate). this is an
experiment to see if this helps smoothness and load. it also has
problems in e grabs x while rendering - this is now fixed in e18
alreadey, but it is just a config you can turn off.
2013-12-09 14:48:07 +09:00
Carsten Haitzler cc1ff31276 ecore loop + animator - add call to get if an animator cb has run this iter
this adds a simple call and infra to get if an animator has run this
iteration. it's simple and not really useful other than internally to
efl.
2013-12-09 14:48:07 +09:00
Sebastian Dransfeld 752d627a93 ecore_x: Fix buffer overrun
Use strncpy to prevent buffer overrun on buf, and '\0' terminate.

Fixes CID 1039584
2013-12-07 21:11:34 +01:00
Sebastian Dransfeld 8b72bd6e6d ecore_x: Fix bug in ecore_x_region_invert
As bounds is a pointer, bounds + num will always be postive, so this is
an eternal loop. In addition, XFixesInvertRegion only accepts one
region, so num must be 1.

Fixes CID 1039469
2013-12-07 21:11:34 +01:00
Sebastian Dransfeld c8b8738612 ecore_x: Remove NULL check
to get here, old_data != NULL.

Fixes CID 1039648 and 1039649
2013-12-07 21:11:34 +01:00
Sebastian Dransfeld 1905fd4858 ecore_x: Use free, not XFree
Data returned from ecore_x_window_prop_property_get are malloced, so use
free, not XFree. Which also is consistent, as free was used on other
occasions.
2013-12-07 21:11:34 +01:00
Sebastian Dransfeld f4c71fba21 ecore_x: supported isn't an optional argument
if supported is NULL, this function isn't of any use.

Fixes CID 1039430
2013-12-07 21:11:34 +01:00
Sebastian Dransfeld 31d0a2d71c ecore_x: Only use att if call succeeds.
XGetWindowAttributes isn't guaranteed to succeed.

Fixes CID 1039692
2013-12-07 21:11:34 +01:00
Sebastian Dransfeld 6b1438af05 ecore_x: Only do memset if len < 20
If len is 20, n is 0, and nothing to memset.

Fixes CID 1039311
2013-12-07 21:11:34 +01:00
Sebastian Dransfeld aca33ef3d9 ecore_x: always free data and return value
if we are the selected parser, we are responsible for free'ing data and
returning a selection value.
2013-12-07 21:11:33 +01:00
Sebastian Dransfeld f22f861f61 ecore_x: Check if we have data
data could be NULL and size == 0, so check for this.

Fixes CID 1039264
2013-12-07 21:11:33 +01:00
Sebastian Dransfeld 04e0a6d95e ecore_x: '\0' terminate converted text
This makes ecore_x text converter behave like elm text converter.

Fixes CID 1039310
2013-12-07 21:11:33 +01:00
Sebastian Dransfeld 50feb1f8da ecore_x: Use eina_inlist
ecore_x_selection implemented it's own single linked list. Use
eina_inlist instead.
2013-12-07 21:11:33 +01:00
Sebastian Dransfeld d09ceaf4c1 ecore_x: Only send XdndEnter when we have types
If ecore_x_window_prop_property_get fails, we have no types to drop so
don't send XdndEnter.

Fixes CID 1039693
2013-12-07 21:11:33 +01:00
Sebastian Dransfeld 31fde249d4 ecore_x: Also check for !prop here
We check if prop is NULL after first property check, do it here too.

Fixes CID 1039429
2013-12-07 21:11:33 +01:00
Sebastian Dransfeld 6f56406f59 eldbus: Check return value of eina_value_pget
If eina_value_pget returns FALSE, we shouldn't continue.

Fixes CID 1039685
2013-12-07 21:11:33 +01:00
Sebastian Dransfeld 2b9710431e eldbus: use alloca to allocate local mem
Since we free the allocated mem some lines down, we can use alloca. This
also fixes CID 1039179
2013-12-07 21:11:33 +01:00
Sebastian Dransfeld 831d17a8e8 eldbus: unref msg on error
If we return here, the msg isn't sent, so unref it.

Fixes CID 1039178
2013-12-07 21:11:33 +01:00
Sebastian Dransfeld c5caea03e3 eldbus: on error unref msg
This is done on all other errors, EINA_SAFETY macros ain't no silver
bullet.

Fixes CID 1039177
2013-12-07 21:11:33 +01:00
Sebastian Dransfeld f950e7990f eldbus: free allocated mem on error
Fixes CID 1039177
2013-12-07 21:11:33 +01:00
Sebastian Dransfeld 1d1feea572 eldbus: Check return value of _type_size
_type_size could return 0, which would fail in the modulo call next.
Check for 0, and return.

Fixes CID 1039436
2013-12-07 21:11:32 +01:00
Sebastian Dransfeld 08978ddb56 eina: Set it to NULL before next iteration
it might have been free'd by the user, so set it to NULL before next
iteration. This is an attempt to fix CID 1039913 and 1039914.

We don't use the pointer value, only the pointer, so the error is wrong.
Could flag the error in coverity, but if this fixes it, we wont see the
error in other situations.
2013-12-07 21:11:32 +01:00
ChunEon Park 3c58b3ebeb Revert "evas/render - make sure render pre in proxy rendering."
This reverts commit b113f555e0.

found side effect... revert this code until fix them.
2013-12-08 03:14:14 +09:00
ChunEon Park b113f555e0 evas/render - make sure render pre in proxy rendering.
if the some of children are the mapped object in source object tree as well as the the mappped object is invisible,
then they wont be render_pre() called.

this make sure those render_pre() in proxy rendering.
2013-12-08 02:40:35 +09:00
Carsten Haitzler abb06c111b evas - silence coverty (false positive leak)
the hash can't leak where coverty thinks... because the hash find can
never work ... because the hash is empty.
2013-12-06 09:07:44 +09:00
Vostokov Sergey 6a5e72d37b evas - Clip mark performance improvement
stable release - cherry-pick me!

We propose a patch that reduces graph traversal work in
evas_object_child_map_across_mark(). It fixes a few particular
slowdowns around Tizen applications, including 0.6 seconds slowdown.

evas_object_child_map_across_mark() does not seem to need to
recursively call itself on the same object many times. Yet we have
noticed that in some scenarios it repeatedly traverses the same
subtrees of objects over and over again, whenever there is more than
one way of reaching these subtrees. In the production issue mentioned
above, certain elm_object_part_content_set() call results in millions
of recursive calls of evas_object_child_map_across_mark(), taking
~0.6sec total.

We propose to allocate a hash table during top-level call to store all
objects visited, and return from sub-calls instantly whenever we are
called over an object we already visited.
2013-12-05 21:08:35 +09:00
Carsten Haitzler 9c3682b746 evas - fix overdraw + too many rects problem found in some expedite tests
stable release - cherry-pick me!

there way a problem with software rendering - it rendered some areas
more than once per frame due to overlapping rectangles. it also had
more rectangles to cover the same update area that it should have had.
this fixes this.
2013-12-05 20:04:26 +09:00
Cedric Bail 2e9f96cc24 eina: this is actually a better way of improving Eina_Hash performance.
This reduce the size of the rbtree part dedicated to the hash key match,
but reuse only bit that weren't matched by the bucket.
2013-12-05 16:32:02 +09:00
Daniel Juyung Seo 998c543ae2 ecore ecore_glib.c: fixed documentation about glib integration always configure option.
--enable-glib-integration-always was changed to --with-glib=always in efl 1.8.
2013-12-04 19:45:17 +09:00
Cedric Bail ff845b0a7c eina: improve cmp function of eina_hash string related hash.
For strings, we already know the length, so let's just not call the
heavy strcmp if the length is not already the same. Get some easy
speedup here.
2013-12-04 19:05:03 +09:00
Cedric Bail df909605c5 eina: increase hash matching inside of Eina_Hash.
This is the correct implementation of the idea developped in Lucas De Marchi's blog :
http://www.politreco.com/2013/09/optimizing-hash-table-with-kmod-as-testbed/

This give an interesting +15% for all Eina_Hash user whatever hash function they use. The inlined
djb2 is still the fastest one and all other give very close result. It does increase memory foot
print, but as much as the previous way of doing it.
2013-12-04 18:33:05 +09:00
Cedric Bail 3a15c5bbb3 Revert "eina: work around current strange behavior seen in eina_cow."
This reverts commit e4107b2936.
2013-12-04 18:33:05 +09:00
Cedric Bail 4f161f0c8d Revert "eina: more work around to limit problem."
This reverts commit c5db264e0a.
2013-12-04 18:33:05 +09:00
Cedric Bail 3c7185e880 Revert "eina: check if the complete hash match before checking if the key match during children walk."
This reverts commit 295babadb1.

The implementation of that said optimization is actually wrong.
2013-12-04 18:33:04 +09:00
Cedric Bail c5db264e0a eina: more work around to limit problem. 2013-12-04 16:31:49 +09:00
Cedric Bail e4107b2936 eina: work around current strange behavior seen in eina_cow.
This is not perfect, it will just limit the propagation of the problem
for some time. Yes, it does hide it under the carpet, but that's better
than having a crash. Problem seems to be in Eina_Hash, but is really
difficult to reproduce and fix for the moment.
2013-12-04 15:36:17 +09:00
ChunEon Park a7c51c4d39 evas/event - fix the inccorect event hit area.
cedriccccccccccccccccccccccccccc!!!!!!!!!!!!!!!!!!
2013-12-04 01:04:21 +09:00
Cedric Bail f90803aa2f evas: bugfix in evas_render of not maintaining changed flags on object correctly.
This bug is particularly visible in EFM video preview ( T 539 ). The problem is
that the logic for changed has evolved over time. At the beginning Evas canvas
was flat and could be handle in an array. It was then not using the changed flag
that much. This day, we are living with a tree and we need to propagate the
changed flag to the parent, so that when we walk them we only need to walk the
active objects and don't spend our time on branch that are completely static.

Sadly things did collide here. We remove all object that have been rendered
from the pending_objects array. That does include any smart object that was
processed even if one of the child was not. Once any of the child of that not
processed object is marked changed, it will be propagated up to the first
parent that is changed. As the parent of that one are marked as not changed
when evas_render walk the tree, he is blocked really early in the process and
never get a chance to detect that the child of a not changed object did change
and tada !

The fix is to add all the parent of all the object that are in the pending_objects
array back into the pending_objects list. So they will always be marked as changed.
Another alternative to this logic would have been to change pending_change to
filter out those and keep them around. I choose the first solution as I think it
will be more robust to catch all the parent in all case.
2013-12-03 16:43:58 +09:00
Carsten Haitzler 48d3253b45 NEON vectorization: added use of COLSAME define in map routine
Reviewers: raster

Reviewed By: raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D341
2013-12-02 16:33:34 +09:00
Daniel Juyung Seo 5b21fa7169 Revert "fix smart sma by allowing more recursion"
This reverts commit 1319733cae.

Let's revert this patch and lower the recursion number.
As we released efl 1.8, let's find the root causes of the problem and fix them.
I already told this revert to raster so I am not mean :)
2013-12-02 16:02:23 +09:00
Otavio Pontes afd8a238d1 Adding the cubic-bezier curve to edje transitions
Summary: Adding an option to use a cubic-bezier curve in edje transitions.

Reviewers: Sachiel, cedric, raster

Reviewed By: raster

CC: raster

Differential Revision: https://phab.enlightenment.org/D319
2013-12-02 15:02:40 +09:00
Carsten Haitzler 0b605c5daa Eldbus: added function for getting bus unique name
Summary:
Hello guys,

We are now working on a accessibility support for elementary (ATSPI2) and we need following function to correctly register application.

Reviewers: cedric, raster, lucasdemarchi

Reviewed By: raster

Differential Revision: https://phab.enlightenment.org/D327
2013-12-02 14:57:07 +09:00
Vyacheslav Reutskiy 40d4acd77e edje_edit: Add getters and setters for fixed param
Reviewers: cedric, seoz, raster

Reviewed By: raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D339
2013-12-02 14:54:28 +09:00
Daniel Juyung Seo e2467724da ecore ecore_x_e: check 0 and -1 for ecore_x_window_prop_card32_get() return value which mean fail.
- ecore_x_window_prop_card32_get() returns:
  -1 if the property was not successfully fetched.
  0 if the property exists but has no elements.
2013-12-02 12:46:18 +09:00
Jihoon Kim 49511730d7 fix unchecked return value of stat in ecore_file_mv
stat() function may fail and return an error code

This fixes CID 1039697
2013-12-02 09:40:48 +09:00
Cedric Bail 069a2b027f evil: use the right ifdef. 2013-12-01 20:56:52 +09:00
Carsten Haitzler 0f21e4cfa7 eina - fix set-but-unused warning in eina_cow when valgrind off 2013-12-01 13:52:53 +09:00
Carsten Haitzler 2512eaf157 evas event freezing is "wrong" for core events - turn it off
this turns off event freezing for SOME event types for eveas canvas
events (was was intended to begin with). this fixes T577
2013-12-01 13:26:04 +09:00
Carsten Haitzler 970bcc64d8 evas - pre/post render events are for canvas not object
the eo event naming was wrong for pre/post render event callbacks.
they are for the canvas as a whole, not per object
2013-12-01 12:50:45 +09:00
Carsten Haitzler c12ac143c6 fix freetype header includes to be correct where ft 2.5.1 breaks builds
this should fix T591
2013-12-01 12:16:28 +09:00
Boris Faure f45618d15b fix eina_cow issues. Closes T581, T527 2013-11-30 15:41:08 +01:00
Oleksandr Shcherbina 1cad4c2afe ecore/ecore_file: NULL-check for input parameter
Add check by NULL for input parameter 'path' in method ecore_file_mkpath

Reviewers: seoz, Hermet

CC: cedric

Differential Revision: https://phab.enlightenment.org/D349
2013-11-30 13:50:17 +09:00
Sebastian Dransfeld 3ebebbca1a eina: formatting 2013-11-29 22:20:50 +01:00
Sebastian Dransfeld 575f466a10 efreet: improve locking
Do find and ref inside lock, so no one can ref-- after we find desktop
2013-11-29 22:20:50 +01:00
Rafael Antognolli cc4aedaaee ecore/wayland: Use touch_focus for touch_based events.
Also call the mouse related events with BTN_LEFT instead of 0, otherwise
the correct button won't be assigned to the event (button 1).
2013-11-29 18:05:42 -02:00
Rafael Antognolli a14ee372e0 ecore/wayland: Send a mouse up event when the implicit grab starts.
The previous workaround used to send a mouse up event to the
application, using the pointer enter callback to determine when an
implicit grab has finished. This was "simulating" a mouse up event when
the surface move or resize finished.

However, this doesn't work for touch-based move. The pointer enter isn't
emitted, because the wl_touch interface doesn't have the concept of a
pointer.

Changing this code to make it more similar to what Weston's toytoolkit
does, the mouse up event is sent as soon as the move or resize grab
starts. After that, the compositor takes care of the move/resize almost
entirely.

Should fix T468.
2013-11-29 18:05:19 -02:00
Rafael Antognolli 2c95c5ee1d ecore/wayland: Get the touch up event position from the down_info.
down_info is a struct that stores some information about the current
pressed touch events. It should be used for that specific touch point,
instead of the generic input info, when sending a mouse_up event.
2013-11-29 18:05:06 -02:00
Rafael Antognolli b92fc57c5a ecore/wayland: Remove list of touch points from input structure.
We already have the "Ecore_Wl_Mouse_Down_Info" list, that contains this
information.
2013-11-29 18:05:06 -02:00
José Roberto de Souza 64687356b0 eldbus: Fix crash caused when the object of an monitored proxy is deleted
This happen because proxy was already freed and we try print some information
about the proxy in error message.

This fix: https://phab.enlightenment.org/T543
2013-11-29 17:21:14 -02:00
José Roberto de Souza b25fd77827 Revert "workaround for T543"
This reverts commit b663b5b8c7.
2013-11-29 16:39:10 -02:00
Jean-Philippe Andre 62093d99d4 evas/cserve2: Fix interrupt on select in edje_cc
Summary:
Block SIGCHLD during select().
This fixes a bug with edje_cc when EVAS_CSERVE2=1: Fixes T464.

select() used to return prematurately with EINTR because the
app received some unexpected signals. In particular SIGCHLD
is received when a child terminates, but this is not a reason
to cancel the image load.

In theory, all blocked signals in pselect() should be pending
until pselect returns, so any SIGCHLD should still trigger
the app's signal handler.

Reviewers: cedric

CC: raster, cedric

Maniphest Tasks: T464

Differential Revision: https://phab.enlightenment.org/D357
2013-11-29 15:47:57 +09:00
Cedric Bail 4f33c81bdb evas: roundup the step size of an array to fit in one page of memory.
This make an array stay in 4K instead of 20K before. It should reduce a little
bit our peak memory usage without slowing down things to much.
2013-11-29 15:33:51 +09:00
Cedric Bail aefd608453 eina: fix rounding logic to avoid making the array to short.
I have no idea how the previous formula was supposed to work at all, but
this one is the same as our alignof code to make sure we do allocate to
the really nearest size and don't do over allocation. Additionnaly it works.
2013-11-29 15:33:51 +09:00
Jihoon Kim 50e74f02d4 ecore_evas: fix wrong check in _ecore_evas_buffer_msg_send
'if (!child_ee)' implies that "child_ee" is equal to NULL, but
child_ee is used in the nest of if statement.

This fixes CID 1039431
2013-11-29 13:53:47 +09:00
ChunEon Park c61ce59162 evas - code refactoring.
put the frequently used compare prior to the other.
2013-11-28 21:24:11 +09:00
Carsten Haitzler 523d8607d1 fix eina_array_remove to actually realloc down in size to remove bloat
eina_array_remove() didnt ever realloc down unless we went to 0
members. this wasn't very good as you'd expect the array to be reduced
in size if enough items were removed. not only that the old code was
stupid and ALWAYS malloc()ed a new array of the exact same size and
copied items over in the most complex way possible, then freed the old
one. this would have added overhead wherever used (evas_render) that
should not have been there.

this is based on the idea in a patch from
Viacheslav Lvov <v.lvov@samsung.com>, but this is a re-do of it
entirely, reducing the codebase massively even compared to the patch
and making it much simpler to read, maintain, actually reduce memory
and cut overhead.
2013-11-28 18:03:54 +09:00
Cedric Bail 403e97ecb0 ecore_ipc: prevent a double free.
According to clang static analyzer it is possible to find a path where
buf and svr->buf are pointing to the same array, better be safe than sorry.
Arguably this code could be more readable if it was using Eina_Binbuf.
2013-11-28 17:17:09 +09:00
Cedric Bail a969459b0b evas: simplify logic for better readability.
This also should solve some complain from clang static analyzer.
2013-11-28 17:03:32 +09:00
Cedric Bail 8e7921dffa ecore_con: remove unecessary code. 2013-11-28 16:36:21 +09:00
ChunEon Park 7acdb30f95 evas/line - fix the line position set problem.
If the line goes to the 0, 0 then it won't be updated. Now it's fixed.
2013-11-28 14:03:05 +09:00
Daniel Juyung Seo a5c98947ae ecore ecore_x_e: initialize local variable to avoid having wrong value.
Thanks to devilhorns!
2013-11-27 21:43:06 +09:00
Cedric Bail 1e70d703b3 ecore_con: fix unitialized use of buffer from strncpy.
Fix CID 1039725.
2013-11-27 14:30:03 +09:00
Cedric Bail d0837ee5f5 ecore_con: fix non initialized use of buf with strncpy.
This fix CID 1039723.
2013-11-27 14:27:00 +09:00
Jihoon Kim 3d2b7f2ec1 edje_entry: fix out-ouf-bounds issue in _edje_entry_imf_event_preedit_changed_cb
The maximum index of tagname is 7, and preedit_type_size is equal to 8.
Checking "attr->preedit_type <= preedit_type_size" implies that the value of "attr->preedit_type" may be up to 8

This patch fixes CID 1039308
2013-11-27 09:31:26 +09:00
Daniel Juyung Seo 2ebd985b31 evas evas_render: removed unnecessary semicolon from a macro.
This fixes coverity CID 1132631.
2013-11-27 02:02:41 +09:00
Tom Hacohen 05d2701474 Eo: Fixed eo_manual_free to always return a value.
I wonder how come this wasn't triggered in 64bit and only in 32.
2013-11-26 13:08:55 +00:00
Tom Hacohen 8bba92fbca Evas object: Set manual_free to false once obj is detached from canvas.
This means unref will really free the object instead of just let it
linger in memory once the object is unrefed.
This is also correct because once detached from the canvas, Evas has
nothing to do with the object and it shouldn't need the manual free
anymore.
2013-11-26 12:16:22 +00:00
Tom Hacohen d6ac2464bb Eo: Make eo_manual_free() return a success flag.
eo_manual_free() can fail in some cases, and it is useful for users of
this API to know about it in order to decide what to do.
2013-11-26 12:10:53 +00:00
Tom Hacohen bb4a19b5ad Evas layer: Fix deletion of canvas with still-refed objects.
This fixes the infinite loop while deleting canvases with still
referenced objects.
The canvas should not assume it can get rid of all of the objects. Some
objects might be referenced. I also added a printf to let the user know
about it.

This fixes T565.
2013-11-26 11:48:25 +00:00
ChunEon Park bff48f92a3 evas - fix the memory corruption introduced by evas fonts_zero 2013-11-26 20:32:42 +09:00
Tom Hacohen c5af1a7305 Eo: Add an error message when old parent is wrong.
This is an addition to raster's fix in
55d8156414
(eo - base class protection against NULL old_parent_pd)
2013-11-26 10:10:24 +00:00
Daniel Juyung Seo e78c4e68f5 Ecore animator: delete animater's internal timer in _end_tick() in all cases.
When the ecore_animator_source_set() is called with different sources repeatedly, sometimes internal timer is not deleted and this leads animator misbehavior.
Especially when the source is changed from ECORE_ANIMATOR_SOURCE_TIMER to ECORE_ANIMATOR_SOURCE_CUSTOM before the SOURCE_TIMER's internal timer is deleted, this problem occurs.
In this case, even though _end_tick() is called in ecore_animator_source_set(), the SOURCE_TIMER's timer is not deleted because the source is already changed to CUSTOM.
So we should delete the internal timer in _end_tick() in all cases.
2013-11-26 17:09:37 +09:00
Carsten Haitzler 55d8156414 eo - base class protection against NULL old_parent_pd
bug T569 still shows that we have cases where, during e shutdown, we
still get eo_data_scope_get() return NULL for a parent object.
whatever this is, segfaulting is much worse than protecting and
marching on. so protect
2013-11-26 17:03:50 +09:00
ChunEon Park 58dfb4824f evas - stop over redraw of map content with smart object.
clip object would always stay in a changed state. nobody was walking them to reset.
Now we do reset there state as soon as we do render them.
2013-11-26 13:05:05 +09:00
Jihoon Kim ca16bcbf23 fix clang warning in _edje_entry_focus_in_cb 2013-11-26 08:48:21 +09:00
Tom Hacohen f0d3cb91b3 Evas textblock: Fixed wrapping of lines ending with whites.
Whites at the end of lines ending with whites should not be cut, but
should be wrapped (there's no legal line break there).

Thanks to Shilpa Singh for reporting.
2013-11-25 14:41:24 +00:00
Ryuan Choi 2f322e1273 ecore_file: Print more informative message when inotify_add_watch was failed.
inotify_add_watch can be failed because of several reasons.
2013-11-25 19:21:52 +09:00
Chris Michael 445f2eb206 Fix keyrepeat going crazy ;)
Previously, if you were hold down shift for 1-2 seconds and then press
a key, you would get superfluous key repeats (even tho you released
the printable key). This was because the "key repeat" code was not
checking for the same key before (re)starting the repeat timer.

This fixes the repeating key issue by checking if the key pressed is
different than the one already pressed. If so, it will (re)start the
timer. If it is not different, then the timer is already running and
we don't need to do anything.

Fixes T552

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-25 07:47:52 +00:00
Chris Michael 55c0dbb3c8 Fix ecore wayland key events to fill in Ecore_Event_Key with X11-like
values.

Previously, the keyname and key fields of the Ecore_Event_Key
structure were being filled in with the capitalized version of the
key. This is due to xkb_keysym_get_name always returning keys with the
modifier applied. There is no actual function in xkbcommon to Not do
this :/ so we have to manually check if Shift is pressed, and if so
then we need to convert the key to lowercase.

Fixes T550

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-25 07:38:00 +00:00
ChunEon Park 39599d1a26 evas - code refactoring.
merge duplicated(almost) functions to one.
2013-11-25 16:06:03 +09:00
ChunEon Park 59cb177b4b evas - fix proxy render to update the proxies recursively.
If a proxy has proxies, all the chained proxies should be updated recursively.
2013-11-25 10:09:34 +09:00
Carsten Haitzler 1319733cae fix smart sma by allowing more recursion
this ups the recursion allowance to 4096. it solves T494
2013-11-24 19:14:28 +09:00
Carsten Haitzler 38dd405712 evas - update extension/module loader list to match generic loaders list 2013-11-24 11:48:40 +09:00
U. Artie Eoff cfb121c8f8 ecore-wayland: test for subsurface protocol in wayland core
The subsurface protocol was moved into Wayland Core
around v1.3.90 (i.e. v1.4.0).

Test if subsurface protocol is part of wayland-client.h.
If not, we include our own copy of the protocol header.

Also, some whitespace cleanup in ecore_wl.c.

Tested with Wayland 1.3.0 and 1.3.90 (master:360dca5).

Fixes T529

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
2013-11-22 05:09:53 -08:00
ChunEon Park 58368ea636 edje - fix the side effect introduced by 12aba0db5a
Now do recalc parts correctly when edje is moved.
2013-11-22 14:06:47 +09:00
Cedric Bail e551f88a09 evas: Let fix the mess in our header instead of sweeping it under the carpet.
This also does fix the build on Windows.

This reverts commit 86c08e6985.
2013-11-22 11:06:07 +09:00
Mike Blumenkrantz b663b5b8c7 workaround for T543
this prevents crashing in efm:u2, but is really bad and needs to be fixed more competently before release
2013-11-21 14:44:43 -05:00
Tom Hacohen c23ef6de3d Evas textblock: Improved debug helper functions. 2013-11-21 14:22:02 +00:00
Tom Hacohen 86c08e6985 Revert "evas: this headers order are seriously insane..."
Perhaps they are insane, but as the comments imply it defines
USE_HARFBUZZ which is needed afterwards. You just broke everything. I
know it's a mess there, but it's a mess that works. Your change doesn't.

This reverts commit d4b9e3b287.
2013-11-21 10:55:37 +00:00
Cedric Bail d4b9e3b287 evas: this headers order are seriously insane, hope that one fix the last breakage. 2013-11-21 18:26:29 +09:00
Sebastian Dransfeld 233ca45db0 efreet: Only lock once for efficiency 2013-11-21 09:29:25 +01:00
Sebastian Dransfeld c85534af7e efreet: TODO++ 2013-11-21 09:29:25 +01:00
Sebastian Dransfeld e610047ef3 efreet: store volatile value locally before return 2013-11-21 09:29:25 +01:00
Cedric Bail 3b42ecbe1e evas: fixing headers order for windows build is insane. 2013-11-21 16:08:55 +09:00
Cedric Bail e11df0e085 evas: sorry for the last broken commit. 2013-11-21 15:33:21 +09:00
Cedric Bail c113bdcfcf evas: header order are important.
First system, then EFL public, then EFL internal. If not, you break windows
build.
2013-11-21 15:18:42 +09:00
Cedric Bail c9f6889bf6 evas: actually include the header. 2013-11-21 14:49:08 +09:00
Cedric Bail 62b469749a eina: fix the crash seen by some during rebuild.
Before this patch, we were unconditionnaly destroying the Eina_File if that one
did change on disk. We also make sure that we remove the right entry from the cache
if the file did change there.
2013-11-21 14:49:08 +09:00
ChunEon Park eea338764a edje - actually we don't need extra variable. 2013-11-21 13:50:19 +09:00
ChunEon Park 12aba0db5a edje - Fix to update map enabled part when edje object is moved. 2013-11-21 13:26:37 +09:00
ChunEon Park 035d573571 edje - cleaning the code.
keep our code convention.
2013-11-21 13:12:34 +09:00
ChunEon Park c28f08a477 edje - use Eina_Bool. 2013-11-21 13:00:55 +09:00
Cedric Bail 63c01cbb2a evas: reduce numbers of call to eet_init/eet_shutdown. 2013-11-21 10:50:48 +09:00
ChunEon Park 3c9059e3e4 edje - more elaborated compare to reduce compare count. 2013-11-21 10:25:35 +09:00
Tom Hacohen cad3cf30a4 Eo: Check parent is valid in eo_parent_set.
This is an extension to raster's 0355a6a296
(eo - fix _parent_set in base clase when old_parent_pd is NULL).
I also added an error message in case this check fails.
2013-11-20 12:23:18 +00:00
Carsten Haitzler 0355a6a296 eo - fix _parent_set in base clase when old_parent_pd is NULL
this should fix T538
2013-11-20 20:25:33 +09:00
Cedric Bail 0cfb40b7fb eina: cleanup file destruction and reintroduce EINA_MAGIC use. 2013-11-20 20:08:44 +09:00
Cedric Bail 4096a18523 edje: fix use of eina_hash_pointer_new to actually look at the right value. 2013-11-20 20:05:32 +09:00
ChunEon Park 21b8212902 edje - removed unused function. 2013-11-20 18:52:41 +09:00
Jérémy Zurcher 58b578c9b0 eina: fix a possible race condition during eina_file_close.
replay 7e8fb93 without the breakage
2013-11-20 10:22:00 +01:00
Jérémy Zurcher 8a3e021298 Revert "eina: fix a possible race condition during eina_file_close."
it breaks everything

This reverts commit 7e8fb93206.
2013-11-20 10:22:00 +01:00
Carsten Haitzler 4eb4307aa2 evas - table - protect against invalid cell/row values (16bit overflow) 2013-11-20 18:07:17 +09:00
Cedric Bail 7e8fb93206 eina: fix a possible race condition during eina_file_close.
The lock on the main hash was taken to late (after we took the decision
to remove the targeted Eina_File from the cache), this means it was possible
to get an Eina_File from the cache that was going to be removed. This patch
attempt to fix that potential race condition.

Hopefully should fix T461.
2013-11-20 13:02:37 +09:00
Carsten Haitzler 0146e3dacc Docs fix for ecore_animator_add fixed
Summary:
Function returns boolean value, docs said it can return int.
I had fixed that.

Reviewers: cedric, raster

Reviewed By: raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D342
2013-11-20 08:42:27 +09:00
Tom Hacohen 7bba64d7ee Evas textblock: Fixed order of tags inserted with markup_app/prepend.
The order was messed up when inserting a few formats in the
markup_append/prepend functions without any characters between them.
For example, inserting "<b><i>" would result in "<i><b>" being inserted.

Thanks to YoungBok Shin for reporting this.
2013-11-19 16:05:34 +00:00
Daniel Zaoui 086c5ae901 Evas Smart: print Eo id instead of pointer to internal data. 2013-11-19 16:32:43 +02:00
Chris Michael 0a32212a79 Add support for storing mulitple touch points.
Send events to properly focused surface.
Fill in missing parts of the event structures (ev->root, ev->multi).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-19 10:38:23 +00:00
Chris Michael e1dc4579fd Add list of touch points to input structure, and a pointer to the
"touch" focused surface.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-19 10:38:23 +00:00
Chris Michael 125576d6a1 Remove unused variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-19 10:38:23 +00:00
Chris Michael d96339e9bb Don't send pointer_enter events on touch_down.
Fix touch_down and touch_up to send proper button ID (ecore_x sends 0).

Fixes Phab Ticket T468

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-18 12:58:54 +00:00
Chris Michael 1f8789644b Remove read code.
Fixes Coverity CID1039498

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-18 12:52:38 +00:00
Chris Michael 164269a2da Malloc cannot accept a negative number so check 'num' parameter before
calling malloc.

Fixes Coverity CID1039352

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-18 11:50:42 +00:00
Cedric Bail 30fa53c13d eina: try to handle all possible 64bits pointers environment. 2013-11-18 19:21:06 +09:00
Cedric Bail ba30060ff9 evas: try to clarify licensing for people that are going to make their own Evas loader. 2013-11-18 19:21:06 +09:00
Chris Michael a490019b52 Remove dead assignments reported by nightly build
cw/cy are never used inside the "dosel" block, so no need to fetch
geometry and calculate difference here (already fetched below when
needed anyway).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-18 10:15:54 +00:00
Chris Michael 0800b2ec1e Partial revert of eb84475503
Actually, we don't need to free this data here.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-18 08:04:07 +00:00
Chris Michael eb84475503 Check for valid drag type before trying to strdup.
When deleting the drag, free any dupped strings.

Hopefully this fixes Phab Ticket T471. Don't know for sure as I cannot
reproduce the crash here :/

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-18 07:56:13 +00:00
ChunEon Park 5cefa00d0a evas/render - optimize proxy rendering.
redraw proxy if the source is smart object and it's changed visually.
2013-11-18 16:12:30 +09:00
Daniel Juyung Seo 1500338a8d evas_object_main.c: fixed formatting while reading the code. 2013-11-18 13:08:37 +09:00
Cedric BAIL 425b399172 eina: remove the value from the hash before changing it !
This should fix bug T439.
2013-11-17 12:20:02 +01:00
Cedric BAIL 239c326b96 evas: fix build without FontConfig.
Note that we still support building without FontConfig, so please
guard access to it.
2013-11-17 04:48:43 +01:00
Carsten Haitzler 753c359e61 ecore_fb - fix fb size get to use evas env vars for fb device
this makes evas ane ecore_fb agree on how to address the fb device.
this fixes terminology in fb on optimus (dual gpu) setups where you may
have to declare the exact fb to use (there are 2 of them, not just
fb0) and makes things consistent at least. this also should fix T253
2013-11-17 12:07:46 +09:00
Carsten Haitzler 80d666e7a4 ecore-audio - protect against more list-walking while list is modified 2013-11-17 11:03:20 +09:00
Andrii Kroitor a4c16c221e edje_edit: fixed SEGFAULT in _edje_real_part_free
Reviewers: cedric, seoz, raster

Reviewed By: raster

CC: reutskiy.v.v, cedric

Differential Revision: https://phab.enlightenment.org/D336
2013-11-16 09:55:42 +09:00
Carsten Haitzler deec62c9b6 evas - fix neon blend code used for text rendering to not leave dirty end 2013-11-15 19:17:01 +09:00
Chris Michael d00b7b2fe6 Do not call the contexts' input_panel_show/hide methods unless
input_panel_enabled is True.

Part of Fix for Phab Ticket T501

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-15 08:43:23 +00:00
Gustavo Sverzut Barbieri 8e362c7ad4 allow ecore to not load system modules.
this won't go to changelog/news as it's mainly internal, I can't see
people wanting to use it except rare cases as edje tools.
2013-11-14 13:27:19 -02:00
Chris Michael e8aa7087eb Check for valid shell_surface, title, and class before trying to set
them else wayland segfaults (internal wayland code does no safety
checks). Also, Fix some formatting while I am here...

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-14 12:44:10 +00:00
Cedric Bail 1281a8369f eina: fix uninitialized data use. 2013-11-12 19:01:10 +09:00
Vorobiov Vitalii d2ff8d70a5 edje: fixing the check whether the part is swallow.
Summary:
Some functions doesn't checking the part right.
For example:
edje_edit_part_clip_to_set
edje_edit_part_restack_below
edje_edit_part_restack_above
edje_edit_part_source_set

Reviewers: cedric, seoz

Reviewed By: cedric

CC: reutskiy.v.v, cedric

Differential Revision: https://phab.enlightenment.org/D325
2013-11-12 11:18:22 +09:00
Yakov Goldberg c101d85541 evas/textblock: add const for param in evas_object_textblock_style_set for consistency 2013-11-11 13:17:03 +02:00
Jihoon Kim d47bc40896 Add @since in the doc of ecore_imf_input_panel_hide () API 2013-11-11 20:02:51 +09:00
Jihoon Kim 8f15ccdce8 ecore_imf: fix indentation 2013-11-11 20:01:51 +09:00
ChunEon Park 0d9826919f evas/image - init default image state value explicitly. 2013-11-11 14:25:43 +09:00
Cedric BAIL 1027e7d59c eina: avoid warning. 2013-11-10 12:07:59 +01:00
Cedric BAIL 7241f07f9c eina: let's copy va_list when passing it around to be more portable.
NOTE: EINA_VALUE_TYPE_DISPATCH_RETURN macro is a bit weird, it does
use external variable not passed to the macro and half of the parameter
given to it are just ignored...
2013-11-10 09:43:57 +01:00
Cedric BAIL da559ee5d0 eina: use portable infrastructure to detect page size. 2013-11-10 09:26:12 +01:00
Cedric BAIL ecaca1d365 eina: detect page size in a portable way. 2013-11-10 09:25:16 +01:00
Carsten Haitzler 35228f32f1 ecore-audio - handle deletion of objects from outputs list in ctx fail cb 2013-11-10 11:04:18 +09:00
Carsten Haitzler 3b531d01bd ecore-audio - remove the obj from the list before calling eo super destructor 2013-11-10 10:45:33 +09:00
Cedric BAIL 81d2dc2681 eina: let's try to reduce the covered 64bits system. 2013-11-09 15:26:24 +01:00
Cedric Bail e6c4bcc57d eina: let pass the right size. 2013-11-09 20:43:20 +09:00
Cedric Bail 44f539e1a3 eina: fix eina_hash_int64 on Windows system. 2013-11-09 20:07:27 +09:00
Cedric Bail 926f4c5e84 efl: detect 64 bits correctly. 2013-11-09 19:48:31 +09:00
ChunEon Park 76c7b9a275 evas/image - fixed typo. 2013-11-09 17:07:58 +09:00
Carsten Haitzler 85a86e77f7 ecore_con - socks support - warning that shows invalid size calc
zmike - i think this was the problem. gcc warning caught it. size was
2013-11-09 10:11:12 +09:00
Tom Hacohen a52751d065 Eo: Fixed potential infinite loop with child deletion.
It looks like it should get into a loop for every object that has
children.
2013-11-08 12:11:27 +00:00
ChunEon Park cdf56cbdae evas/image - removed dead code. 2013-11-08 19:48:37 +09:00
ChunEon Park 6f93d61b19 evas - removed dead code. 2013-11-08 19:22:12 +09:00
Carsten Haitzler d2dcd875ac clean up previous commit with simple continues on invalid name 2013-11-08 17:42:34 +09:00
Youngbok Shin d6456c6c58 [edje_entry] Add null checking for name of anchor and item.
Summary:
Even if the anchor name is null, it will be appended to "anchors".
There are many null checking for name of anchor.
So it should be checked in geometry_get functions.

Test Plan:
Test with text "<a href =abc>We can't find name in this case</a>".
This text makes break the application. Because of a space between "href" and "=".
The name of anchor will be saved as null in "anchors".

Reviewers: woohyun, tasn, cedric

CC: cedric, raster

Differential Revision: https://phab.enlightenment.org/D318
2013-11-08 17:40:57 +09:00
Thiep Ha 44639b2098 Remove selection handlers (and move to elm)
Summary:
Selection handlers are now implemented in elementary. So, we should remove them from edje.
The BLOCK_HANDLE mode should be removed also.

Reviewers: cedric, tasn

CC: cedric, raster

Differential Revision: https://phab.enlightenment.org/D312
2013-11-08 17:30:45 +09:00
Tom Hacohen 6e3ead1936 Changed Eo class names to be consistent. #2
All the class names are now of the format: Elm_Type_Subtype_Extra

Thanks to Yakov for pointing out I forgot a few and for giving me a nice
list.
2013-11-07 14:37:00 +00:00
Chris Michael b3e309d04f Fix getting the clipboard selection and add missing LOGFN macros
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-07 14:31:37 +00:00
Chris Michael 9240c2e91c Add support for additional keyboard modifiers. Fix handling of Shift
key for capitals.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-07 14:31:37 +00:00
Chris Michael 5bde301efa Add some additional keyboard masks
This adds support for Windows logo, caps lock, num lock, scroll lock
and AltGr as keyboard modifiers

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-07 14:31:37 +00:00
Tom Hacohen c7addf4083 Changed Eo class names to be consistent.
All the class names are now of the format: Lib_Type_Subtype_Extra.
2013-11-07 11:17:52 +00:00
Vorobiov Vitalii c3bee34c3c eet: Stopped SPANKing the naughty programmer while deleting dictionary.
Function edje_edit_save_all cause lots of SPANK SPANK, because
eet_dictionary_free is trying to delete string that is actually not a stringshare.

Reviewers: cedric, seoz, raster

Reviewed By: cedric

CC: reutskiy.v.v, cedric

Differential Revision: https://phab.enlightenment.org/D322

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-11-07 17:58:47 +09:00
Sebastian Dransfeld 3dc5eb16cc ecore_x: accept -1 as valid mm size for no change
If we pass in w_mm = h_mm = -1 we want no change if w == cw and h == ch,
as we calculate w_mm and h_mm based on these later.
2013-11-07 09:18:16 +01:00
Sebastian Dransfeld 144d124445 ecore_x: store atoms internally
No need to request them every time.
2013-11-07 09:18:16 +01:00
Sebastian Dransfeld a7382dacfa ecore_x: get correct property
Since the function is ecore_x_randr_output_connector_type_get, I guess
we want RR_PROPERTY_CONNECTOR_TYPE, not RR_PROPERTY_CONNECTOR_NUMBER.
2013-11-07 09:18:16 +01:00
Tom Hacohen 087f945690 Eo: remove ; after while (0) in Eo.h.
The whole point of having "do {} while (0);" is to force people to add a
; after the call to the macro. Therefore there should be no semicolon.
2013-11-06 14:38:29 +00:00
Guillaume Friloux 838c3bed85 Fixes a bug where when you try to connect to a server using an
inexistant DNS, or having a DNS resolution error, there isnt any event
generated for the application to know.

This is not a complete fix has you need to fix a timeout value for it to
happen, but still, it makes it possible to work around it.

More work is needed on this.
2013-11-06 14:32:11 +01:00
Cedric Bail 721ef9bc26 evil: let's try a more modern declaration. 2013-11-06 11:11:55 +09:00
Ryuan Choi ec1ba32690 eina: Avoid increasing required alignment of target type warning on ARM in Eina_Hash.
Summary:
When building applications with -Wcast-align on ARM, there are following warnings.
increases required alignment of target type warnings. This impact eina_hash_murmur3.

Reviewers: cedric, seoz

Reviewed By: cedric

CC: cedric

Differential Revision: https://phab.enlightenment.org/D317

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-11-05 15:45:56 +09:00
Cedric Bail e570ea7805 ecore: remove coroutine for now. Can easily be reverted for 1.9. 2013-11-05 11:12:20 +09:00
Rafael Antognolli b5e6855266 ecore/wayland: Use eina_inlist instead of wl_list for inputs too. 2013-11-04 14:24:59 -02:00
Rafael Antognolli d1a9314cdd ecore/wayland: Use eina_inlist instead of wl_list for outputs too. 2013-11-04 14:18:39 -02:00
Rafael Antognolli 18ef47c173 ecore/wayland: Use eina_inlist instead of wl_list for globals.
Since we are allocating this list and returning it, let's make it more
EFL-like.
2013-11-04 13:50:04 -02:00
Jerome Pinot 2743382fa6 Add "--with-id" configure option that can be used to specify a
string identifying the build (vendor, maintainer, etc). It defines
EFL_BUILD_ID with default to "none". It can be used by applications
or for bug reports by including Efl_Config.h

Differential Revision: https://phab.enlightenment.org/D288
2013-11-04 22:12:12 +09:00
Rafael Antognolli fdf6828b7e ecore/wayland: Move Ecore_Wl_Output to a private header.
This is just not being used outside of ecore_wayland library, so just
move it and nothing breaks.
2013-11-04 11:06:49 -02:00
Carsten Haitzler b07c0a76ce alpha1 release autofoo/build tree work to pass distcheck and actually work 2013-11-04 18:33:35 +09:00
Cedric Bail 27cce49ab1 evil: let's try to get the right header. 2013-11-04 17:42:58 +09:00
Vincent Torri bc07d80e0c evil: add regex code (needed for elm).
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-11-04 16:40:29 +09:00
Vyacheslav Reutskiy 61965279d3 edje: fix error _edje_part_description_find_byname, use wrong object.
Reviewers: cedric, seoz

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D314

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-11-04 15:47:52 +09:00
Vyacheslav Reutskiy c2c416fdf7 edje: edje_edit api - fixed seg fault in the edje_edit_part_del
Reviewers: cedric, seoz

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D315

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-11-04 15:39:51 +09:00
Christophe Sadoine 6853dbcf23 eet: Adding EET_DATA_DESCRIPTOR_ADD_MAPPING_BASIC to add a basic type to a union.
I added EET_DATA_DESCRIPTOR_ADD_MAPPING_BASIC because I need basic types in unions, and EET_DATA_DESCRIPTOR_ADD_MAPPING is only for structs.
I also modified the example with a float and a string.

Reviewers: cedric

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D313

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-11-04 15:35:41 +09:00
Cedric Bail 2d54ae83bf evas: force complete items rebuild on evas_object_font_font_set. 2013-11-04 15:28:16 +09:00
Cedric Bail c179335b1f evas: update use of eina_cow_free for latest change. 2013-11-04 12:47:48 +09:00
Cedric Bail 7e3286b4ed edje: update use of eina_cow_free to latest change. 2013-11-04 12:47:34 +09:00
Cedric Bail 440471e599 eet: shutup a warning and use the right pointer source even if they are the same. 2013-11-04 12:46:48 +09:00
Cedric Bail 613947ac0d eina: make eina_cow_free reset the pointer to the default read only value. 2013-11-04 12:45:25 +09:00
Cedric Bail 05e17cb6b6 Revert "evas - clip shutdown fix to avoid invalid mem accesses"
This reverts commit eb6af1f1ff.

This commit was making the code much more complex than required. Let's make
eina_cow_free set the value back to its default.
2013-11-04 12:23:25 +09:00
Cedric Bail 07c306a272 eet: let's use const Eina_File here to. 2013-11-04 11:28:56 +09:00
Cedric Bail 1c7f602087 edje: use const Eina_File for mmap_set function. 2013-11-04 11:28:29 +09:00
Cedric Bail f4ae52ea67 evas: make mmap_set use const Eina_File. 2013-11-04 11:27:59 +09:00
Cedric Bail 687e4ae744 eina: roll const into Eina_File API.
Note that eina_file_dup is const from the caller perspective as it
will return a fresh "non const" Eina_File that it will be able to
manipulate as it like.
2013-11-04 11:26:59 +09:00
Carsten Haitzler eb6af1f1ff evas - clip shutdown fix to avoid invalid mem accesses
many valgrind complaints on e shutdown are there regarding accessing
cow sections, lists and object elements during shutdown. this plugs
theses little holes to avoid the invalid accesses and thus avoids
potential crashes.
2013-11-03 21:43:11 +09:00
Carsten Haitzler 9337af1187 eina thread - make note about valgrind complaint that is bogus 2013-11-03 20:51:41 +09:00
Carsten Haitzler 4eb7b81925 evas - re-fix to use first, last or if item is list head on text recomp 2013-11-03 20:33:05 +09:00
m.biliavskyi a3ce7c9b28 Make setter functions "edje_edit_script..." return Eina_Bool.
Summary:
Make the following function return Eina_Bool so the caller can detect errors :
List of updated functions:
edje_edit_script_set
edje_edit_script_program_set

Reviewers: cedric, seoz, raster

Reviewed By: raster

CC: reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D307
2013-11-02 21:26:18 +09:00
Carsten Haitzler f982f6f0a5 evas - text - only remove item from list if its in a list
this fixes a n eina complaint - valid as elipsis item was being
deleted and it was not in the list of items.
2013-11-02 19:35:45 +09:00
Carsten Haitzler c4f54e23e6 fix framespace handling in evas _render to not cause in/out events...
but this is not finished. this needs proper fixing. this is a quick
patch for just the worst. the real solution is discussed here:

https://phab.enlightenment.org/T457
2013-11-02 13:50:13 +09:00
Carsten Haitzler 298f4af7fa ecore-wl - add ecore_wl_window_surface_id_get so we can unbreak elm 2013-11-02 11:44:15 +09:00
Rafael Antognolli fe8058cf77 ecore/wayland: Finally move Ecore_Wayland internals to private header. 2013-11-01 15:55:39 -02:00
Rafael Antognolli b77ac9b57e ecore/wayland: Add ecore_wl_window_keyboard_get().
Instead of use direct access to the Ecore_Wl_Window structure, just use
the getter, so we can hide the internals.
2013-11-01 15:51:38 -02:00
Rafael Antognolli 8b852ad21e ecore/wayland: Set win->resizing flag inside ecore_wl_resize(). 2013-11-01 15:51:14 -02:00
Rafael Antognolli 6aa11cf89d ecore/wayland: Set win->moving from inside ecore_wayland.
We can set it from the ecore_wl_window_move() function, instead of
directly changing the attribute.
2013-11-01 15:07:53 -02:00
Rafael Antognolli 839a737a62 ecore(_evas)/wayland: Move frame callback to engine data.
It's something specific to the ecore_evas engine/module, so there's no
need to keep this info in the Ecore_Wl_Window.
2013-11-01 15:07:53 -02:00
Rafael Antognolli 1c33a1a57b ecore/wayland: Add title_set and class_name_set APIs.
These two APIs will save the title and class_name inside
Ecore_Wl_Window, so if they are called before the shell surface is
created, the stored names will be used later when the window is finally
shown (shell surface is created).

This way we are also hiding the shell surface from ecore_evas modules.
2013-11-01 15:07:48 -02:00
Rafael Antognolli 277a5915c1 ecore/wayland: Remove attributes that are not used anymore.
Some attributes might have been useful in the past, but not anymore.
Just remove since they are not been used anywhere.
2013-11-01 10:30:29 -02:00
Tom Hacohen a96b421fd4 Evas textgrid: Added some clouseau debug info. 2013-11-01 12:02:55 +00:00
WooHyun Jung 91bd46eee9 edje/edje_entry.c : By Next/Previous, cursor can reach to the top or the bottom of entry. 2013-11-01 18:32:43 +09:00
Andrii Kroitor d00721a3d7 edje: make mouse_events, repeat_events, ignore_flags and scale setters return Eina_Bool.
Make the following function return Eina_Bool so the caller can detect errors :
edje_edit_part_mouse_events_set
edje_edit_part_repeat_events_set
edje_edit_part_ignore_flags_set
edje_edit_part_scale_set

Reviewers: cedric, seoz

Reviewed By: cedric

CC: reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D303

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-11-01 11:31:47 +09:00
m.biliavskyi 6f8b1c1b02 edje: make functions "edje_edit_state_fill/aspect/align..." return Eina_Bool
Make the following function return Eina_Bool so the caller can detect errors :
List of updated functions:
edje_edit_state_align_x_set
edje_edit_state_align_y_set
edje_edit_state_aspect_min_set
edje_edit_state_aspect_max_set
edje_edit_state_aspect_pref_set
edje_edit_state_fill_origin_relative_x_set
edje_edit_state_fill_origin_relative_y_set
edje_edit_state_fill_origin_offset_x_set
edje_edit_state_fill_origin_offset_y_set
edje_edit_state_fill_size_relative_x_set
edje_edit_state_fill_size_relative_y_set
edje_edit_state_fill_size_offset_x_set
edje_edit_state_fill_size_offset_y_set

Reviewers: cedric, seoz

Reviewed By: cedric

CC: reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D300

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-11-01 11:31:36 +09:00
Youngbok Shin cdb86e34bb Evas: Fixed textblock rendering to properly set render operation on context.
Render operation are not well tested. It appears that it was never properly setted
on a textblock, this would lead to see it rendered with the render operation of another
object.

Test Plan:
Add some rectangle object with textblock object.
The textblock style should be set to "backing=on backing_color=#ffffffff".
Set render operation to some rectangle with "evas_object_render_op_set(rect, EVAS_RENDER_COPY)".
Check the textblock.

Reviewers: woohyun, cedric, raster

Reviewed By: cedric

CC: cedric

Differential Revision: https://phab.enlightenment.org/D277

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-11-01 11:12:01 +09:00
Andrii Kroitor 3973ecf2e8 edje: make functions return Eina_Bool and fix documentation.
Make the following functions return Eina_Bool so the caller can detect errors:
edje_edit_part_drag_x_set
edje_edit_part_drag_y_set
edje_edit_part_drag_step_x_set
edje_edit_part_drag_step_y_set
edje_edit_part_drag_count_x_set
edje_edit_part_drag_count_y_set

Added functions for threshold:
edje_edit_part_drag_threshold_set
edje_edit_part_drag_threshold_get

Fixed description of 'count' parameter of dragable.x/y

Reviewers: cedric, seoz

Reviewed By: cedric

CC: reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D304

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-11-01 11:03:34 +09:00
Vorobiov Vitalii 848cc1d1ea edje: make functions in edje_edit API return Eina_Bool.
Make the following functions return Eina_Bool so the caller can detect errors:
edje_edit_state_visible_set
edje_edit_state_color_class_set

Removed unnecessary check in edje_edit_state_image_border_fill_set.

Reviewers: cedric, seoz

Reviewed By: cedric

CC: reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D305

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-11-01 11:01:42 +09:00
Cedric Bail cf452cc419 edje: make it possible for all upper layer function to query the exact same file.
With Eina_File we now can pass an efficient handler accross library boundary. Edje
and all underlayer already use it to avoid race condition when setting an Edje object.
Elementary and Enlightenment are still exposed to some potential race condition when
an Edje file is modified underneath there feet. With the following set of function it
should now be possible to avoid those race condition to:
edje_mmap_data_get
edje_mmap_collection_list
edje_mmap_collection_list_free
edje_mmap_group_exists
2013-11-01 11:01:18 +09:00
Rafael Antognolli 1deb107d56 ecore/wayland: Do not store "edges" in Ecore_Wl_Window.
This is a configure event info, so put it in the right place. Some
places adding edges info were also removed, which means that they were
redundant.

Tested with <Meta> + middle click resize, and with window border resize,
on all the edges. Apparently, nothing breaks.
2013-10-31 21:35:13 -02:00
Rafael Antognolli dd18206d86 ecore/wayland: Do not use win->id directly.
Use a getter for it instead, so we don't need to expose the
Ecore_Wl_Window struct just because of it.
2013-10-31 21:35:13 -02:00
Rafael Antognolli e56428f4ad ecore/wayland: Make Ecore_Wl_Input private.
It's mostly only used inside ecore_wayland library anyway.

The only bit needed outside of the library is the "seat" pointer, but a
new function was added to retrieve such pointer from Ecore_Wl_Input.
2013-10-31 21:35:13 -02:00
Rafael Antognolli 35d2f195de ecore/wayland: Hide Ecore_Wl_Display.
This struct is only used inside ecore_wayland itself, so there's no real
reason to expose it. Apparently, hiding it doesn't break anything,
except for the ecore_imf wayland module, which was easily fixed.

If anyone notices a breakage, please let me know.
2013-10-31 21:35:13 -02:00
ChunEon Park 69077d19d7 evas/proxy - decide the proxy updation in the main render process.
because the proxy updation is decided in the proxy rendering time,

it couldn't be updated at the time if the source is changed before.
2013-10-31 17:04:23 +09:00
Vincent Torri 6e043dfb44 evil: remove libgen and the GNU *printf code (both in mingw-w64).
This should reduce the code size of evil and reduce maintainance as
mingw does now take care of it.

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-10-31 14:33:00 +09:00
Vorobiov Vitalii 3038d41ba1 edje: make functions return Eina_Bool and fix documentation.
Make the following functions return Eina_Bool so the caller can detect errors:
edje_edit_state_font_set
edje_edit_part_effect_set

Also deleted duplicate of the "edje_edit_state_font_set" function in Edje_Edit.h
Moved some defines (EDJE_TEXT_EFFECT_MASK_BASIC, EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION etc),
so doxygen generation was fixed.
Also added link (see also) in "edje_edit_part_effect_set" to the Edje_Text_Effect enum.

Reviewers: cedric, seoz

CC: reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D302

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-10-31 11:05:45 +09:00
Vorobiov Vitalii 2ae3f6902b edje: make functions in Text API return Eina_Bool.
Make the following functions return Eina_Bool so the caller can detect errors:
edje_edit_state_text_set
edje_edit_state_text_size_set
edje_edit_state_text_align_x_set
edje_edit_state_text_align_y_set
edje_edit_state_text_elipsis_set
edje_edit_state_text_fit_x_set
edje_edit_state_text_fit_y_set
edje_edit_state_text_min_x_set
edje_edit_state_text_min_y_set
edje_edit_state_text_max_x_set
edje_edit_state_text_max_y_set

Reviewers: cedric, seoz

CC: reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D301

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-10-31 11:04:18 +09:00
Cedric Bail e9614a9fdd evas: fix uninitialized use of font instance when no font is selected. 2013-10-31 11:02:28 +09:00
Jérémy Zurcher 1eb85fe746 fix raster's typo 2013-10-30 22:41:13 +01:00
Daniel Juyung Seo 2a1d175c02 Ecore_Common.h: fixed documentations. 2013-10-31 01:04:24 +09:00
Andrii Kroitor cdf7db2fa9 edje: fix typos/miss merge with a wrong return in edje_edit_image_del.
Because of unconditional return in function, a huge part of its body was
skipped making this function useless. Looked like a typo or missed merge.

Reviewers: cedric, seoz

CC: seoz

Differential Revision: https://phab.enlightenment.org/D281

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2013-10-30 22:30:16 +09:00
Vorobiov Vitalii a4e1a2e80a edje: make function "edje_edit_state_min/max..." return Eina_Bool.
Make the following function return Eina_Bool so the caller can detect errors :
List of updated functions:
edje_edit_state_min_h_set
edje_edit_state_min_w_set
edje_edit_state_max_h_set
edje_edit_state_max_w_set

Reviewers: cedric, seoz

CC: reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D299

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2013-10-30 22:30:16 +09:00
Andrii Kroitor 919c51de08 edje: make edje_edit_group_*_*_set return Eina_Bool.
Make the following function return Eina_Bool so that the caller can detect errors :
edje_edit_group_min_w_set
edje_edit_group_min_h_set
edje_edit_group_max_w_set
edje_edit_group_max_h_set

Reviewers: cedric, seoz

CC: reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D291

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2013-10-30 22:30:16 +09:00
m.biliavskyi 6af7368602 edje: make function which change style tag param's (name, value) and delete tag return Eina_Bool.
This patch make the following function return Eina_Bool so the caller can detect errors.
edje_edit_style_tag_value_set
edje_edit_style_tag_name_set
edje_edit_style_tag_del

Reviewers: cedric, seoz

Reviewed By: cedric

CC: reutskiy.v.v, seoz

Differential Revision: https://phab.enlightenment.org/D294

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2013-10-30 22:30:15 +09:00
Vorobiov Vitalii dae7b7349e edje: make setters for "edje_edit_state_image_..." return Eina_Bool.
This patch make the following function return Eina_Bool so the caller can
detect errors.
edje_edit_state_image_set
edje_edit_state_image_border_set
edje_edit_state_image_border_fill_set

Reviewers: cedric, seoz

CC: reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D295

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2013-10-30 22:30:15 +09:00
Andrii Kroitor 5d0e0c3f16 edje: make edje edit rel setters return Eina_Bool.
Make the following function return an Eina_Bool so the caller can detect
errors if it want :
edje_edit_state_rel1_relative_x_set
edje_edit_state_rel1_relative_y_set
edje_edit_state_rel2_relative_x_set
edje_edit_state_rel2_relative_y_set
edje_edit_state_rel1_offset_x_set
edje_edit_state_rel1_offset_y_set
edje_edit_state_rel2_offset_x_set
edje_edit_state_rel2_offset_y_set
edje_edit_state_rel1_to_x_set
edje_edit_state_rel1_to_y_set
edje_edit_state_rel2_to_x_set
edje_edit_state_rel2_to_y_set

Reviewers: cedric, seoz

CC: reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D296

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2013-10-30 22:30:15 +09:00
Vorobiov Vitalii 503cbbe80b edje: make setters for "edje_edit_state_color..." return Eina_Bool.
This patch start returning Eina_Bool for the following color setters to be
able to detect errors when calling them.
edje_edit_state_color_set
edje_edit_state_color2_set
edje_edit_state_color3_set

Reviewers: cedric, seoz

Reviewed By: cedric

CC: reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D297

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2013-10-30 22:30:15 +09:00
Vorobiov Vitalii 26cd65cfcb edje: Make setters for "edje_edit_state_min/max..." return Eina_Bool
This patch start returning Eina_Bool for state's min and max value setters, so
we can now catch error when calling those function.
edje_edit_state_min_h_set
edje_edit_state_min_w_set
edje_edit_state_max_h_set
edje_edit_state_max_w_set

Reviewers: cedric, seoz

Reviewed By: cedric

CC: reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D298

Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2013-10-30 22:30:15 +09:00
Jean-Philippe Andre b3b5999847 evas/cserve2: Prevent another infinite loop (flush)
And add some error messages
2013-10-30 19:48:17 +09:00
Jean-Philippe Andre 498418bb67 evas/cserve2: Prevent potential infinite loop (shutdown)
In shutdown, I've encountered an infinite loop.
It SHOULD NOT possibly happen, but somehow some image
was marked as delete_me=1 but still present in the LRU.
2013-10-30 19:48:17 +09:00
Jean-Philippe Andre 82e8028b5d evas/cserve2: Fix image preload with gl-x11 engine
Cserves supports only the SW (xlib) and GL (gl-x11) engines.
Also, improve cs2 support for some lesser used functions in the
gl_x11 engine.
2013-10-30 19:48:17 +09:00
Carsten Haitzler 6c28aff7a0 evas - animated images. fix leak in not freeing the list of frames itself 2013-10-30 18:18:08 +09:00
m.biliavskyi 1b802b0e3a Return Eina_Bool value for method which deleting style from edje_edit object.
Summary: This patch start returning Eina_Bool for deleting style from edje edit object to catch those error.

Reviewers: cedric

CC: reutskiy.v.v, seoz

Differential Revision: https://phab.enlightenment.org/D290
2013-10-30 08:40:11 +09:00
Rafael Antognolli 047e3bf113 ecore/wayland: Using underscore on private functions. 2013-10-29 19:32:00 -02:00
Rafael Antognolli cb0f6171a8 ecore/wayland: Oops, initialize member of malloc'ed struct. 2013-10-29 19:14:59 -02:00
Rafael Antognolli 06d6bf0dba ecore/wayland: Add some getters.
This centralizes the place where we have to wait for the init to have
finished before first using the compositor. It's also part of the later
step of hiding Ecore_Wl_* private structs.
2013-10-29 19:14:22 -02:00
Chris Michael d1d0090706 Don't send mouse_up or mouse_down events unless we have a focused
surface

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-10-29 08:05:32 +00:00
Jean-Philippe Andre aa6d4a3756 evas/cserve2: Fix error path in evas_cache2_image_writable()
Return NULL and check for nullity in the only calling function.

Fixes CID 1039461 (Logically dead code)
2013-10-29 15:12:58 +09:00
Jean-Philippe Andre 44f89bb8ad evas/cserve2: Fix CID 1039286 (Resource leak)
Close socket in case of connection failure.
2013-10-29 15:08:19 +09:00
Jean-Philippe Andre 10f80df018 evas/cserve2: Fix new Coverity issues
Nothing extraordinary here.
Most potential crashes are extremely unlikely.

- Fix CID 1113444

- Fix CID 1113442

- Fix CID 1113441 (Logically dead code, can not be NULL)

- Fix CID 1113440: Explicit null dereferenced

This is actually an impossible situation.
Fixed by checking for nullity and printing out some error
messages instead of just crashing.

- Fix CID 1113439: Dereference after null check

Logically impossible code as both idxpath and datapath
must be either set or null at the same time.
Change the if logic to tell Coverity there's no bug.

- Fix CID 1113438 (Argument cannot be negative)

Fix wrong check of return value from shm_open.

- Fix CID 1113437 (Argument cannot be negative)

Fix wrong check of return value from shm_open.

- Fix CID 1113436 (Dereference null return value)

This case really shouldn't happen.
But the extra check does not hurt.

- Fix CID 1113435 (Dereference before null check)

Check for nullity after map open.

- Fix CID 1113434 (Extra sizeof expression)

Debug buggy debug tool :)

- Fix CID 1113433 (Uninitialized scalar variable)

Insignificant issue: only prints wrong debug logs :)

- Fix CID 1113431 (Uninitialized scalar value)

Check if (!found) only to print out logs. Not a big deal
if found was invalid.

- Fix CID 1039462 (Logically dead code)
2013-10-29 15:08:14 +09:00
m.biliavskyi 73c2ae44e0 edje: return Eina_Bool values in setters for dragable confine and event params in Edje_Edit API.
Many Edje_Edit API can fail and don't return any error information. This patch start returning
Eina_Bool for setters on dragable confine and event params to catch those error.

Reviewers: cedric

Reviewed By: cedric

CC: seoz

Differential Revision: https://phab.enlightenment.org/D274

Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-10-29 10:24:31 +09:00
Rafael Antognolli ccdeae7ce4 ecore/wayland: Use sync callback to report end of ecore_wl_init().
At the end of the ecore_wl_init() function, send a sync request to the
server, and add a callback listener to the "done" event. When this event
is received, we are sure that all the registry bind requests done so
far were processed already, and that the registry and globals are
available and can be used.

Now, on the functions that request interfaces or registry, we call
_ecore_wl_init_wait(), which will check if the callback was received
already (that means that all requests inside the init were processed).
If it was not yet, then we wait until receiving that callback, before
returning the requested data.
2013-10-28 14:47:33 -02:00
Rafael Antognolli 3aca95bb22 ecore/wayland: Add info about other bound interfaces.
Add output, seat, data_device_manager and subcompositor as possible
bound interfaces, on the ECORE_WL_EVENT_INTERFACES_BOUND event info.
2013-10-28 14:47:32 -02:00
Rafael Antognolli ad731e8b21 Revert "change init done bindings."
This reverts commit b87afd1b94.

Wrong branch, wrong commit.
2013-10-28 14:46:40 -02:00
Rafael Antognolli b87afd1b94 change init done bindings. 2013-10-28 14:07:25 -02:00
Cedric Bail e35c7b19fb eina: long forgotten function in Eina_File for Windows. 2013-10-28 19:47:40 +09:00
Cedric Bail 6bc393e740 evas: fix leak of ellipsis object in Evas_Object_Text. 2013-10-28 19:45:46 +09:00
Cedric Bail 8b01f7b06d evas: fix possible memory leak in the ellipsis code. 2013-10-28 18:44:26 +09:00
Cedric Bail 1a3c9d68d0 eet: help the kernel to actually load the eet file in memory more efficiently.
When you open a theme, it is very likely that most of the data in it will be needed
at some point, that's why it is a good idea to tell it in advance to the kernel so
it could load them if it has some spare ressource.

We can't just blindly turn EINA_FILE_WILLNEED on any file or a wrong eet file would
be loaded in memory when we don't need it. So we shall keep the sequential load until
we are sure that the file is correct and then explicitely tell the kernel that the
rest of the data should be loaded in ram.
2013-10-28 18:32:40 +09:00
Cedric Bail 570ce667f3 eina: fix API as we don't and never will touch memory for write in that function. 2013-10-28 18:32:40 +09:00
Cedric Bail 60a34c1cd0 eina: avoid possible race condition when unreffing an Eina_File. 2013-10-28 18:32:40 +09:00
Jean-Philippe Andre 1513007815 evas/cserve2: Merge Glyph_Data and mempool index
Glyphs were previously using 3 shared buffers, now reduce to 2:
- Memory pool (mempool) containing the glyph drawable data
- Index table (Shared_Index / array) containing only the
  indexes of the buffers in the mempool
- Glyph_Data table (array) containing the glyphs descriptors
  AS WELL as the buffer indexes.

So, we just merge the two index tables into one by using directly
objects of type Glyph_Data for the referencing of the mempool
buffers.
2013-10-28 15:47:16 +09:00
Jean-Philippe Andre 7b62d77cf5 evas/cserve2: Add debug and reduce number of GLYPHS_USED messages
One socket message was sent per each glyph used ... which means
a LOT of messages when text is being redrawn.

Reduce this flow of messages by triggering send() only when
50+ items are being used.
Btw, USED is a bit useless as there is no UNUSED equivalent.

Also, slightly improve debug logs.
2013-10-28 15:47:16 +09:00
Jean-Philippe Andre 4c44b5a553 evas/cserve2: Use Eina_Refcount instead of int
Use the refcount macros instead of manually handling
integers. Not sure if it really helps since the refcounting
in cs2 client is a bit special :)
2013-10-28 15:47:16 +09:00
Jean-Philippe Andre ffa27c7082 evas/cserve2: prevent unwanted remap of strings table
In the client, string_get() can cause a remapping of the
strings index & mempool. This means that all pointers to
string data are invalid past that call.

Solution: add a safe_get() function that prevents remap
during search. It might prove faster also, but will
return NULL more often.
2013-10-28 15:47:16 +09:00
Jean-Philippe Andre c8e6f9e5f9 evas/cserve2: Fix font reloading after cserve2 restart.
Well it LOOKS like it's working properly.
Clients can safely keep running after cserve2 crashed and
restarted.
2013-10-28 15:47:16 +09:00
Jean-Philippe Andre 6b6e33e262 evas/cserve2: Fix refcount for glyphs & glyph buffers
Maybe a little overkill on the iterations (ref/unref),
but at least we can really track down which glyphs are
currently being used.
2013-10-28 15:47:16 +09:00
Jean-Philippe Andre e74cac57e4 evas/cserve2: Reconnect to cserve2 in case of server crash
Try to reconnect to cserve2 if the socket connection was lost.
Resend some messages if necessary.

Images reload seems to be working.
Actually, the images don't change over time, so the clients just
keep the previous references to their images.

FONT RELOAD IS NOT WORKING:
- Crashes
- Invalid glyph data
- Infinite loop in _glyph_map_remap_check()

Root cause:
When new glyphs are requested from the server, they are added to
the mempool. So it is necessary to remap the font.
Unfortunately, in case of server reboot, we did not keep the mempool
so the old glyphs that were not requested again will not be valid.
2013-10-28 15:47:16 +09:00
Jean-Philippe Andre 2cd0b316f1 evas/cserve2: Fix CList usage
In some error cases, the list could become a cycle.
Foreach would then loop forever!
2013-10-28 15:47:15 +09:00
Jean-Philippe Andre 9bb52372bd evas/cserve2: Fix animated Gifs support with cs2
cserve2 does not support animated Gifs, as the animated icon
logic doesn't match cserve2 logic.
Also, there is probably no need to cache these into shared
buffers anyways :)

Solution: fallback to normal cache (and delete current entry in
the client)
2013-10-28 15:47:15 +09:00
Jean-Philippe Andre f18b71d515 evas/cserve2: Fix invalid file referencing in client
Fixes elementary_test "Bg Image":
 - Various load_opts (jpeg geometry) where not handled properly
   by the client.
2013-10-28 15:47:15 +09:00
Jean-Philippe Andre 25d71f8236 evas/cserve2: Add alpha flag to Image_data 2013-10-28 15:47:15 +09:00
Jean-Philippe Andre 1e82480c9a evas/cserve2: Use scalecache with cserve2
Let's reuse the logic from scalecache and call cserve2
functions when the scalecache should be used.
So, now, cserve2 server will not scale any image... This is
too computationally intensive for the server's main thread.

This is not optimal but makes a hell of a lot more sense for
the moment. (since cserve2 manages the SHM segments)
2013-10-28 15:47:15 +09:00
Jean-Philippe Andre fc73405c40 evas/cserve2: Add cache hit count on image data 2013-10-28 15:47:15 +09:00
Jean-Philippe Andre 0d506a7b73 evas/cserve2: Fix images indexing (File_Entry stuff)
High-level problem:
cserve2 does not support load_opts properly when opening an image.
As a result, when (pre)loading a JPEG file with specific load
options (eg. w, h, region and orientation), the image buffer might
have the wrong dimensions.

So, we need to use load_opts when computing file hash key.
And, pass these load options to the loader slave,
and use them while OPENING the image. This will set
properly the geometry.

Fixes test "Preload and Prescale" in elementary_test.
2013-10-28 15:47:15 +09:00
Jean-Philippe Andre 97d9fab704 evas/cserve2: Fallback to normal cache for animated gifs
Pass around "animated" flag for images that can be animated.
Fallback to local cache if the image is animated.
Implementing support for animated images in cserve2 does
not seem to make a lot of sense considering each frame must
be requested independently in real time,... and to be honest
there doesn't seem to be any valid use case anyway :)
2013-10-28 15:47:15 +09:00
Jean-Philippe Andre bfe3fe27df evas: Fix potential crash after image preload
E17 crashed when running under cserve2.
Not sure about this commit. Also what about the other functions.
2013-10-28 15:47:15 +09:00
Jean-Philippe Andre 31a5bfb464 evas/cserve2: Reuse file entries when possible
For some reason, a new File_Entry was created whenever
a new image is loaded, even if that file was already
opened by the client.
2013-10-28 15:47:15 +09:00