platform/upstream/efl.git
8 years agoRevert "Evas font: fix width query for OT"
Tom Hacohen [Thu, 14 Jul 2016 15:52:01 +0000 (16:52 +0100)]
Revert "Evas font: fix width query for OT"

This was not done correctly. This split the code, which is essentially
the same for both OT and non OT. It's the same logic with some minor
additions for OT, so most of the code should be together.

This reverts commit ef817f15f0eaec9704ec25d9468c2c8497a5bc13.

8 years agodocs: more detailed stats (print intermediate percentages)
Daniel Kolesa [Thu, 14 Jul 2016 15:07:08 +0000 (16:07 +0100)]
docs: more detailed stats (print intermediate percentages)

8 years agodocs: generate separate doc pages for events
Daniel Kolesa [Thu, 14 Jul 2016 14:32:19 +0000 (15:32 +0100)]
docs: generate separate doc pages for events

8 years agoelm_cnp: use defined charset before falling back to default
Marcel Hollerbach [Thu, 14 Jul 2016 11:48:29 +0000 (13:48 +0200)]
elm_cnp: use defined charset before falling back to default

the chance is very high that some glyphs are not fitting into the
default (US-ASCII) so better falling back here on specified utf8.

@ref T3972

8 years agoEvas font: fix width query for OT
Daniel Hirt [Wed, 13 Jul 2016 11:40:36 +0000 (11:40 +0000)]
Evas font: fix width query for OT

Fixes T4068.
Simply querying the last glyph to determine the width of the glyph sequence
won't always work, as OT can have negative offsets (adjusts the placement of a
specific glyph better).

The solution is to calculate the "max width" of some sequence that will
guarantee us proper width results. The worst solution would be to iterate on all
the glyphs and sum up the max width. This is a bit impractical. Instead, we will
inspect just the "cluster" of the last glyph, if one exists.

This should have no performance impact on trivial cases, and very little impact
on the others.

@fix

8 years agoevas generic loaders fix timeout on windows where no alarm exists
Carsten Haitzler (Rasterman) [Thu, 14 Jul 2016 05:23:49 +0000 (14:23 +0900)]
evas generic loaders fix timeout on windows where no alarm exists

this uses a thread - to do the same. based on code vtorri put in T3790

this should fix T3790

8 years agoevas headers - remove duplicate declarations of the same function
Carsten Haitzler (Rasterman) [Thu, 14 Jul 2016 04:28:10 +0000 (13:28 +0900)]
evas headers - remove duplicate declarations of the same function

this should fix T3027

8 years agoelementary tooltip: --printf
Hermet Park [Thu, 14 Jul 2016 03:10:09 +0000 (12:10 +0900)]
elementary tooltip: --printf

8 years agoecore - add more ecore main loop checks that were missing in some places
Carsten Haitzler (Rasterman) [Wed, 13 Jul 2016 23:55:03 +0000 (08:55 +0900)]
ecore - add more ecore main loop checks that were missing in some places

so 1 ecore_exe func was missing a main loop check... just to be sure.

8 years agoeina thread create - use pthread_sigmask as this can be called from thread
Carsten Haitzler (Rasterman) [Wed, 13 Jul 2016 23:32:16 +0000 (08:32 +0900)]
eina thread create - use pthread_sigmask as this can be called from thread

@fix

8 years agoeo: fix tests after renaming.
Cedric BAIL [Wed, 13 Jul 2016 23:17:16 +0000 (16:17 -0700)]
eo: fix tests after renaming.

8 years agoelm_colorselector: selected item is updated when color is changed.
Sungtaek Hong [Wed, 13 Jul 2016 23:06:58 +0000 (16:06 -0700)]
elm_colorselector: selected item is updated when color is changed.

Summary:
 - Previously, mode change, color change updated
   sd->selected, but did not send signals to edje of the item.
 - Also, mode change in colorselector set sd->selected to
   the first item even when palette is visible in previous mode.
 - Now, when mode is changed, sd->selected is set NULL and send
   unselected signal if palette is invisible, and keep sd->selected
   if palette is visible.
 - sd->selected is set NULL when color is changed in picker and
   color bars because previous selected item is not current color of
   colorselector

Test Plan:
1.
    1) launch elementary_test colorselector.
    2)Select any item and check the item is selected when palette is visible.
    3) Change mode to Palette, Both, All, and check selected item is not changed.
    (Previously, selected item is changed to the first item of the palette, but previous item was seen as selected.)

2.
    1) launch elementary_test colorselector.
    2) Select any item and check the item is selected when palette is visible.
    3) Change mode to Components, Picker.
    4) Change mode to Palette, and check none of items is selected.
    (Previously, selected item is changed to the first item of the palette, but previous item was seen as selected.)

3.
    1) launch elementary_test colorselector.
    2) Select any item and check the item is selected when palette is visible.
    3) Change mode to All.
    4) Click arrows in Picker and color bars.
    5) Observe selected item is not unselected when color is not changed, and selected item is unselected when color is changed.
