Commit Graph

5325 Commits

Author SHA1 Message Date
Mike Blumenkrantz 7171135792 ecore evas should not crash when unsetting pointer
ref D812

disappointed.jpg
2015-02-06 17:54:08 -05:00
Chris Michael 92954b707c ecore-drm: Remove unused variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-02-05 11:21:36 -05:00
Chris Michael 773897b09b ecore-drm: Fix issue with ecore_drm_output_crtc_Find sending back an
invalid id. Fix T2086

Summary: In order to avoid getting returned an invalid id, we should
not be checking the currently active encoder and crtc combination
because outputs may have changed, encoders/crtc combinations could
have changed, etc, etc.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-02-05 11:08:36 -05:00
Michelle Legrand 73634580f8 ecore_cocoa: Handle more special characters and capital characters.
This improve the situation and only affect Ecore_Cocoa code base by
detecting a useful charactere.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 16:38:07 +01:00
Michelle Legrand 48fff1478c ecore_cocoa: add ecore event on mouse scroll for cocoa.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 16:38:07 +01:00
Michelle Legrand c9dd8fde7d ecore_cocoa: replace "keyname" by "key".
Ecore_Event_Key attribute "key" cannot be NULL. This
raise a segmentation fault in Enventor when hitting on
modifier keys.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 16:38:07 +01:00
Nicolas Aguirre 72baccaf44 ecore_cocoa: create a log domain and use Eina_Log.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 16:38:07 +01:00
Nicolas Aguirre 61fbb2ffd9 ecore_cocoa: don't send mouse event with negative x or y values.
With cocoa you may have negatives values when Mouse Down or Up. This
changes fix this behavior by sending mouse event only if x and y are
inside the ecore_evas space.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 16:38:07 +01:00
Romain Perier ff9eb2e8e7 ecore_cocoa: add new events type for multiple window support.
This commit adds a method in Ecore_Cocoa_Window to be able to retrieve an unique
identifier for each window. It adds new events type and modify existing ones to
pass these windows identifiers through the event call chain. Resize, GotFocus and
LotFocus events are also updated to pass these identifiers to event handlers.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 16:38:07 +01:00
Romain Perier c6945c075e ecore_cocoa: use the right Cocoa notification handlers for focus events
Don't use NSAppKitDefined events subtype for focus events, which contain NULL
window object most of the time. Use the NSWindowDelegate method designed for that
purpose instead. It fixes random focus issues in windows which was caused by
incorrect window identifier not found in ecore_evas_cocoa.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 16:38:07 +01:00
Romain Perier 382957c2b3 ecore_cocoa: add on the fly resizing support.
Until now, video_resize events was received only when application returned control
to the event loop. When a window is resized dynamically a lot of video_resize
events are emitted from EcoreCocoaWindow::windowDidResize and not handled
immediatly, only when the main thread is back to the ecore main loop. This is why
there are not refreshed window areas. Call ecore_main_loop_iterate() from
windowDidResize solves the issue.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 16:38:07 +01:00
Romain Perier 2f6c564cc9 ecore_cocoa: fix _nsevent_window_is_type_of() type check
isKindOfClass should receive an instance of a class and a class as arguments and
not two class. It fixes Mouse events sent to a window on OSX.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 16:38:07 +01:00
Michelle Legrand 1d18543719 ecore_cocoa: handle more special characters and capital characters.
This patch is self contained for Mac OS X and improve its keyboard handling.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 16:38:07 +01:00
pierre lamot 6fd31ab552 eina: fix semaphore initialisation
This patch fix the semaphore initialisation on posix plateform

there was a preconditon test which returned the semaphore
uninitialised when count_init was 1, this caused the semaphore to
be unusable on OSX plateform. Furthermore, it seems that we need to
unlink the semaphore before its initialisation on OSX as there seems
to have some kind of persistence of the semaphore accross execution.

warning, this patch change the signification of the parametter
count_init on linux plateform, this parametter is now consistent on
every plateform, with the meaning of setting the initial count value
of the semaphore.

This used to be on linux 1 -> the semaphore is shared and initialised
at 1 and 0 -> the semaphore is not initialised, thus, by side effect
not shared and initialised at 0.

This patch set on linux plateform the semaphore as systematically
shared

@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 16:38:06 +01:00
Oleksandr Shcherbina 8802ce2051 evas: Evas_3D - fix order of transformation while updating bounding object.
Summary:
The order of tranformation changed to scale, orientation, position as
in some cases it can lead to incorrect value for the bounding box.

@fix

Reviewers: cedric, Hermet, raster

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 15:37:15 +01:00
Oleksandr Shcherbina 0c4de0235c evas: Evas_3D - fix evas_3d_scene_pick when trying to get empty texcoords from mesh.
Summary:
During filling evas pick public data by API evas_3d_scene_pick
segfault can occur if mesh was created without texcoords.
See functions - _pick_data_mesh_add, _pick_data_texcoord_update

@fix

Reviewers: cedric, Hermet, raster

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 15:37:15 +01:00
Guilherme Lepsch c5c70e54fc eldbus: eina_value not allocated from mempool.
Summary: Eina_Value must be allocated with eina_value_new() to be freed by eina_value_free().
@fix

Reviewers: felipealmeida, larryolj, cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 15:37:15 +01:00
Bogdan Devichev 36515241b9 evas: Evas_3D - fix when bounding sphere is large, situation with incorrect frustum calculation was possible.
Summary: When center of bounding sphere was out of frustum and number of intersections between bs and planes of frustum was more then 3, objects disappeared.
@fix

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 15:37:15 +01:00
vivek e1eff60c80 eina: Eina_Value - use eina_mempool_free to cleanup the memory
Summary:
The new value is allocated using Eina_Mempool, it should be freed using
eina_mempool, not using libc free.

@fix

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 15:37:15 +01:00
Jean-Philippe Andre 69818e7c45 Evas masking: Fix another issue with masking
Fixes rendering in the following case:
- Object with a map has a mask
- Object is child of smart object which also has a map (eg. transit)
--> Masking did not apply to the children before this patch.

NOTE: This works fine in SW but still didn't work in GL, see the
      following commit...
2015-02-05 22:31:16 +09:00
Guilherme Lepsch cd0cca6f80 eldbus: fix memory leak.
Summary:

@fix

Reviewers: felipealmeida, larryolj, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 11:28:37 +01:00
Srivardhan Hebbar a2d40968df Ecore_con: fix initialisation clean up and avoid memory leak.
Summary: When ecore_init failed or when failed to initialize ecore_con_log_domain, then evil_shutdown was not called. So cleaned up code and added the fix.

@fix

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 11:27:00 +01:00
Srivardhan Hebbar a9a027509c evil: prevent _evil_init_count from going below zero.
Summary: _evil_init_count should never go below zero. This can occur, if a developer mistakenly calls evil_shutdown before calling evil_init. So fixing the code so that it never goes below zero.

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 11:24:40 +01:00
Guilherme Lepsch 629b5e3d2b eldbus: production code inside Eina Safety Check assert.
Summary: Eina Safety Checks assert macros don't do anything (no-op) if EINA_SAFETY_CHECKS is undefined.

@fix

Reviewers: felipealmeida, larryolj, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 11:23:44 +01:00
Dmytro Dadyka dad7df18b8 evas: Evas_3D - fix bug with uninit Evas_Mat4 flag.
Reviewers: Hermet, raster, cedric

@fix

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 11:17:01 +01:00
Daniel Juyung Seo 63bdc07a1a edje: Fix typo in a documentation while reading it. 2015-02-05 10:50:03 +09:00
Chris Michael 5030782290 ecore-x: Port deprecated API and new API function to xcb
Summary: This ports the deprecated screensaver_suspend and new API
screensaver_suspend to work with xcb.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-02-04 11:28:01 -05:00
Chris Michael 52564251bc ecore-x: Deprecate old misspelled API function and add new one
Summary: This deprecates the old misspelled screensaver_suspend API
function and adds a new one.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-02-04 11:26:53 -05:00
Chris Michael cf9f64cfc6 ecore-x: Deprecate misspelled screensaver API function
Summary: This API function is misspelled, so after speaking with
Stefan, we've decided to deprecate this function add add a properly
spelled one.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-02-04 11:26:46 -05:00
Srivardhan Hebbar 6fedf6819a Ecore_con: preventing _init_con_ssl_init_count to go below zero.
Summary: _init_con_ssl_init_count should not go below zero. This can occur if a developer mistakenly calls ssl shutdown before calling ssl init. So adding the check to prevent this.

Reviewers: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-04 14:09:38 +01:00
Daniel Hirt 7143bd7fb5 eina: fix valgrind invalid read of size in eina_file_path_sanitize.
Summary:
Apparently eina_tmpstr_strlen counts the null character as well. This
doesn't follow how strlen works, as the latter excludes it from the count.
This resulted in mistreatment of the string in _eina_file_escape, with
tmp_str paths that had "../".

This fix will do for now, but it is advised that we avoid using
eina_tmpstr_strlen, to prevent such confusions in the future.

Test Plan:
The following lines will throw a valgrind 'invalid read of size 1' error
prior this fix:
  char *path = "home/mydir/../myfile";
  Eina_Tmpstr *tmp_str = eina_tmpstr_add(path);
  char *ret_path = eina_file_path_sanitize(path);

@fix

Reviewers: cedric, stefan_schmidt

Subscribers: tasn, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-04 14:08:36 +01:00
Cedric BAIL 6a3971ec3d edje: quick fix to guarantee that ed->path is always correctly set.
NOTE: It will be better to completly remove ed->path in favor of using ed->file->f,
but that would be way to intrusive for this release cycle.
2015-02-04 14:08:07 +01:00
Carsten Haitzler e483d25082 ecore-x - undo api/abi break with input selecting before release 2015-02-04 18:58:48 +09:00
Carsten Haitzler b86579bed6 eet - fix endianess break added by cedric a year ago in image decoding
@fix

this fixes T1987 - the commit that broke it was:

commit 18d494489c
Author: Cedric BAIL <cedric.bail@samsung.com>
Date:   Fri Jan 3 16:20:53 2014 +0900

    eet: use eina_swap*() function instead of custom slower one.
2015-02-04 18:04:55 +09:00
Jean-Philippe Andre 9466f32dae Evas masking: Fix rendering of restacked masks of masks in a map
I know. This title does not explain anything. Whatever.

This fixes the following issue:
- Mask a genlist (big mask)
- Each item has an icon masked (small mask)
- Apply a map to the genlist
- Scrolling the genlist
--> The big mask still works but totally screws up the
    small icons with masks.

Note: Once again this patch only affects code paths where an
      object is a mask.
2015-02-04 15:03:41 +09:00
Jean-Philippe Andre a688ba45c8 Evas masking: Fix some remaining issues with animations
Yeah, mixing maps and masks of masks in a genlist leads
to tons of amazing bugs :)

This commit removes x,y from the "mask" field in an object,
as they are duplicates of cur->geometry.{x,y} but were not
properly kept in sync.

This patch fixes a situation of:
- A genlist in a map
- Each item has an icon masked
- Scrolling the genlist
--> The masked items would not render properly before this
    patch.

Remaining known problem:
- Mask a genlist (big mask)
- Each item has an icon masked (small mask)
- Apply a map to the genlist
- Scrolling the genlist
--> The big mask still works but totally screws up the
    small icons with masks.

Note: These changes look scary just before the release
      but I would have to backport them to 1.13.x as they
      definitely are bug fixes. Also, they only concern
      code paths used exclusively by masking.
2015-02-04 15:03:37 +09:00
Jean-Philippe Andre fbacbf7350 Evas masking: Fix masking of multiple objects in a map
All those masking bug fixes become harder to explain. But here goes:

 - Take a genlist, apply a mask to it (for example put everything
   in an elm_layout). Also play with various objects in the genlist.
 - Also apply a map to it (for instance, elm_transit zoom).

 --> Now some elements will be masked, some others will not,
     and some may even not render at all.

This patch restores a mask in the current drawing context, instead
of just unsetting it.
2015-02-04 12:48:10 +09:00
Jean-Philippe Andre 5fb43d3559 Evas masking: Forward previous mask where needed
In a situation where an object with mask of mask is in a map
(Yes! It can happen!) the masks would not get properly "multiplied".

Now the problem is that some objects still seem to bypass some
masks... Hmm...
2015-02-04 12:48:10 +09:00
Jean-Philippe Andre 89ee8e1446 Evas masking: Prevent drawing masks in the wrong surface
Masks should be actually rendered only to their specific target
surface.
2015-02-04 12:39:49 +09:00
Mike Blumenkrantz 11311bf01c ecore-drm should probably send the expected (reversed) scroll z value 2015-02-03 19:18:01 -05:00
Chris Michael eedd6c3159 ecore-wayland: Don't send key repeat events for keys which should not
get them

Summary: Some keys in certain keyboard layouts should not be repeated
so add a test which uses xkb to inform us if this key supports
repeating.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-02-03 15:31:17 -05:00
Jean-Philippe Andre 5afa07bf6c Evas masking: Check only the variable we want to set
This is a left-over from a previous fix a few weeks ago.
The point of this "if" is just to avoid writing the COW value
if not needed.

For reference:
  commit f876cf31f8
  Author: Jean-Philippe Andre <jp.andre@samsung.com>
  Date:   Tue Dec 23 18:57:45 2014 +0900
    Evas masking: Fix invalid geometry after mask redraw
2015-02-03 11:12:20 +09:00
Amitesh Singh 0f32ab49ce evas callback: Fix typo in documentation of evas_object_event_callback_del_full
Reviewers: cedric, seoz

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D1904
2015-02-03 11:02:20 +09:00
Chris Michael 37d21a4729 ecore-drm: Trap for failure to dup stdin
Summary: If we fail to duplicate stdin, we should write out an error
and exit appropriately.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-02-02 11:59:27 -05:00
Chris Michael 559b7d7ee6 ecore-drm: Fix formatting
NB: No functional changes, just formatting

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-02-02 11:46:50 -05:00
Daniel Hirt 7cbf22212f Revert "eina: eina_file - fix "invalid read of size 1" in valgrind"
This reverts commit f52f562891.

This is reverted because it breaks eina_file_path_sanitize when using
  "/../" in paths, for example:
eina_file_path_sanitize("/home/../mydir/myfile")
  returns: "/mydir/myfili"