4.
    1) launch elementary_test colorselector.
    2) Select any item and check the item is selected when palette is visible.
    3) Press direction key and check selected item is changed.
    (Previously, selected item's edje is not updated.)

Reviewers: woohyun, Hermet, jpeg, cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoelementary: switch code accordingly to use new ref version.
Cedric BAIL [Wed, 13 Jul 2016 23:06:30 +0000 (16:06 -0700)]
elementary: switch code accordingly to use new ref version.

8 years agoeo: rationalize naming to follow other use of ref and wref in our API.
Cedric BAIL [Wed, 13 Jul 2016 23:05:58 +0000 (16:05 -0700)]
eo: rationalize naming to follow other use of ref and wref in our API.

8 years agoecore: add test case for tick begin/end.
Cedric BAIL [Wed, 13 Jul 2016 22:31:51 +0000 (15:31 -0700)]
ecore: add test case for tick begin/end.

8 years agoecore: early destruction of animator allow for tick end to always be triggered.
Cedric BAIL [Wed, 13 Jul 2016 22:09:03 +0000 (15:09 -0700)]
ecore: early destruction of animator allow for tick end to always be triggered.

T4043

8 years agoelementary: Make wl frame borders above content
Chris Michael [Wed, 13 Jul 2016 19:13:17 +0000 (15:13 -0400)]
elementary: Make wl frame borders above content

This commit just readds the layer setting code which made the frame
border be above content. This does make sense in some contexts

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoevas-wayland-shm: Create buffers with ARGB by default
Chris Michael [Wed, 13 Jul 2016 18:43:49 +0000 (14:43 -0400)]
evas-wayland-shm: Create buffers with ARGB by default

We need to be creating buffers with ARGB by default so that things
like Alpha/Transparency work when toggled. If we always create with
XRGB then toggling Alpha/Transparency state fails.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore_wl2: clear out read_data and len
Marcel Hollerbach [Wed, 13 Jul 2016 15:38:05 +0000 (17:38 +0200)]
ecore_wl2: clear out read_data and len

they are passed to the event struct, and later freed in there.

8 years agoethumb: tell the user if the connection to the deamon failed
Marcel Hollerbach [Mon, 11 Jul 2016 20:59:55 +0000 (22:59 +0200)]
ethumb: tell the user if the connection to the deamon failed

otherwise the user just gets no thumbnails, and no error message what
actually happened.

8 years agoelput: Cleanup erroneous errors when trying to get output name
Chris Michael [Wed, 13 Jul 2016 15:40:12 +0000 (11:40 -0400)]
elput: Cleanup erroneous errors when trying to get output name

When we make calls to get an Input device's output name, if the device
does not have an output name it's not actually an error so just return
NULL with less noise

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoevas-generic: Fix gcc wanring
Chris Michael [Wed, 13 Jul 2016 14:06:12 +0000 (10:06 -0400)]
evas-generic: Fix gcc wanring

Gcc suggets parens around comparison value. Silence gcc warning.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoevas-generic: Fix gcc warning of incorrect format
Chris Michael [Wed, 13 Jul 2016 14:05:03 +0000 (10:05 -0400)]
evas-generic: Fix gcc warning of incorrect format

Gcc warns us about using %d here when the argument is unsigned long.
Fix format params.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoelementary: Fix issue of minimum resizing in wayland
Chris Michael [Wed, 13 Jul 2016 13:40:22 +0000 (09:40 -0400)]
elementary: Fix issue of minimum resizing in wayland

This patch fixes an issue where if you tried to resize a window to
it's minimum size, the contents of the window would draw outside the
window frame. Basically, when we are setting min/max size hints to the
window object we need to account for framespace.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years ago[Bug] EFL memory leak on Windows(handler continuously increasing)
Ivan Furs [Wed, 13 Jul 2016 12:01:50 +0000 (21:01 +0900)]
[Bug] EFL memory leak on Windows(handler continuously increasing)

Summary:
Fix: event need to clese  when create event:
  event = WSACreateEvent();

Reviewers: bowonryu, herb, Jaehyun, thiepha, Hermet, jaehwan, cedric, raster

Reviewed By: raster

Subscribers: NikaWhite, reutskiy.v.v, artem.popov

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

8 years agoecore_evas_extn: Check whether server_data sender is client's server.
Minkyoung Kim [Wed, 13 Jul 2016 12:00:07 +0000 (21:00 +0900)]
ecore_evas_extn: Check whether server_data sender is client's server.

Summary:
Sometimes, In ipc_server_data, extn->ipc.server's data is different with e->server's data.

The case is as follows.

Process'A' has a server.
Process'B' has 'A's client(ee address : 0xB0).
Process'B's client die, and 'B's server created. and server's ee address is same with destroyed client's ee(0xB0).
At the same time, 'A's server send the message to 'B's client.
but 'B's client is died! so _ipc_server_data would manipulate 'B's server data.

Test Plan: Tizen Mobile Text.

Reviewers: raster, spacegrapher, jpeg, wonsik, dkdk

Subscribers: cedric

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

8 years agoRevert "edje_cc: Fix minor coverity defect"
Carsten Haitzler (Rasterman) [Wed, 13 Jul 2016 11:54:04 +0000 (20:54 +0900)]
Revert "edje_cc: Fix minor coverity defect"

This reverts commit 0106455588a7390f36bae9ac6d789e94410a5216.

breaks edje_cc.... :( spin 100% cpu building terminology themes

8 years agoelm tooltips - fix positioning and more to be sane and have less bugs
Carsten Haitzler (Rasterman) [Wed, 13 Jul 2016 09:37:21 +0000 (18:37 +0900)]
elm tooltips - fix positioning and more to be sane and have less bugs

the tooltip geometry code was extra complex and iffy with certain
situations. this cleans it up and also fixes the below bug

this fixes T3980

@fix

8 years agoeina_safepointer: Fix coverity warning
Jean-Philippe Andre [Wed, 13 Jul 2016 07:22:00 +0000 (16:22 +0900)]
eina_safepointer: Fix coverity warning

I guess the overflow was badly handled. Fixing it by using
explicit int intermediate value.

Fixes CID 1356616 and 1356619:

Operands don't affect result
Logically dead code

8 years agogfx: Add NULL check to silence coverity
Jean-Philippe Andre [Wed, 13 Jul 2016 07:16:02 +0000 (16:16 +0900)]
gfx: Add NULL check to silence coverity

realloc() can return NULL if size is 0. It's like free().
So, the usage here is correct, and there are probably no
points to interpolate between anyway. I wonder if there
can be commands without points, though.

Fixes CID 1293004

8 years agoedje: Fix coverity warning
Jean-Philippe Andre [Wed, 13 Jul 2016 06:44:58 +0000 (15:44 +0900)]
edje: Fix coverity warning

CID 1355234 Logically dead code

The indicated dead code may have performed some action;
that action will never occur.
In eet_data_descriptor_element_add: Code can never be
reached because of a logical contradiction (CWE-561)

Solution: use explicit range within valid values with <= and >=
rather than excluded values with > and <

8 years agoedje: Add missing 'break' in edje_embryo switch
Jean-Philippe Andre [Wed, 13 Jul 2016 06:33:13 +0000 (15:33 +0900)]
edje: Add missing 'break' in edje_embryo switch

Fixes CID: 1352521 1352522 1352523 1352524 1352525

See 4ed9b8325

8 years agoevas: Fix some CID in generic loaders
Jean-Philippe Andre [Wed, 13 Jul 2016 06:21:06 +0000 (15:21 +0900)]
evas: Fix some CID in generic loaders

Check the return value of fwrite. There is nothing
sensible to do as the receiver needs to handle the error
gracefully.

CID 1356613, 1356614, 1356615, 1356200

8 years agopdf: Tentative implementation of mono support
Jean-Philippe Andre [Wed, 13 Jul 2016 06:04:53 +0000 (15:04 +0900)]
pdf: Tentative implementation of mono support

No idea if it's correct, since I have no sample.
Also, simplify ARGB code.

8 years agopdf: Fix page index and
Jean-Philippe Andre [Wed, 13 Jul 2016 05:40:18 +0000 (14:40 +0900)]
pdf: Fix page index and

The module was not able to load any PDF with a single page (since
the index starts from 0, not 1 as it was assumed).

Also, fix a CID where Coverity was very very right.

Fixes CID 1356608:

The operaton may have an undefined behavior or yield to an
unexpected result.

In poppler_load_image(int, int): A bit shift operation has
a shift amount which is too large or has a negative value.

8 years agoembro_cc: Shut up some coverity warning
Jean-Philippe Andre [Wed, 13 Jul 2016 04:16:34 +0000 (13:16 +0900)]
embro_cc: Shut up some coverity warning

CID 1039677 1039678 1039679

The expression's value does not depend on the operands; often,
this represents an inadvertent logic error.

In doarg: An operation with non-constant operands that
computes a result with constant value (CWE-569)

cell is defined as an int, not a long, so it can't be > INT_MAX.

8 years agoelm test: Shut up coverity warning
Jean-Philippe Andre [Wed, 13 Jul 2016 03:58:43 +0000 (12:58 +0900)]
elm test: Shut up coverity warning

CID 1354839

It was non-sensical as there would be no iterator
if there are no children.

8 years agoelm test: Fix non sense check
Jean-Philippe Andre [Wed, 13 Jul 2016 03:02:20 +0000 (12:02 +0900)]
elm test: Fix non sense check

CID 1353720 1353721

8 years agoedje_cc: Fix minor coverity defect
Jean-Philippe Andre [Wed, 13 Jul 2016 02:57:07 +0000 (11:57 +0900)]
edje_cc: Fix minor coverity defect

CID 1261439

An assigned value that is never used may represent unnecessary computation,
an incorrect algorithm, or possibly the need for cleanup or refactoring.

In source_fetch_file: A value assigned to a variable is never used. (CWE-563)

Tested compilation of a few EDC files with no breakage.

8 years agoedje_pick: Fix use after free
Jean-Philippe Andre [Wed, 13 Jul 2016 02:16:33 +0000 (11:16 +0900)]
edje_pick: Fix use after free

Fixes CID 1267458 (trying again)

8 years agoeo-cxx: Fix C++ use of new _eo_add_end signature
Felipe Magno de Almeida [Tue, 12 Jul 2016 20:28:38 +0000 (17:28 -0300)]
eo-cxx: Fix C++ use of new _eo_add_end signature

8 years agoelementary: Properly swallow wayland clients
Chris Michael [Tue, 12 Jul 2016 13:44:14 +0000 (09:44 -0400)]
elementary: Properly swallow wayland clients

This patch fixes an issue where wayland windows would not swallow
clients properly. Basically, we should be swallowing the elm window
layout directly rather than use a rectangle (as was previous). This
commit also waits until the internal elm theme has been applied to the
sd->edje object before adding the wayland window frame.

This commit has the added benefit of being able to remove an additional
Evas_Object from the internal data structure.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoelementary: Clip window swallow clients
Chris Michael [Tue, 12 Jul 2016 13:43:19 +0000 (09:43 -0400)]
elementary: Clip window swallow clients

This commit sets up a client_clip for the windows client being
swallowed so that during resize, any window contents do not draw
outside the window.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoRevert "efl theme for wayland borders - dont accept events on client swallow"
Chris Michael [Tue, 12 Jul 2016 13:42:23 +0000 (09:42 -0400)]
Revert "efl theme for wayland borders - dont accept events on client swallow"

This reverts commit fdaefdbf9a8f518930b2d5f71372d1c52f8b2ee7. This is
being reverted because the issue of wayland borders not swallowing
clients has now been fixes and thus mouse_events work as expected wrt
client swallow.

8 years agoefl theme for wayland borders - dont accept events on client swallow
Carsten Haitzler (Rasterman) [Tue, 12 Jul 2016 12:04:27 +0000 (21:04 +0900)]
efl theme for wayland borders - dont accept events on client swallow

8 years agodocs: generate more info about events
Daniel Kolesa [Tue, 12 Jul 2016 10:13:15 +0000 (11:13 +0100)]
docs: generate more info about events

8 years agoEo add ref: Fix a bug causing leaks and wrong refcount in some cases.
Tom Hacohen [Tue, 12 Jul 2016 09:34:54 +0000 (10:34 +0100)]
Eo add ref: Fix a bug causing leaks and wrong refcount in some cases.

When using eo_add_ref, it was increasing the refcount before the user
context in the addition has fully ended. This means the object had its
reference increased while still not finalized, which means it was
sometimes passed with an increased refcount to unsuspecting class code.
The correct behaviour is to increase the reference count just before
returning the object to the user at the end of eo_add so the reference
count is only increased for whoever asked for it.

Breaks ABI!

@fix

8 years agoEo refcount: Split the refcount to private and public (user).
Tom Hacohen [Tue, 12 Jul 2016 09:26:23 +0000 (10:26 +0100)]
Eo refcount: Split the refcount to private and public (user).

This commit changes the way refcount is dealt with internally. Before
this commit, there was one refcount shared between Eo internals and
users. Now there is a refcount for eo operations (like for example,
function calls) and one for user refcount (eo_ref).

An example bug that this protects against (which is seemingly rather
common) is:
some_eo_func(obj);

// Inside the implementation of that func:
pd->a = 1; // The object's private data
eo_unref(obj); // To delete the object
eo_unref(obj); // A big one extra unref
pd->a = 2; // Segfault, this data has already been freed

This is a feature, but really just a fix for a class of bugs.

@feature

8 years agoelua: event method fixes in eolian bindings
Daniel Kolesa [Tue, 12 Jul 2016 10:09:05 +0000 (11:09 +0100)]
elua: event method fixes in eolian bindings

8 years agoelm config - fix previous commit missing strdup
Carsten Haitzler (Rasterman) [Tue, 12 Jul 2016 09:23:12 +0000 (18:23 +0900)]
elm config - fix previous commit missing strdup

oops - accidentally removed the strcpy. fix

8 years agoelm config - use eina_str_tolower not tolower from libc
Carsten Haitzler (Rasterman) [Tue, 12 Jul 2016 09:20:34 +0000 (18:20 +0900)]
elm config - use eina_str_tolower not tolower from libc

8 years agoelementary - fix focus switching again after break
Carsten Haitzler (Rasterman) [Tue, 12 Jul 2016 09:03:54 +0000 (18:03 +0900)]
elementary - fix focus switching again after break

this fixes T4053

this was due to everal widgets haveing changed their class names and
are using the new names for mapping to keybinding config that used
legacy names to match binding to widget.

8 years agoUi text: port more functionality to the test
Daniel Hirt [Mon, 11 Jul 2016 11:21:56 +0000 (11:21 +0000)]
Ui text: port more functionality to the test

  - Make "Sel" button work
  - Make "Ins" button to insert emoticons

8 years agoUi text: track changes made in text object
Daniel Hirt [Mon, 11 Jul 2016 11:20:28 +0000 (11:20 +0000)]
Ui text: track changes made in text object

This is required when a user uses the Efl.Canvas.Text API to change the content.

8 years agoCanvas text: add "changed" event
Daniel Hirt [Mon, 11 Jul 2016 11:18:19 +0000 (11:18 +0000)]
Canvas text: add "changed" event

We need to keep track on changes of content.

8 years agoCanvas text: fix annotation set
Daniel Hirt [Mon, 11 Jul 2016 11:09:48 +0000 (11:09 +0000)]
Canvas text: fix annotation set

The cursor position was not set correctly to the respective fnode, causing
annotation to not be applied correctly with text that has more than one
paragraph.

8 years agoUi text: bring back selection handlers support
Daniel Hirt [Sun, 10 Jul 2016 16:52:14 +0000 (16:52 +0000)]
Ui text: bring back selection handlers support

8 years agoUi text: cleanup some port leftovers
Daniel Hirt [Sun, 10 Jul 2016 11:44:22 +0000 (11:44 +0000)]
Ui text: cleanup some port leftovers

8 years agoUi text: instantiate canvas text obj before smart_add
Daniel Hirt [Sun, 10 Jul 2016 11:43:43 +0000 (11:43 +0000)]
Ui text: instantiate canvas text obj before smart_add

8 years agoUi text: bring back some atspi support
Daniel Hirt [Sun, 10 Jul 2016 10:37:02 +0000 (10:37 +0000)]
Ui text: bring back some atspi support

8 years agoUi text: cleanup ifdef
Daniel Hirt [Sun, 10 Jul 2016 10:30:27 +0000 (10:30 +0000)]
Ui text: cleanup ifdef

8 years agoUi text: make scroller work
Daniel Hirt [Sun, 10 Jul 2016 14:30:51 +0000 (14:30 +0000)]
Ui text: make scroller work

8 years agoUi text: use the right clip
Daniel Hirt [Mon, 4 Jul 2016 17:20:26 +0000 (17:20 +0000)]
Ui text: use the right clip

8 years agoUi text: don't null-check for free()
Daniel Hirt [Mon, 4 Jul 2016 11:22:59 +0000 (11:22 +0000)]
Ui text: don't null-check for free()

8 years agoUi text: remove old edje callbacks
Daniel Hirt [Sun, 3 Jul 2016 18:12:02 +0000 (18:12 +0000)]
Ui text: remove old edje callbacks

8 years agoEdje entry: Do not update anchors outside viewport.
Subodh Kumar [Tue, 12 Jul 2016 10:36:58 +0000 (10:36 +0000)]
Edje entry: Do not update anchors outside viewport.

Summary:
Do not update anchors outside viewport.

Problem is that when entry contains large number of anchors,
scrolling and launch performance is degraded due to lots of objects
being created and maintained, so to enhance the performance of
entry with anchors,  anchors is not  updated outside the viewport.

Test Plan:
1. Should have large number of anchors in entry
2. Observe the launch and scrolling performance.

Reviewers: tasn, raster, herdsman

Subscribers: thiepha, raster, cedric, jpeg

Tags: #efl

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

8 years agoevas/gl_generic: Recreate texture when native surface image size is changed.
Minkyoung Kim [Tue, 12 Jul 2016 05:11:36 +0000 (14:11 +0900)]
evas/gl_generic: Recreate texture when native surface image size is changed.

Summary:
Now, if image is native, do not recreate texture when image size is changed.
Recreate next native surface set time. So during the time between image_size_set and native_surface_set, native image is fragile. Fix it.

Test Plan: Local Test

Reviewers: spacegrapher, jpeg, wonsik, dkdk, raster

Reviewed By: raster

Subscribers: cedric

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

8 years agoedje: the repeat_events property of swallowed object probably should follow the repea...
Shinwoo Kim [Tue, 12 Jul 2016 01:53:27 +0000 (10:53 +0900)]
edje: the repeat_events property of swallowed object probably should follow the repeat_events property of swallow part object

Summary: Need discussion about the repeat_events property

Test Plan: Swallow an object which has EINA_TRUE repeat_events to a swallow part which has EINA_FALSE repeat_events

Reviewers: Hermet, cedric, raster, jpeg

Reviewed By: raster, jpeg

Subscribers: jaehwan, seoz, woohyun

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

8 years agoEdje calc: Fix Evas Text width calculation with ellipsis
Youngbok Shin [Tue, 12 Jul 2016 01:20:03 +0000 (10:20 +0900)]
Edje calc: Fix Evas Text width calculation with ellipsis

Summary:
To keep consistency with Evas Textblock part in edje,
text.min has to work logically even if ellipsis is enabled.
If a Text part has minimum width, maximum width and "text.min: 1 X;",
Text part should be expanded until its width reaches to the maximum width.
Then, ellipsis will work. Singleline Textblock is also working like this.
@fix

Reviewers: cedric, herdsman, raster, tasn

Subscribers: Blackmole, z-wony, jpeg

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

8 years agoevas: fix work of engine on macOS.
se.osadchy [Mon, 11 Jul 2016 17:54:47 +0000 (10:54 -0700)]
evas: fix work of engine on macOS.

Summary: Update eng_image_free function and check of references.

Reviewers: thiepha, NikaWhite, FurryMyad, raster, cedric

Subscribers: raster, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoecore-wl2: Fix issue of misleading 'if' statement
Chris Michael [Mon, 11 Jul 2016 15:56:17 +0000 (11:56 -0400)]
ecore-wl2: Fix issue of misleading 'if' statement

Gcc reports that this 'if' statement is misleading due to indentation.
We should only be sending the 'finish' call if the dnd version
supports it, however we should always be sending 'destroy'

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoedje: Fix issue of null pointer dereference
Chris Michael [Mon, 11 Jul 2016 15:19:01 +0000 (11:19 -0400)]
edje: Fix issue of null pointer dereference

Coverity reports that 'text' here is a null pointer dereference so
check for valid 'text' variable before trying to use it.

Fixes Coverity CID1267490

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agodocs: generate proper descriptions for structs and enums
Daniel Kolesa [Mon, 11 Jul 2016 15:03:53 +0000 (16:03 +0100)]
docs: generate proper descriptions for structs and enums

8 years agoCanvas text: fix corner case in range geometry calc
Daniel Hirt [Mon, 11 Jul 2016 16:18:54 +0000 (16:18 +0000)]
Canvas text: fix corner case in range geometry calc

The trivial case of [pos,pos] (i.e. range of length 0) didn't work if there is a
format item in 'pos'.
The condition was fixed to not include such items. The reason it was not
apparent for text items is that these have further handling in the rest of the
code and would've been disposed of.

@fix

8 years agoIf there is situation when server is closed prior to client, the client pointer point...
Prince Kumar Dubey [Mon, 11 Jul 2016 13:29:04 +0000 (22:29 +0900)]
If there is situation when server is closed prior to client, the client pointer pointing to server must be reset and check must be there during client deletion

Summary: During mobile product testing, we got a crash with callstack which suggest server is getting deleted prior to client. On valgrind analysis we found invalid write operation with same callstack. callstack is pasted in comment section.

Test Plan: create a situation where server got deleted prior to client.

Reviewers: raster, cedric

Subscribers: govi, rajeshps, jpeg

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

8 years agoedje_cc handle theoretical string overflow (not real) shhh coverity
Carsten Haitzler (Rasterman) [Mon, 11 Jul 2016 13:23:58 +0000 (22:23 +0900)]
edje_cc handle theoretical string overflow (not real) shhh coverity

these strings are internal fixed strings so never bigger than buffer,.
but silence coverity to avoid noise. fixes CID 1355588 , 1355589

8 years agoevas render2 region - handle if src region is empty correctly on add
Carsten Haitzler (Rasterman) [Mon, 11 Jul 2016 13:16:06 +0000 (22:16 +0900)]
evas render2 region - handle if src region is empty correctly on add

fix coverity CID 1313542

8 years agoevas engine cache - drop useless iff that assert already checked
Carsten Haitzler (Rasterman) [Mon, 11 Jul 2016 13:09:12 +0000 (22:09 +0900)]
evas engine cache - drop useless iff that assert already checked

CID 1267465 pointed this out - assert(eim) already checked this so no
need to do it again - looks confusing

8 years agoevas cache - avoid possible deref of null pointer
Carsten Haitzler (Rasterman) [Mon, 11 Jul 2016 13:06:16 +0000 (22:06 +0900)]
evas cache - avoid possible deref of null pointer

this fixes CID 1267472

8 years agoecore pipe - fix close of pipe that doesnt set fd to invalid
Carsten Haitzler (Rasterman) [Mon, 11 Jul 2016 13:02:45 +0000 (22:02 +0900)]
ecore pipe - fix close of pipe that doesnt set fd to invalid

this should fix CID 1267459

8 years agoeet - fix possible integer overflow in ptr diff on parse
Carsten Haitzler (Rasterman) [Mon, 11 Jul 2016 12:54:57 +0000 (21:54 +0900)]
eet - fix possible integer overflow in ptr diff on parse

coverity spotted this - with silly long strings (like 1gb in size or+)
it might happen. fix CID 1256196

8 years agoevas scale cache - address possible coverity deadlock
Carsten Haitzler (Rasterman) [Mon, 11 Jul 2016 12:45:39 +0000 (21:45 +0900)]
evas scale cache - address possible coverity deadlock

this should fix CID 1106338  where we don't lock and unlock caches in
the same order.

8 years agoevas software x11 - dri swapping - fix possible coverity bug
Carsten Haitzler (Rasterman) [Mon, 11 Jul 2016 12:29:32 +0000 (21:29 +0900)]
evas software x11 - dri swapping - fix possible coverity bug

fix CID 1039620 - coverity is right, in theory.

8 years agoecore x xrandr - fix possible divide by zero
Carsten Haitzler (Rasterman) [Mon, 11 Jul 2016 12:17:39 +0000 (21:17 +0900)]
ecore x xrandr - fix possible divide by zero

fixes CID 1039437 , 1039438

8 years agoevas object freeing - fix missing null check for layer
Carsten Haitzler (Rasterman) [Mon, 11 Jul 2016 12:14:51 +0000 (21:14 +0900)]
evas object freeing - fix missing null check for layer

fix CID 1039409

8 years agoEdje entry: Add link press effect
Subodh Kumar [Mon, 11 Jul 2016 09:26:29 +0000 (18:26 +0900)]
Edje entry: Add link press effect

Summary:
Add link press effect

Custom tag (linked_pressed) has to be supplied in entry tb style
with color value for press effect to be applied on link text.

Reviewers: tasn

Subscribers: shilpasingh, cedric, jpeg

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

8 years agoembryo_cc: Buffer overflow check.
Umesh Tanwar [Mon, 11 Jul 2016 09:08:31 +0000 (18:08 +0900)]
embryo_cc: Buffer overflow check.

Summary:
A string is copied to the array '&symbolname[0]' of size 32,
without checking it's length at first at embryo_cc_sc1.c:2101.
So, used assert  to avoid possible overflow.

Signed-off-by: Umesh Tanwar <umesh.tanwar@samsung.com>
Reviewers: Hermet, cedric, raster

Reviewed By: raster

Subscribers: singh.amitesh, jpeg

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

8 years agoelput: check for a special return value
Marcel Hollerbach [Sun, 10 Jul 2016 17:07:33 +0000 (19:07 +0200)]
elput: check for a special return value

sd_pid_get_session returns ENODATA or ENXIO if it was unable to fetch
the session data for the given pid, reason for that is mostly that the
pid is not running is a session. Adding this as the error value can help
the user debugging the problem without the need of gdb´ing into the
function and checking the return value.

8 years agoecore_wl2: Make offer destroy more secure
Marcel Hollerbach [Wed, 6 Jul 2016 18:10:05 +0000 (20:10 +0200)]
ecore_wl2: Make offer destroy more secure

Check if it is NULL and NULL after each destroy call

8 years agoecore_wl2: split of cnp_selection_data_ready and
Marcel Hollerbach [Wed, 6 Jul 2016 18:09:07 +0000 (20:09 +0200)]
ecore_wl2: split of cnp_selection_data_ready and
dnd_selection_data_ready

before there was the case that both handlers are called even if just dnd
data arrived.

8 years agoecore_wl2: only destroy source when not needed anymore.
Marcel Hollerbach [Wed, 6 Jul 2016 12:54:53 +0000 (14:54 +0200)]
ecore_wl2: only destroy source when not needed anymore.

Otherwise we are destroying the source before getting dnd_finished or
cancled events, which is a problem.

8 years agoecore_wl2: buffer reading of the data
Marcel Hollerbach [Wed, 6 Jul 2016 12:48:46 +0000 (14:48 +0200)]
ecore_wl2: buffer reading of the data

Otherwise callbacks can go out even if the selection data is not ready
to read.

8 years agoecore_wl2: delay the destruction of the offer or do it in the read
Marcel Hollerbach [Wed, 6 Jul 2016 12:48:08 +0000 (14:48 +0200)]
ecore_wl2: delay the destruction of the offer or do it in the read

8 years agoEvas textblock: Apply scale factor to <linesize>, <linegap> formats
Youngbok Shin [Mon, 11 Jul 2016 08:57:36 +0000 (17:57 +0900)]
Evas textblock: Apply scale factor to <linesize>, <linegap> formats

Summary:
Font size is scaled according to scale factor.
The linesize, linegap formats also have to be scaled properly.
@fix

Test Plan:
Test cases are included.
Run "make check"

Reviewers: woohyun, Jieun, tasn, herdsman

Reviewed By: tasn

Subscribers: raster, cedric, jpeg

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

8 years agoelm main - fix indentation whitespace since iw as the last to touch it
Carsten Haitzler (Rasterman) [Mon, 11 Jul 2016 08:35:25 +0000 (17:35 +0900)]
elm main - fix indentation whitespace since iw as the last to touch it

8 years agoEdje entry: Skip codes for updating cursor when cursor position is not changed
Youngbok Shin [Mon, 11 Jul 2016 08:09:31 +0000 (17:09 +0900)]
Edje entry: Skip codes for updating cursor when cursor position is not changed

Summary:
When ever a Edje's cursor function is called, "cursor,changed" signal is
emitted. Even if the position is not changed. And, in Elementary, the signal
will trigger evas_smart_objects_calculate() from elm_widget_show_region_set().
It causes bad performace.
@fix

Test Plan: N/A

Reviewers: tasn, herdsman, cedric, woohyun

Subscribers: jpeg, z-wony, Blackmole

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

8 years agoEvas Text: Fix width of BiDi text
Minwoo, Lee [Mon, 11 Jul 2016 07:26:13 +0000 (16:26 +0900)]
Evas Text: Fix width of BiDi text

Summary:
BiDi text is truncated because the way we find the last visual item in text object is wrong.
This patch is similar with _line_native_last_visual_get function in textblock.

Reviewers: cedric, tasn, herdsman

Subscribers: id213sin, cedric, jpeg

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

8 years agoelm_calendar: provides way for configuration of weekend text color
Jiwon Kim [Mon, 11 Jul 2016 07:10:34 +0000 (16:10 +0900)]
elm_calendar: provides way for configuration of weekend text color

Summary:
Suggest new mark_type for elm_calendar_mark_add().
The mark names are "weekend/day1", "weekend/day2".
It can be used for each country.
Some country can apply to "weekend/day2" to friday if day rest only a day for a week.
Until now, there is no way to separate holiday, saturday and sunday.

Test Plan:
1. saturday
```
struct tm t = { 0, 0, 12, 6, 0, 0, 6, 6, -1 };
elm_calendar_mark_add(obj, "weekend/day1", &t, ELM_CALENDAR_WEEKLY);
```
2. sunday
```
 struct tm t = { 0, 0, 12, 7, 0, 0, 0, 0, -1 };
 elm_calendar_mark_add(obj, "weekend/day2", &t, ELM_CALENDAR_WEEKLY);
```

Reviewers: CHAN, cedric, raster

Reviewed By: raster

Subscribers: raster, akanad, id213sin, cedric, jpeg

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

8 years agoRevert the wobbly window code in wayland_egl engine - fun is over guys
Carsten Haitzler (Rasterman) [Mon, 11 Jul 2016 05:53:36 +0000 (14:53 +0900)]
Revert the wobbly window code in wayland_egl engine - fun is over guys

So ok. haha. Amusing. But this is inappropriate.

1. It's not an INTENDED effect in theme so unless the theme ius doing
it - it shouldn't happen.
2. There are places to do this and it's NOT inside an engine. There
are high level filter and other mechanisms.
3. Actually this shouldn't be even done client-side. It should be done
compositor-side when moving a window around. Knowing velocity vector
etc. is useful to a client so the protocol can stay but doing the
animation client-side is "wrong". Some windows wobble and others do
not based on toolkit? really? sure we have to live with the CSD
difference but this? The compositor can do this JUYST fine. leave it
to compositor... OR do this properly with filters client-side. e.g. a
2d displacement map with evas filters would do the job as long as it
interpolates. If you want a way of forcing ALL objects in the canvas
to redirect to an intermediate buffer then do it up there at the
canvas level. It then works in GL and software, as opposed to only GL.

Also.... this is now causing issues for users:

<memeka> hi, from
https://git.enlightenment.org/core/efl.git/commit/?id=fb76fe55a52ac212b6870f1d74470a79ea5c5246
i run EFL_WAYLAND_DISABLE_WWW=1 terminology -> but it crashes in
wayland_egl/www.c in the setup_shaders function .... HELP?

so the fun was fune until we do a release (now) and until this causes
problems for users. Back to tried and tested code.

If you want to do this... do it right at the portable layers above.

...

Revert "wayland-egl: Fix use after free"
Revert "wayland_egl: Fix redirect to texture"
Revert "evas-wayland-egl: Add www protocol handling to wayland-egl engine"
Revert "gl_common: Add API for redirecting render to texture"

This reverts commit 2760afbb0e8c8adfb35b1dee016be7883fa07323.
This reverts commit c937248eac0d0996f3cbc31a348b92c8baac2ec3.
This reverts commit c67f50b40aaf2595e21373bf89b53bc1edec44a4.
This reverts commit 0f7f4b6de07707031482f6e3e7f7c69f7fb7e855.

8 years agoecore_x: NULL derefs.
Benjamin Jacobs [Mon, 11 Jul 2016 05:19:59 +0000 (14:19 +0900)]
ecore_x: NULL derefs.

Reviewers: raster, devilhorns

Subscribers: raster, cedric, jpeg

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