What invalid read size does this fix? Why was no test case specified?
Anyway, this change affects too much code to leave it in like this.
2015-02-02 14:41:37 +02:00
WooHyun Jung 1051328256 edje: edje_entry - remove dead code 2015-02-02 19:12:42 +09:00
Vitalii Vorobiov bac07e79ce Edje: edje_edit - abort Recursive Reference in edje_edit_part_source_set
It is unable to do recursive reference such as:
>   Having group A with GROUP part that has group B as source.
>   Having group B with GROUP part that has group A as source.
Here we have a loop that is not allowed by edje_cc, so edje_edit also need
to check this case.

@fix
2015-02-02 11:37:20 +02:00
Mike Blumenkrantz 45aba1343e ecore-wl should maybe clear its repeat timer for keyboard on window free 2015-02-01 18:32:04 -05:00
Romain Perier f52f562891 eina: eina_file - fix "invalid read of size 1" in valgrind
@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-30 10:49:58 +01:00
Romain Perier 26253f6de4 ecore_win32: don't allocate Ecore_Event_Key events with NULL keys
If "keyname" and "key" are NULL an Ecore_Event_Key is allocated
throught calloc. strlen() is called on these variables, which crashes
the program. As it is not correct to return a key event for NULL
keys to ecore, it is preferrable to return NULL and exit the function
before the key event is allocated, which fixes the crash in the same
time.

@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-30 10:49:56 +01:00
Nicolas Aguirre 0e671630f1 eina: use uintptr_t for Eina_Thread storage to be the same size for the different architectures.
This should not be an ABI regression on the platform where it work (Unix). It is on Windows,
but the API was unusable at all without this change, so this is a necessary breakage to
unbreak things.

@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-30 10:49:55 +01:00
michelle legrand db55e76a4a eio: Win32 make GetOverlappedResult function non-blocking
@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-30 10:49:49 +01:00
michelle legrand 9350965125 evil: get right Windows environment variables for home path.
@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-30 10:49:48 +01:00
michelle legrand 256fc80dbc evil: add windows compatible langinfo.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-30 10:49:45 +01:00
Andrii Kroitor b457dff840 evil: fix SEGFAULT in strcasestr
Summary:
there was an unsigned int underflow.

@fix

Test Plan: strcasestr("a", "bbb");

Reviewers: cedric, raster, Hermet, seoz

Subscribers: cedric, reutskiy.v.v

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-29 21:17:05 +01:00
Daniel Kolesa 4a14bbd0f5 eolian: fix unary expression parsing (correctly consume tokens)
Also disable typed expression validation for now. The interfaces are not
finished yet so some things will fail validation because of unexistent
type definitions.

Fixes T2064.

@fix
2015-01-29 11:12:41 +00:00
Vincent Torri fc81ae40e3 evil: fix initialisation of the socket library.
@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-28 21:02:21 +01:00
Vitalii Vorobiov 60b1f44fdf edje: Edje_Edit - fix setting NULL into string pointer
Some of edje_edit functions allows to set up NULL instead of string,
but by using _edje_if_string_free() function it should set variable into NULL,
so previous data won't appear anymore.

@fix
2015-01-28 16:40:09 +02:00
Jean-Philippe Andre 5b4e0ece68 evas: fix some clipping issues before/after Evas_Map animations
Summary:
This is an attempt at fixing:
 - T1767: The ultimate evil map & clip bug

Force recalculation and re-propagation of clipper geometry
after or just before a map is applied (only when transiting
between map enabled and map disabled).

I realized that doing clip_unset+clip_set in the E widget
code would fix the issue, but this is not a solution that
makes a lot of sense.

Unfortunately I have no idea about the side effects of this
patch, especially in terms of performance.

Fixes T1767 and maybe T1630.

Test Plan:
Open PackageKit popup in E, check the animations
and that clipping works fine both during, before and after
the animations.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: cedric, Hermet

Maniphest Tasks: T1767

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-28 09:28:39 +01:00
Chris Michael 5987b1c702 ecore-xcb: Add missing EINA_UNUSED for function paramater
Summary: Depth is not used in the ecore_x_window_full_new function, so
add missing EINA_UNUSED

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-27 11:04:51 -05:00
Chris Michael 10c4a78281 ecore-xcb: Fix ecore_x_window_full_new function to compile again
Summary: Let's use the proper variable names when assigning return
mask values.

NB: How did all this even get Into git with someone checking it and
compiling it ??

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-27 11:04:50 -05:00
Chris Michael 1ba4cb369f ecore-xcb: Fix function formatting
Summary: No functional changes, just formatting

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-27 11:04:50 -05:00
Chris Michael 583c1300c1 ecore-xcb: Fix compiler build break
Summary: Use proper variable name when when trying to free selections
data

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-27 11:04:50 -05:00
Chris Michael 5b67da7c92 ecore-xcb: Fix unused paramater compiler warning
@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-27 11:04:50 -05:00
Chris Michael 7bf29561e6 ecore-x: Fix build error in xcb
Summary: If we do not get the property we are looking for here, then
reset the Proper variable to 0. This fixes a build break.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-27 11:04:50 -05:00
Chris Michael c466fc7d53 ecore-x: Use proper XCB_ATOM_CARDINAL in call to window_property_get
Summary: XA_CARDINAL is defined for xlib, XCB_ATOM_CARDINAL is defined
for xcb, so let's use the proper one and fix a build break.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-27 11:04:50 -05:00
Chris Michael c971fa845c ecore-x: Remove unused variable in backlight_available code
Summary: We never actually do anything with the _backlight variable
here, so just remove it

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-27 11:04:50 -05:00
Chris Michael 1135469fa4 ecore-x: Add missing EINA_UNUSED for function paramater
@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-27 11:04:50 -05:00
Chris Michael d7765bb21f ecore-x: Fix calls to disable dpms in xcb
Summary: We already have ecore_x_dpms code which handles this
properly, so call it here.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-27 11:04:50 -05:00
Stefan Schmidt cc17bb7fbf elocation: Hide also generated headers behind the BETA API define 2015-01-27 16:05:41 +01:00
Stefan Schmidt 803daba423 evas: Add since tag for new evas_textblock_cursor_range_simple_geometry_get() API 2015-01-27 14:47:59 +01:00
Stefan Schmidt 77df600b5d ecore_x: Add since tag for new ecore_x_input_select() API. 2015-01-27 12:00:14 +01:00
Stefan Schmidt dacce77523 ecore_input_evas: Add since tage for new ecore_event_evas_axis_update() API 2015-01-27 11:48:54 +01:00
Stefan Schmidt 5eb2d474ff ecore: Add since tag for new ecore_thread_wait() API
Added in this cycle but no since tag was given.
2015-01-27 11:35:54 +01:00
Jean-Philippe Andre bd818f7eca Evas render: Remove useless code
While invesigating some clip & map issues, I found some very
strange piece of code:
{
  tmp = a;
  a = c;
  a = tmp;
}

This actually comes from a very old code refactoring where a
line in-between was removed:

   tobj = obj->cur.map_parent;
   obj->cur.map_parent = obj->cur.clipper->cur.map_parent;
 - evas_object_clip_recalc(obj);
   obj->cur.map_parent = tobj;

Adding this line back there doesn't seem to do anything anyways.
So, let's just remove useless code.

For the record (legacy evas):
  commit e1f6f3c5f239dfd95a307949acd5f98831c0c3c0
  Date:   Fri Aug 17 06:16:04 2012 +0000
  evas/render - code refactoring.
  SVN revision: 75351
2015-01-27 12:28:08 +09:00
Cedric BAIL 686b10df55 eet: add warning about security to be sure people don't use this function in the wrong context. 2015-01-26 15:29:12 +01:00
Chris Michael 8eb78df3bb ecore-drm: Remove session parameter for session take/release functions
The functions to take or release a session no longer accept session
name as a parameter, so fix calls to those functions

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-26 08:37:09 -05:00
Chris Michael 3b4a989892 ecore-drm: Remove unused function parameter
The session take/release functions no longer need the session name
paramater, so remove that.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-26 08:37:09 -05:00
Chris Michael c853181533 ecore-drm: Remove session parameter for internal function
The session take/release functions no longer require the name of the
session, so remove the function parameter

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-26 08:37:09 -05:00
Chris Michael bd41178fb0 ecore-drm: Remove logind header file
Summary: These functions have been moved to the private header file
now, and thus this file is no longer needed.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-26 08:37:09 -05:00
Chris Michael 3c62f4222c ecore-drm: Move session and vt fields to store inside the
Ecore_Drm_Device

Summary: This moves storing the session name and VT fields inside the
device structure. This also adds a field so we can store the keyboard
mode of the tty, and restore it on close.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-26 08:37:08 -05:00
Chris Michael feff00178e ecore-drm: Cleanup private header file
Summary: This moves the logind function prototypes to the private
header and thus removes the need for a separate logind header file.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-26 08:37:08 -05:00
Chris Michael 81a4731036 ecore-drm: Cleanup launcher code
Summary: This moves the VT switch handling code to the tty file, and
sets the proper flags on the VT when opened.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-26 08:37:08 -05:00
Chris Michael c7d557cf4e ecore-drm: Fix various issues with logind code
Summary: This fixes a few issues with the logind code such as: Getting
the VT from systemd (if available), Properly setup the VT using proper
'open' flags, adding a 'restore' function to reset the tty properly,
and handle take/release session.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-26 08:37:08 -05:00
Chris Michael e6970f4f8b ecore-drm: Cleanup tty code and handle vt signal trapping
Summary: This cleans up the tty code a bit, and makes it the
responsibility of the tty code to handle VT switching signals

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-26 08:37:08 -05:00
Chris Michael bee13a55e1 ecore-drm: Default device->session to NULL
Summary: This sets the default session to NULL when a device is
created. Also a formatting fix

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-26 08:37:08 -05:00
Chris Michael 5a62a760c0 ecore-drm: Store session name inside dev structure and don't
take/release session control inside dbus functions

Summary: These changes move the storage of session name to inside the
Ecore_Drm_Device structure and remove calls to take/release session
control to outside of the dbus code

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-26 08:37:08 -05:00
Chris Michael f046a60a48 ecore: Remove potentially useless 'else' branches
Summary: We actually don't need an else branch here if we don't have
USE_G_MAIN_LOOP

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-26 08:37:08 -05:00
Chris Michael e063027ed8 ecore: Remove blank line
Summary: No functional changes, just removing an empty line

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-26 08:37:08 -05:00
Jean-Philippe Andre a376582b4f Evas masking: Fix masking of mapped sub-objects
Some complex examples of masking with mapped smart objects
would fail miserably, rendering the object without any mask,
and/or showing the mask itself somewhere in white color...
2015-01-26 19:25:36 +09:00
Jean-Philippe Andre 77feb96dd7 Evas masking: Fix rendering of masked objects with maps 2015-01-26 19:25:36 +09:00
Cedric BAIL 4c537c455c elocation: fix typos. 2015-01-25 14:23:32 +01:00
Davide Andreoli 762d4fb551 Efreet: do not get confused by path ending with / in XDG_* vars
This @fix the parsing of dirs from the xdg env vars. Now always remove
the leading / char from the paths.

This was causing lots of trouble on my system, where XDG_DATA_DIRS is:
/usr/local/share/enlightenment:/usr/local/share:/usr/local/share/:/usr/share/

At first /usr/local/share was added 2 times in the list, one with the / and one
witout, causing a double lookup for each file.

Secondly the icon cache was totally unusable as the cached paths ended up
as: /usr/share//icons/Mint-X/places/32/folder.svg. The double / in there
was making the cache lookup to fail and anways return the biggest icon
available. Causing a big system slowdown whe searching for icons.

As a bonus the function now use eina_str_split instead of the custom splitting
code that require a bad special handling for the last item.
2015-01-25 12:44:09 +01:00
Vincent Torri 546d87c8b5 autotools: remove some Windows CE bits.
We actually do not support Windows CE and don't plan to. Let's remove that
from our configure.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-24 12:33:27 +01:00
Chris Michael c6e70107dc ecore-wayland: Don't send a mouse_up on grab release unless we
actually have a grabbed button

Summary: If we don't have an actual grabbed mouse button, then don't
send a mouse up event. Caught this while adding e_grabinput support to
Enlightenment.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-23 16:01:08 -05:00
Tom Hacohen 40cb2cd3d4 Eo add: beef up error reporting.
In some cases object ceration would fail without an error,
this is bad and should not happen.

Thanks to cedric for reporting.
2015-01-23 16:51:18 +00:00
ChunEon Park d85d9672b5 evas/map: make an internal function to static.
no need this function set external.
2015-01-23 22:52:25 +09:00
Jean-Philippe Andre 4c864f757a Evas masking: And another case of bad mask rendering
A masked object just can't be considered as opaque. As such,
it can't generate an obscure area. This fixes some super
rare rendering bug.
2015-01-23 17:24:51 +09:00
Jean-Philippe Andre 8b889f4892 Evas masking: Fix blending of some border images 2015-01-23 17:24:51 +09:00
Jean-Philippe Andre bc436ba95f Evas masking: Fix another memory leak
When the mask is hidden, free its surface.
This will fix leaks in, say, a genlist full of masked
objects.
2015-01-22 17:44:47 +09:00
Daniel Zaoui 87d523478b warning-- 2015-01-21 20:42:58 +02:00
Cedric BAIL d2b766a51d eet: properly handle failure and success case by not leaking memory.
CID 1265601.
2015-01-21 16:07:07 +01:00
Jean-Philippe Andre 15f7cefa68 Evas masking: Fix major memory leak
The memory usage graph was going up and to the right!
I was told this is always a good thing!

... maybe not this time :)

Hopefully I didn't forget a case. An intense session of
genlist scrolling with masks all over the place and masks
of masks didn't show any glitch, crash or memory leak.
2015-01-21 17:51:15 +09:00
Jean-Philippe Andre 0793dee86a Evas masking: Try to reduce memory footprint a little
Move some mask object pointers around to spare a few
bytes of memory.

Fixes T2025.
2015-01-21 17:38:22 +09:00
Mike Blumenkrantz 30a2311879 ecore-wl needs to also set xdg props again on show
fix T1819
2015-01-20 19:11:25 -05:00
Vasyl Vavrychuk 62dd6d6dd4 ecore: lower priority of some intrusive logs.
Summary:
After fixed logging to journald there is lots of prints like
Jan 15 16:04:21 localhost system_server[1017]: enter idling=1 fds=1 events=0 timers=0 (next=17.14) idlers=0

Jan 15 16:04:21 localhost system_server[1017]: leave, timeout = 0

Change-Id: Id26e37a55ddaad36094308ac7fd09767cf659c04
Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@globallogic.com>

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-20 19:13:34 +01:00
Cedric BAIL c25ba993f6 evas: reduce potential memory hole in Evas_Object_Protected_State.
The main difference between 1.12 and 1.13 memory foot print is actually
related to this two pointer to mask. I am wondering if there is not an
issue here also has we do have a duplicated pointer. We have prev_mask
and mask in both cur and prev state of an Evas_Object, but only mask
and prev_mask from the cur state seems to be accessed.

If we can remove two pointers from those state, we should have a decent
win in expedite benchmark. Hopefully 300KB to win there (Close to half
the additional cost in memory).
2015-01-20 18:46:08 +01:00
Cedric BAIL 201df16d67 evas: reorder structure to avoid structural hole. 2015-01-20 18:46:03 +01:00
Chris Michael 205430ceb4 Revert "ecore-drm: Don't init tty unless we are Not using systemd"
This reverts commit 28e4901d04.

This broke vt switching in drm so revert (for now) until we get the
systemd vt and setup handlers
2015-01-19 12:55:50 -05:00
Chris Michael 28e4901d04 ecore-drm: Don't init tty unless we are Not using systemd
Summary: It turns out we don't need to handle open & setup of the tty
unless we are Not using systemd. This fixes an issue during
enlightenment restart where we are unable to reopen the tty.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-19 12:48:41 -05:00
Chris Michael 21b34d4d84 ecore-drm: Reset output cursor and crtc mode on shutdown
Summary: When we shutdown outputs, we should reset the hardware cursor
state and the saved crtc mode in order to reset things back to normal.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-19 12:48:41 -05:00
Chris Michael d38462f2eb ecore-drm: Restore tty keyboard mode on restore of tty
Summary: When we are shutting down a tty, restore the old keyboard
mode that we retain from tty_setup.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-19 12:48:41 -05:00
Cedric BAIL b9db9ca2e3 Revert "eet: fix memory leak in eet_cipher"
This reverts commit d25d56758c.

That patch was leading to double. Thanks ami for finding it.
2015-01-19 14:44:13 +01:00
Chris Michael ade7482ee2 ecore-wayland: Don't crash if we have no input->cursor_name
Summary: If we are using a touchscreen, there will be no pointer and
thus no cursor_name to use. Trap for that case by checking if
input->cursor_name is valid.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-16 10:35:06 -05:00
Jean-Philippe Andre 6b81f4f220 Evas masking: Fix precise_is_inside for masked smart objects
The flag should be set on the mask itself.
Checking for (x,y) being inside the mask can be an expensive operation,
so further optimization will be required.
2015-01-16 12:09:58 +09:00
Andrii Kroitor 56d75b755f edje: Edje_Edit - fix memory leak in edje_edit_image_usage_list_get
Summary:
freeing iterator when necessary

@fix

Reviewers: Hermet, seoz, cedric

Reviewed By: cedric

Subscribers: cedric, reutskiy.v.v

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-14 14:57:02 +01:00
Carsten Haitzler 6bd34e2ae9 eina mmap safety handler - fix on systems without some sibgus types
this fixes 615456aae8 to compile on
systems without MCERR sigbus types.
2015-01-14 19:16:35 +09:00
Carsten Haitzler f4ec47522f eet - one place endianess check wasn't explicit - cleaner code if it is
this MAY be a bugfix, but i can't see how after checking the code, but
to keep it conistent and less likely to grow a bug... do this.
2015-01-14 18:17:19 +09:00
Carsten Haitzler 7532dee7bb eet - boyscouting - clean up whitespaces 2015-01-14 18:13:57 +09:00
Carsten Haitzler 7a8f7047ac eet - image decode - fix robustness of image decode from eet file
there are possible security implications by not checking values of
size fields to see if they are within the data range AND are not 0 or
negative. so do this.

@fix
2015-01-14 18:12:42 +09:00
Tom Hacohen 565f2af60f Eee image: fix macros to be surrounded with do while().
Macros should be surrounded with do {} while() statements,
otherwise there can be issues, like the macro not requiring a semicolon
after the statement or etc.

@fix
2015-01-14 08:55:30 +00:00
Chris Michael 0c105e4f68 ecore-drm: Re-enable setting K_OFF keyboard mode
Summary: Now that things are shaping up, we can re-enable the K_OFF
tty mode which will help with buffering input, etc.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-13 15:35:55 -05:00
Chris Michael 6b1e62afa4 ecore-wayland: Fix issue with Elementary DnD test not releasing mouse
Summary: When we do an input_ungrab, we should be sending a mouse up
event so that apps/elm/etc know that the mouse has been released. This
fixes an issue in the Elm Features DnD test report by Daniel Zaoui

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-13 11:37:02 -05:00
Chris Michael 70f0bc47ed ecore-wayland: Don't set move cursor unless we actually start a drag
Summary: We should not be setting a 'move' cursor unless we actually
make the call to start a drag

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-13 11:23:27 -05:00
Chris Michael 90ffc57f0c ecore-drm: Limit mouse movement to within the output size
Summary: This patch adds support to limit the mouse from moving
outside the output dimensions, and fixes coordinate transformation
calls to use the Output from the Input device

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-13 10:35:52 -05:00
Chris Michael 30506f0d6d ecore-drm: Remove call to unused function
Summary: This just removes the call to the no longer used/needed
function to update the input device's view of the output.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-13 10:35:52 -05:00
Chris Michael 79a09007bc ecore-drm: Remove unused function
Summary: Since we now have a reference to the actual output inside the
input device, we no longer need this function to update the Input
device's view of the output size.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-13 10:35:52 -05:00
Chris Michael 2eb0be048b ecore-drm: Add actual Outut to the Input device structure
Summary: This adds an actual Ecore_Drm_Output pointer to the
Ecore_Drm_Evdev structure so we can check the output size to limit
mouse corrdinates.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-13 10:35:52 -05:00
Vasyl Vavrychuk b613404452 eina: fix eina_log with journald.
Summary:
Nothing was printed to journald before because sd_journal_send_with_location
expects file and line to be of the NAME=VALUE form.

Change-Id: I382b82b665558fddebae61b7d0a8d4de87638511
Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@globallogic.com>

Reviewers: kuri, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-13 16:18:24 +01:00
Carsten Haitzler 615456aae8 eina - mmap safety handler - fix to only handle sigbus's from io
@fix

this fixes the eina mmap safety handler to only  handle what comes
from actual i/o errors (not actual corrupt/hw memory faults or invalid
objects), and if it's not a sigbus eina mmap should handle then pass
it onto the previous handler before eina mmap took over.
2015-01-13 19:30:11 +09:00
Chris Michael ee31af90cc edje: Remove dead code
Summary: This removes the commented out dead code block from
9cdb8aaf9b

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-12 11:44:06 -05:00
Nicolas Aguirre 2982b05288 Eo: use int for _eo_init_count intsead of Eina_Bool 2015-01-12 14:48:22 +01:00
Tom Hacohen c0f67292d5 Eo base class: Fix compliation.
@inout also used to affect the type generated.
Compile check even the simplest changes.
2015-01-12 13:43:59 +00:00
Tom Hacohen 650f2b3149 Eo base: Remove @inout usage.
First step towards deprecation of @inout.
2015-01-12 13:33:39 +00:00
Daniel Zaoui 8002cabf35 Ecore: add EAPI to retrieve Ecore_Evas parent of a buffer. 2015-01-12 08:34:56 +02:00
Daniel Zaoui d95224b5a7 Eo: add function name to the eo_do pre and post hooks.
This is useful to determine the Eolian class/function.
2015-01-11 16:28:44 +02:00
Chris Michael 9cdb8aaf9b edje: Fix Coverity CID1261437
Summary: Coverity reports idential code for different branches here.
Not sure WHY that was done, but I commented out the existing if
statement for posterity.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-09 15:28:55 -05:00
Chris Michael b6f74c0a12 evas: Fix unintentional integer overflow
Summary: This fixes CID1261436: unintentional integer overflow

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-09 15:26:32 -05:00
Stefan Schmidt 96af685309 elocation: Mark elocation as BETA API for the upcoming 1.13 release
It is not ready as a public API yet. It needs to run on GeoClue1
and GeoClue2 which will definitely bring API changes as some parts
are tied to mcuh to what GeoClue1 offers right now.
2015-01-09 18:25:41 +01:00
Avi Levin b384cd3f62 eo: Fix bad addressing in _eo_classes array
The header.id was masked before using it as index in the _eo_classes
array and was not unmasked when used.
It hasn't caused segfault (by sheer luck) but was wrong.

@fix
2015-01-08 14:29:07 +00:00
Cedric BAIL 9a74e6aec4 eina: all Eina_Stringshare printf variant now return empty string as expected.
Previously Eina_Stringshare printf variant where returning NULL with ("%s", ""). This
is highly disturbing as you would have gotten "(null)", if you asked for ("s", NULL).
To clarify and make things logical, we now return "".
2015-01-08 12:36:27 +01:00
Amitesh Singh 32d52ff563 eina: fix memory leaks in eina_stringshare_printf/vprintf functions.
Summary: @Fix

Test Plan:
  CK_FORK=no valgrind --leak-check=full {UNIT_TEST_PROGRAM} "String Share"

Reviewers: cedric, seoz, Hermet, raster

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D1857
2015-01-08 19:48:01 +09:00
Jae Yong Hwang e561570507 evas:fix markup text length issue
Summary:
There was no conversion to the double quotation mark in the evas_textblock_text_utf8_to_markup function.
The price of the text coming out to API and text coming out to Textblock was different as a result.
As a result, Two text lengths came out differently.
So, I added the exceptional treatment part in the evas_textblock_text_utf8_to_markup function.

@fix

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1853
2015-01-08 19:38:49 +09:00
perepelits.m 694f9dbcdb [Evas, Edje] Adding of new structures
Summary:
There will be several methods to set orientation in edc, so we have decided to make one big vector,
the main reason is that we use quaternion by default, but look_at, for example, is given as 6 coordinates.

Reviewers: Hermet, cedric, raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1693
2015-01-08 15:21:17 +09:00
Jérémy Zurcher cb670931d6 ecore: fix compilation, missing return value in ecore_thread_wait
@fix ecore_thread_wait return EINA_TRUE if execution is over or thread is NULL
2015-01-07 22:12:29 +01:00
Chris Michael 080b9e4730 ecore-wayland: Simplify opaque and input region handling.
Summary: We can make opaque and input region handling simplier if we
just use one opaque & input region per window. Previous code would
always create a new region, set it to the surface, then destroy it.
This code works much nicer in that it hammers the protocol with less
region create/destroy calls.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-07 14:50:00 -05:00
Cedric BAIL e6ff0a53ae eio: forcefully wait on shutdown for all thread to stop.
This should avoid potential crash during shutdown while some Eio thread
were still running. We are still not blocking for more than 30s, so if
an IO is blocked on a dead device, you should be fine.
2015-01-07 16:45:07 +01:00
Cedric BAIL e5ddfb4b2b ecore: add ecore_thread_wait and necessary infrastructure.
This enable the possibility to block the main loop until a
specific thread is done. It may trigger still process ending
of other thread during that function call, but not any other
type of event (timer, animator, idler, ... are all ignored).
2015-01-07 16:45:07 +01:00
Carsten Haitzler becd02aaa6 evas textgrid - fix drawing of codepoints that are 0
this fixes artifacts if you have cells with 0 codepoints and also have
underlines or strikethroughs in them.

@fix
2015-01-07 22:29:00 +09:00
Carsten Haitzler d5c3ad97e5 evas map aa - match previous fix.
this matches 83eb1aa3c2 fix in the other
map render func
2015-01-07 21:04:58 +09:00
Jean-Philippe Andre 267b8a5ead Evas map: Fix AA with opaque images
Well... actually this is not exactly a fix.
It just restores the previous behaviour, and allows AA to
work. As in, it won't draw ugly black lines but properly
blend to transparent.

But there is still a problem:

The image map render function changes the alpha flag on the source
image if AA is enabled or if the map has an alpha color. This is
actually wrong as images forcefully set to not have any alpha
(with evas_object_image_alpha_set(0)) will then not be opaque
anymore.

Right now I can't think of a solution (also I don't quite follow
the entire pipeline in evas map...). Changing the flag will
make some opaque areas transparent. Not changing the flag will
produce ugly artifacts where AA blending should happen. Fix one
bug and the other appears, and vice versa.

This can be tested with the example evas-map-aa and adding an
alpha channel to cube1.png (with gimp for instance) but manually
setting alpha to 0 in the code. Weird stuff will happen (try
playing with the map and pressing I to switch to/from image mode).
2015-01-07 20:21:16 +09:00
Jean-Philippe Andre 37f3d00a5c Evas map: Kill build warnings and don't set image flag
Don't change a source image alpha flag at render time.
It doesn't make sense at this point.

Also remove unused int pa.
2015-01-07 17:50:33 +09:00
Carsten Haitzler 83eb1aa3c2 evas map - new aa map has extra overflow with line list - fix it.
this fixes a feature added in this version of efl. as above.
2015-01-07 17:23:24 +09:00
Carsten Haitzler e1e1850d0e edje - fix uninitialized coord sizes if swallow obj is invalid
this fixes invalid sizing calcs if shallowed obj is invalid and we
cant get geometry etc.

@fix
2015-01-07 17:23:24 +09:00
Jean-Philippe Andre b601d89f45 Evas masking: Fix a potential issue with pixman
Untested. Just skip pixman path when there's a mask.
2015-01-07 16:48:39 +09:00
Jean-Philippe Andre f876cf31f8 Evas masking: Fix invalid geometry after mask redraw
The proper geometry should be set when rendering the mask,
otherwise we can't create a new surface if it changed dimensions.
2015-01-07 15:06:03 +09:00
Jean-Philippe Andre 592068108b Evas masking: Fix another set of rendering artifacts 2015-01-07 15:06:03 +09:00
Jean-Philippe Andre 4bff14676e Evas masking: Fix mask blend functions (SW engine)
The selected op func was not performing the correct operation,
thus producing rendering artifacts. These functions should not
be used anywhere except in case of masking... which was not an
available option earlier.

It was doing (wrong):
dst = interp(mask, src, dst)

Instead of (correct):
dst = dst + (1 - mask) * src

NOTE:
This commit also disables MMX, SSE3 & NEON implementations of
pixel_mask blend operations, since they are also broken.
2015-01-07 15:06:03 +09:00
Jaeun Choi 62f3170874 Evas masking: Implement support for map draw (SW) 2015-01-07 15:06:02 +09:00
Jaeun Choi 4eb3a58edd Evas masking: Implement support for polygon draw (SW) 2015-01-07 15:06:02 +09:00
Jaeun Choi 6747fadd9a Evas masking: Implement support for line draw (SW)
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2015-01-07 15:06:02 +09:00
Jaeun Choi 6e8e5e89b5 Evas masking: Implement event masking support
In case the clipper is a mask object, we should use precise
event masking. By default precise_is_inside is not enabled
because it is expensive, but it should probably be set by
the application when they use masks as clippers.

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2015-01-07 15:06:02 +09:00
Jean-Philippe Andre 73919ea437 Evas masking: Implement mask support in evas_render
This implements supports for masking inside evas_render, which
means:
- Render the mask itself into a surface (ALPHA if possible)
- Pass this mask surface to the draw context
- Apply mask recursively in case a masked object is contained
  by another masked object.

@feature
2015-01-07 15:06:02 +09:00
Jean-Philippe Andre 2a0201d571 Evas masking: Allow setting an image object as clipper
The render function is not yet implemented, but this
prepares the infra used to set an object other than
Rectangle as a clipper.

@feature
2015-01-07 15:06:02 +09:00
Jean-Philippe Andre a9630a77b6 Evas masking: Add clip_image_[un]set functions to draw context
This allows passing a mask image to the render functions.

@feature
2015-01-07 15:06:02 +09:00
Jaeun Choi 9af60b1b04 Evas masking: Use alpha mask in SW engine draw functions
Work done by Jaeun Choi, rebased & squashed by jpeg.

This commit introduces changes to the low-level draw functions
of the SW engine considering the existence of an alpha mask image.

Features:
- Font masking (TEXT, TEXTBLOCK),
- Rectangle masking,
- Image masking (all image scaling functions should be handled).

The mask image itself is not yet set in the draw context (see
following commits).

@feature

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2015-01-07 15:06:02 +09:00
Dmytro Dadyka 38b3d5a857 [Evas: Evas_3D] Fixed bug with bounding shapes update.
Reviewers: cedric, Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1851
2015-01-07 12:58:51 +09:00
Mike Blumenkrantz 3ada34f2b3 edje shadow warning--
added in c501f2ce

ref D1768
2015-01-06 14:56:39 -05:00
Chris Michael e2a9988e5e ecore-drm: Fix issue with TakeControl and ReleaseControl functions
Summary: The dbus calls to TakeControl and ReleaseControl of a session
are actual Methods that need to be setup and called in order to
operate properly. As such, this commit fixes that issue by using the
proper eldbus method calls, and fixes an issue where shutting down
Enlightenment would lead to "cannot release control" error messages.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-06 13:01:31 -05:00
Chris Michael 32a7eecf50 ecore-drm: Fix incorrect launcher shutdown procedure
Summary: We need to clean tty handlers and close the tty Before we can
call logind_disconnect as that function ends up shuttting down our
dbus connection.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-06 11:12:54 -05:00
Chris Michael db53875e0a eet: Remove unused variable
Summary: This just removes an unused variable spotted during compile.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-06 09:05:37 -05:00
Andrii Kroitor ee19c13f1a ecore_evas: fix doc for ecore_evas_pointer_warp.
Reviewers: cedric

Subscribers: cedric, reutskiy.v.v

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-06 12:48:38 +01:00
Cedric BAIL bc34291e67 edje: Edje_Edit - add Proxy to Edje_Part_Collection_Directory_Entry initializatoin.
Summary:
Add proxy while init Edje_Part_Collection_Directory_Entry at edje_edit_group_add and edje_edit_group_alias_add.

@fix

@fix

Reviewers: Hermet, seoz, cedric, raster

Subscribers: reutskiy.v.v

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-06 12:43:03 +01:00
Cedric BAIL b61e9525d1 eet: refactoring jpeg encoding. 2015-01-06 11:51:58 +01:00
Cedric BAIL 6724bbf8bd eet: refactorize handling of endian. 2015-01-06 11:49:28 +01:00
Cedric BAIL 18d494489c eet: use eina_swap*() function instead of custom slower one. 2015-01-06 11:48:25 +01:00
Jean-Philippe Andre a90876c337 Evas fonts: Fix minor deviation in RLE font render
So I've discovered some weird output values after drawing
some text. The destination alpha would become 0xFE even
when the back buffer had a background with 0xFF alpha.

Example:
Dest is 0xff00ff00 (green).
Color is 0xffffffff (white).
Current font alpha is 170 (0xaa).
--> Output was 0xFEaaFEaa instead of 0xFFaaFFaa.

This is because of some slightly invalid calculation
when doing the font masking (mtab[v] = 0x55 above).

Indeed, MUL_256 takes alpha values in the range [1-256]
and not [0-256] as was assumed.
2015-01-06 19:41:10 +09:00
Felipe Magno de Almeida c57fa54fc8 eolian-cxx: Fixed mixed inheritance between C and C++ classes
Removed genereation for Eo.Base primitive methods which segfault'ed
on parent_set function.
2015-01-05 18:59:09 -02:00
Vitor Sousa 666b0da912 eolian_cxx: Using eina::optional to handle parameters without @nonull property 2015-01-05 15:52:27 -02:00
Vitor Sousa 4222cd3f50 eolian_cxx: Fix compilation of inheritance from Eolian generated classes
Updated the code for the "inheritance helper" functions and classes
to be in conformance with the new wrapper architecture.

Member variable "parents" of efl::eo::eo_class struct was split in two
member variables, "ancestors" and "parents", the former containing all
Eo class ancestors and the later only the direct bases.
Changed all required files accordingly.

Check to avoid using biding string when the parameter is @out now matches
any variation of "char".

Add default constructor to efl::eo::concrete in order to allow it to be
NULL initialized in the "inheritance helper" classes.

Removed conflicting parent_set member function in the efl::eo::inherit
class.

Removed the "inheritance_extension_function" generator since it is no
longer used.
2015-01-05 15:52:27 -02:00
Larry Jr 2b12114777 allow C++ user create new classes inheriting from Eolian generated Classes 2015-01-05 15:52:27 -02:00
Vitor Sousa 0685885c2a eolian_cxx: Add implicit conversion of the returned pointer of C++ wrappers
Overloaded address-of operator for C++ Eolian wrappers for implicit converting
to any ancestor pointer type when getting the object memory address.

Added new grammars to aid the creation of the pointer wrappers
responsible of doing the implicit conversions.

Added a unit test which checks the address-of overload for arbitrary classes.
Added new .eo files to be used in it.
2015-01-05 15:52:27 -02:00
Vitor Sousa 6519ae6ed9 eolian_cxx: Fix "dreaded diamond" inheritance problem for C++ wrappers
Solved diamond inheritance problem by completely removing inheritance in
the abstract class.
All ancestors are inherited directly in the concrete class.
The algorithm that list the ancestors also avoid repetition.

Now concrete classes define methods too. This helps referring the correct
method directly by the object type (when there are methods with the same
name).

Moved the declaration and definition of constructor methods to the concrete
class, since they should not be used in derived classes.

Updated example that call "color_set".
With this model, if two ancestor classes have a method with the same name,
to call one of them from a derived class you must write the scoped name of
the member function in the wrapper.
In this case, either Evas.Object and Evas.SmartObject have a property
named "color".

Added "from_global" option to the full_name grammar too.
2015-01-05 15:52:27 -02:00
Vitor Sousa ed75aa32d6 cxx: General C++ Eo wrapper generation improvement
Using a new architecture in the generated files that simplify multiple
inheritance and allows the use of interface types as parameters.

No longer using a hand-crafted C++ header for eo_base.eo.
This file was added to the generation process.

Updated all files that are dependent in the hand-crafted eo_base
C++ header.

Now there is a class that contains the essentials functions of the former
eo::base wrapper and that is used to create (through inheritance) the
"concrete" classes for all Eo generated wrappers.

No longer binding any function or property that are protected, private or
legacy for now.

eolian_type_instance is now a struct with general information for the
whole type.

Added the new header file namespace_generator.hh to hold namespace
generation grammars.

Separated declaration and definition of Eo wrappers methods.

Referring for most objects by its full name (starting at the global
namespace ::) in the generated files.

Created additional helper grammars to avoid code replication.

Removed a TODO comment referring to a doubt about inheritance of
constructor methods.
Added a TODO comment regarding memory allocation for callbacks in static
member functions.
2015-01-05 15:52:27 -02:00
Larry Jr ebebcf6438 catch exceptions in cxx wrappers and throw a eina_error 2015-01-05 15:52:27 -02:00
Vitor Sousa d5ec6c41d9 eolian_cxx: Fix: Using binding type for @out parameter instead of native type
No longer reverting to the native type when the parameter has "@out"
direction.

Added "is_out" member variable to eolian_type class.
With that, generators can keep track of the direction of the parameters.
Also added helper functions "type_is_out" and "type_is_complex".

Created "to_native" functions in eo_cxx_interop.hh to convert binding types
from C++ arguments to the actual C function arguments.
Added static assertions in these functions to enforce compatibility
between the binding and the native type (Required by @out parameters).

Reworked the overload of the "to_c" function for eo::base derivated
objects. Now there is a overload that rely in the compatibility
between the native type and the wrapper, enabling a wrapper to be used as
an output parameter.
2015-01-05 15:52:27 -02:00
Felipe Magno de Almeida 890ce1f9cf eolian-cxx: Fixed C++ conversion for lists
Signed-off-by: Vitor Sousa <vitorsousasilva@gmail.com>
2015-01-05 15:52:27 -02:00
Vitor Sousa 64dede1cf1 eolian_cxx: Fix callback handling on generated wrappers
Added callbacks to the event EO_EV_DEL for deleting heap-allocated
function objects. This will enforce that the allocated memory,
necessary for maintaining these callable objects alive, is freed at
least when the underlaying Eo object is destroyed.

Functions and constructor methods are now able to have multiple
callback types.

Removed some unused generators, since they become inconsistent now that
functions are required to handle multiple callback types.

Allocating callback objects in the constructor methods instead of
delaying it until the final constructor is called.

Created some generators to avoid code repetition.

Now the generator parameters_forward_to_c replicate the behavior of the
generator parameters_list. The generator parameters_list was, then,
removed since it have a less intuitive name.

Added a TODO comment regarding the behaviour of simple not translating
callbacks that are not followed by a user data pointer.

The generator parameter_type was moved from "parameters_generator.hh" to
"type_generator.hh" for more consistency and convenience.
2015-01-05 15:52:27 -02:00
Vitor Sousa 132abc3534 eolian_cxx: Fix Eolian C++ generated wrapper inconsistencies
In convert.cc: Reading functions instead of implements to convert the
Eolian_Class. It avoids creation of methods that do not belong to the
class, in special it avoids calling the default constructor twice in the
generated code.

No longer generating one constructor in the C++ wrapper for each eolian
class constructor, since the correct behavior demands that all constructor
should be called. Now the wrappers have "constructor methods" that
must be called when creating a new object.

Updated test cases and examples to match the new interface. Some class
constructors and some test cases have to be removed since they were based
on the wrong assumption that constructors are mutually exclusive.

Created new generators for forwarding parameters and for looping over
the relevant parameters to the C++ wrapper executing a generic lambda.

Added a TODO comment regarding the call of constructor methods of all
base classes. Currently there is no base type with constructors, so this
situation should be discussed more.

Added a TODO comment regarding the way callback parameters are being
processed.
2015-01-05 15:52:27 -02:00
Vitor Sousa ed8ce801cb eolian_cxx: Assertions to ensure C++ wrapper compatibility with Eo*
Added static assertion in the generated header to ensure that the wrapper
have the same size of Eo*, thus grating compatibility between these types.

Added static assertion in the generated header to ensure that the wrapper
have standard layout. This should ensure correct type sizes when dealing
with inheritance.

Created a test to ensure that eo::base and the eolian wrappers have the
same size of a Eo*.

Added eolian_cxx_test_wrapper.cc to the list of test source files in
Makefile_Eolian_Cxx.am.
2015-01-05 15:52:27 -02:00
Cedric BAIL 3be1c0b7cf edje: fix @since to match the next release.
Damn we release to fast ! Thanks davemds !
2015-01-05 16:52:24 +01:00
Seunghun Lee 2db6ed0945 ecore-drm: remove duplicated code from logind and tty.
Summary: integrates the code used in common.

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1796
2015-01-05 09:08:27 -05:00
Cedric BAIL a5183ee424 edje: Edje_Edit - add API for renaming of image.
Reviewers: Hermet, raster, seoz, cedric

@feature

Subscribers: reutskiy.v.v

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-05 10:54:11 +01:00
Cedric BAIL 93da127573 edje: Edje_Edit - remake deletion and replacing of strings
Summary: Add new function for replacing string with using eina_stringshare_replace() and change _edje_if_string_free() to setup passed string to NULL.

@fix

Reviewers: raster, Hermet, seoz, cedric

Reviewed By: cedric

Subscribers: reutskiy.v.v

Projects: #efl

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-05 10:52:59 +01:00
Shinwoo Kim d41b77ec21 [edje] refine odd lines to delete _edje_timer
Summary: Refine odd lines to delete _edje_timer

Test Plan: Run example using edc programs to change state

Reviewers: raster, cedric, woohyun, jaehwan, Hermet

Reviewed By: Hermet

Subscribers: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D1838
2015-01-05 13:42:52 +09:00
zmike f55c756c17 curl usage better accounts for timeouts
curl is dumb. it needs to poll its own fd for data, it gets confused with its own timeouts, and sometimes it forgets that it's supposed to be doing anything.

this fixes:

* connection timeout processing
* connection data processing order

also curl_multi_timeout calls are now done from a single function to handle all of this stupidness in one place

maybe backport after more testing...
2015-01-02 23:21:55 -05:00
Cedric BAIL a68ded6ab6 ecore_con: SSL error function is waiting for Eo object not their private data. 2014-12-30 11:19:56 +01:00
Cedric BAIL aa69cd89a6 ecore_con: the timer callback is waiting for the Eo object not its private data.
This @fix T1962 .
2014-12-30 11:19:38 +01:00
Andy Williams ed7b41ce53 Make it clear in documentation that these methods are not implemented.
Even so return a more meaningful value - 0 is not a member of the Enum it returns.
2014-12-29 16:54:50 +00:00