platform/upstream/efl.git
7 years agoEvas Jpeg2000 loader: port it to openjpeg 2.*
Vincent Torri [Tue, 8 Aug 2017 02:32:47 +0000 (11:32 +0900)]
Evas Jpeg2000 loader: port it to openjpeg 2.*

Test Plan: files in https://github.com/uclouvain/openjpeg-data/tree/master/baseline/nonregression

Reviewers: jpeg, raster, cedric

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

7 years agoeo: Fix memory leak with overrides
Jean-Philippe Andre [Tue, 8 Aug 2017 02:01:25 +0000 (11:01 +0900)]
eo: Fix memory leak with overrides

See 0834511067a99faafc2c59f0aabcd58dab1cbc0b
And b7840d9177b32f480087bd7f062cc66ab2583485

Ref T5580

7 years agolayout: Implement missing edje APIs
Jean-Philippe Andre [Mon, 7 Aug 2017 10:11:31 +0000 (19:11 +0900)]
layout: Implement missing edje APIs

This makes elm_layout implement:
 - efl_canvas_layout_signal_message_send
 - efl_canvas_layout_signal_process

This only transfers the calls from the elm widget to the internal
edje object.

PS: message_send is quite ugly in C...

Ref T5315

@feature

7 years agoelm: Move elm_layout_sizing_eval to legacy
Jean-Philippe Andre [Mon, 7 Aug 2017 07:13:38 +0000 (16:13 +0900)]
elm: Move elm_layout_sizing_eval to legacy

elm_layout_sizing_eval() marks an object as requiring recalc.

Unfortunately, it's been massively abused by various widgets into
actually doing the calc, or the min calc. So we end up with one API
that has 3 different definitions depending on the widget type:
1. Mark as requiring recalc (correct, respects doc, elm_layout)
2. Calculate min size and other size hints
3. Actually do some geometry modification

I believe we need to clarify these 3 requirements into 3 very clear
and specific APIs in elementary. Right now we have similar functions
in evas for 1 (evas_object_smart_changed) and 3 (smart_calculate).
But their exact definition also isn't necessarily what we want for
elementary.

Another clear problem is that layout_eval does not do any calculation
(in theory), so the "eval" word is a bit of a stretch here.

Once we're sure about the exact API we want, we can add this back to
EO and make it work across our EO widgets. For now let's just keep
the legacy API, and its EO overrides, as is.

Ref T5315

7 years agoeo: temporary prevent segfault.
Cedric BAIL [Mon, 7 Aug 2017 17:32:19 +0000 (10:32 -0700)]
eo: temporary prevent segfault.

In some case, detected during eo test suite, the vtable does fail to
be fully assigned, but it is still being assigned as the new vtable.
Of course when later destroying it, it has already been freed. Leading
to a double free.

7 years agoelm_win: set shadow geometry based on borderless state
Mike Blumenkrantz [Mon, 7 Aug 2017 17:26:41 +0000 (13:26 -0400)]
elm_win: set shadow geometry based on borderless state

@fix

7 years agoelm_win: simplify/fix recalc logic when changing csd
Mike Blumenkrantz [Mon, 7 Aug 2017 17:26:41 +0000 (13:26 -0400)]
elm_win: simplify/fix recalc logic when changing csd

forcing a full eval here is unnecessary and broken since such an eval could
either change geometry in unexpected ways or fail to accurately change
the underlying canvas geometry

@fix

7 years agoecore-evas wayland: remove move() function
Mike Blumenkrantz [Mon, 7 Aug 2017 17:26:41 +0000 (13:26 -0400)]
ecore-evas wayland: remove move() function

this is conceptually wrong to include in a wayland engine

7 years agoCanvas text: fix re-add of existing style to list
Daniel Hirt [Mon, 7 Aug 2017 08:52:55 +0000 (11:52 +0300)]
Canvas text: fix re-add of existing style to list

Styles were appended regardless their key already existing.
Now it's fixed.
Also, improved readability of 'style_set'.

7 years agoecore-evas wayland: clamp max size hints to 0
Mike Blumenkrantz [Mon, 7 Aug 2017 15:05:58 +0000 (11:05 -0400)]
ecore-evas wayland: clamp max size hints to 0

7 years agoevas wayland: always create gl context when non-existent
Mike Blumenkrantz [Mon, 7 Aug 2017 14:48:39 +0000 (10:48 -0400)]
evas wayland: always create gl context when non-existent

7 years agoevas image: add checks for ENDT existence during image free
Mike Blumenkrantz [Mon, 7 Aug 2017 14:40:17 +0000 (10:40 -0400)]
evas image: add checks for ENDT existence during image free

this is null e.g., during enlightenment restart and causes crashes, probably
should be removed after underlying cause is resolved

@jpeg

7 years agoevas_object_image: formatting
Mike Blumenkrantz [Mon, 7 Aug 2017 14:34:33 +0000 (10:34 -0400)]
evas_object_image: formatting

this was unreadable at parts due to mixed tabs/spaces

7 years agoevas wayland: call makecurrent before querying gl attrs
Mike Blumenkrantz [Mon, 7 Aug 2017 14:02:07 +0000 (10:02 -0400)]
evas wayland: call makecurrent before querying gl attrs

fix T5845

7 years agoAllow to override build date
Bernhard M. Wiedemann [Mon, 7 Aug 2017 12:41:29 +0000 (14:41 +0200)]
Allow to override build date

Summary:
Allow to override build date
for distribution packages that use autoreconf
to recreate the configure script

See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.

Note: This patch will work with GNU date. If BSD date support is
important, a more complex patch needs to be done.

http://rb.zq1.de/compare.factory-20170713/efl-compare.out
also shows other diffs in .edj files that still remain

@fix

T5495

Reviewers: cedric

Subscribers: stefan_schmidt, jayji, netstar, jpeg

Maniphest Tasks: T5495

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

7 years agoedje: make the generated default program name reproducible over builds
Stefan Schmidt [Tue, 16 May 2017 15:58:36 +0000 (17:58 +0200)]
edje: make the generated default program name reproducible over builds

For programs without specific names edje_cc generated default names in
the form of program_$MEMORY_ADDRESS. That worked well enough for keeping
the names unique, but it causes problems if one wants to have these files
being binary reproducible due to different memory layouts, compilers,
etc. Simply using a counter as unique part should work well enough for
our use case and help people who want to verify builds.

Thanks a lot to Bernhard M. Wiedemann for review and testing.

Fixes T5113
Ref T5495

7 years agoexamples: fix build break after efl_ui_panes change
Stefan Schmidt [Mon, 7 Aug 2017 10:37:19 +0000 (12:37 +0200)]
examples: fix build break after efl_ui_panes change

In commit 40945d985967e58d6e6c00ecfd6292a8d67b83b5 it was renamed but
the examples not updated.

7 years agoefl_ui_focus_manager: free iterator when done
Marcel Hollerbach [Mon, 7 Aug 2017 10:30:08 +0000 (12:30 +0200)]
efl_ui_focus_manager: free iterator when done

7 years agoefl_ui_focus_manager: fix leak when setting order
Marcel Hollerbach [Mon, 7 Aug 2017 10:29:38 +0000 (12:29 +0200)]
efl_ui_focus_manager: fix leak when setting order

We should free the list when we set it again.

7 years agoRevert "efl: terrible kludge so avoid termination crash on osx"
Stefan Schmidt [Mon, 7 Aug 2017 09:53:00 +0000 (11:53 +0200)]
Revert "efl: terrible kludge so avoid termination crash on osx"

This reverts commit 9368eedd353a88dd31ba50c71433f81a2978adb5.

The release is out so we can revert this bandaid again. In the hope to
find the real culprit and solution before the next release.

7 years agoelm: rename elm panes to Efl.Ui.Panes
Amitesh Singh [Wed, 2 Aug 2017 01:32:30 +0000 (10:32 +0900)]
elm: rename elm panes to Efl.Ui.Panes

7 years agoecore evas wayland - add explicit falltrhough tags for warning removal
Carsten Haitzler (Rasterman) [Sun, 6 Aug 2017 02:50:49 +0000 (11:50 +0900)]
ecore evas wayland - add explicit falltrhough tags for warning removal

7 years agoedje - add embryo echo command for debugging
Carsten Haitzler (Rasterman) [Sat, 5 Aug 2017 05:47:25 +0000 (14:47 +0900)]
edje - add embryo echo command for debugging

finally add one...

@feature

7 years agoedje crash with run program references - fix
Carsten Haitzler (Rasterman) [Sat, 5 Aug 2017 04:10:33 +0000 (13:10 +0900)]
edje crash with run program references - fix

i found a crash today where a heme could cause a crash if it just did
the right things. the run program was freed while still being
accessed. so add some ref counting to keep it alive until references
go to 0. and add soem refs while we store it in lists.

@fix

7 years agoefl-wl: no-op the re-setting of minmax/aspect handling
Mike Blumenkrantz [Fri, 4 Aug 2017 20:17:53 +0000 (16:17 -0400)]
efl-wl: no-op the re-setting of minmax/aspect handling

7 years agoefl-wl: add handling for external protocol interfaces
Mike Blumenkrantz [Fri, 4 Aug 2017 20:17:53 +0000 (16:17 -0400)]
efl-wl: add handling for external protocol interfaces

@feature

7 years agoecore-evas-wayland: rework window hint calcs to be more accurate
Mike Blumenkrantz [Fri, 4 Aug 2017 20:17:53 +0000 (16:17 -0400)]
ecore-evas-wayland: rework window hint calcs to be more accurate

this is still pretty broken for some directions, client-side aspect fml

7 years agoefl-wl: set minmax for test app
Mike Blumenkrantz [Fri, 4 Aug 2017 20:17:53 +0000 (16:17 -0400)]
efl-wl: set minmax for test app

7 years agoefl-wl: support min/max hinting
Mike Blumenkrantz [Fri, 4 Aug 2017 20:17:53 +0000 (16:17 -0400)]
efl-wl: support min/max hinting

@feature

7 years agoefl-wl: watch/update aspect hints in test
Mike Blumenkrantz [Fri, 4 Aug 2017 20:17:53 +0000 (16:17 -0400)]
efl-wl: watch/update aspect hints in test

7 years agoelm_test: set window aspect hint for icon transparent test
Mike Blumenkrantz [Fri, 4 Aug 2017 20:17:53 +0000 (16:17 -0400)]
elm_test: set window aspect hint for icon transparent test

7 years agoelm_win: propagate window aspect hint in wayland
Mike Blumenkrantz [Fri, 4 Aug 2017 20:17:53 +0000 (16:17 -0400)]
elm_win: propagate window aspect hint in wayland

7 years agowayland: add efl-hints protocol for setting aspect on surfaces
Mike Blumenkrantz [Fri, 4 Aug 2017 20:17:53 +0000 (16:17 -0400)]
wayland: add efl-hints protocol for setting aspect on surfaces

@feature

7 years agotheme: clip start gadget arrow to intended clipper
Mike Blumenkrantz [Fri, 4 Aug 2017 20:11:00 +0000 (16:11 -0400)]
theme: clip start gadget arrow to intended clipper

make activate visual state function as intended

@fix

7 years agoefl-wl: set cursor surface roles
Mike Blumenkrantz [Fri, 4 Aug 2017 20:11:00 +0000 (16:11 -0400)]
efl-wl: set cursor surface roles

ensure cursor surfaces without buffers will be mapped if a buffer is
attached

@fix

7 years agoefl-wl: add handling for commit during canvas render
Mike Blumenkrantz [Fri, 4 Aug 2017 20:11:00 +0000 (16:11 -0400)]
efl-wl: add handling for commit during canvas render

prevent release of pre-existing buffers during a render cycle

@fix

7 years agoecore-evas-wayland: update size when size hints are changed
Mike Blumenkrantz [Fri, 4 Aug 2017 20:11:00 +0000 (16:11 -0400)]
ecore-evas-wayland: update size when size hints are changed

ensure hinted size is used

@fix

7 years agoefl-wl: do shm pool ref/unref for bm safety
Mike Blumenkrantz [Fri, 4 Aug 2017 20:11:00 +0000 (16:11 -0400)]
efl-wl: do shm pool ref/unref for bm safety

@fix

7 years agowayland: fix min/max size setting
Mike Blumenkrantz [Fri, 4 Aug 2017 20:11:00 +0000 (16:11 -0400)]
wayland: fix min/max size setting

also don't set arbitrary hints on init

@fix

7 years agoefl-wl: block connection attempts from unmanaged clients
Mike Blumenkrantz [Fri, 4 Aug 2017 20:11:00 +0000 (16:11 -0400)]
efl-wl: block connection attempts from unmanaged clients

I guess posting an oom error is security

@fix

7 years agoecore-wl2: sync aux hints after window creation
Mike Blumenkrantz [Fri, 4 Aug 2017 20:11:00 +0000 (16:11 -0400)]
ecore-wl2: sync aux hints after window creation

ensure hints are available when needed

@fix

7 years agoecore-wl2: don't send null set_parent requests for every window
Mike Blumenkrantz [Fri, 4 Aug 2017 20:11:00 +0000 (16:11 -0400)]
ecore-wl2: don't send null set_parent requests for every window

this is redundant

@fix

7 years agoecore-wl2: make _ecore_wl2_display_sync_get() local instead of static
Mike Blumenkrantz [Fri, 4 Aug 2017 20:11:00 +0000 (16:11 -0400)]
ecore-wl2: make _ecore_wl2_display_sync_get() local instead of static

7 years agoecore-wl2: simplify server pid detection
Mike Blumenkrantz [Fri, 4 Aug 2017 20:11:00 +0000 (16:11 -0400)]
ecore-wl2: simplify server pid detection

7 years agoecore-wl2: pass display to aux hint event_adds
Mike Blumenkrantz [Fri, 4 Aug 2017 20:11:00 +0000 (16:11 -0400)]
ecore-wl2: pass display to aux hint event_adds

fixes display refcounting

ref 6bb56b3f5651fab85b1a0a1a1a8040f4e488c799

@fix

7 years agoelm_test: reset win stack static vars when window is closed
Mike Blumenkrantz [Fri, 4 Aug 2017 20:11:00 +0000 (16:11 -0400)]
elm_test: reset win stack static vars when window is closed

7 years agoecore_drm2: Fix linker problems
Derek Foreman [Fri, 4 Aug 2017 17:13:40 +0000 (12:13 -0500)]
ecore_drm2: Fix linker problems

Accidentally used functions in the library directly instead of through
the sym_* dlsym looked-up variants.

Why this only caused problems in some installations may still be worth
investigating - we may be pulling in libdrm at link time from some
other library?

7 years agoefl_wl: fix typo in file name to make sure xml file lands in dist
Stefan Schmidt [Fri, 4 Aug 2017 08:28:52 +0000 (10:28 +0200)]
efl_wl: fix typo in file name to make sure xml file lands in dist

In commit 6bb56b3f5651fab85b1a0a1a1a8040f4e488c799 a new xml wayland
protocol file was added. Due to a typo in its name in EXTRA_DIST it
never made it into the tarball breaking the wayland build.

7 years agoedje: implement edje.player interface functions
Amitesh Singh [Fri, 28 Jul 2017 02:48:34 +0000 (11:48 +0900)]
edje: implement edje.player interface functions

fixes T5560

7 years agolayout: fix "elm,state,text,hidden" signal never be emitted
JinYong Park [Fri, 4 Aug 2017 06:33:27 +0000 (15:33 +0900)]
layout: fix "elm,state,text,hidden" signal never be emitted

Summary:
 In _elm_layout_text_set function, text_signal_emit is called.
 But in that case, check text whether it is null or not null before call signal_emit.
 So "text" is not null always, and text_signal_emit's parameter "visible" is also always EINA_TRUE.

Reviewers: Jaehyun_Cho, cedric, jpeg

Reviewed By: Jaehyun_Cho

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

7 years agolayout: Fix compilation break
Jean-Philippe Andre [Fri, 4 Aug 2017 03:31:14 +0000 (12:31 +0900)]
layout: Fix compilation break

Oooops! This broke external apps!

7 years agolayout: Implement data_get from edje
Jean-Philippe Andre [Thu, 3 Aug 2017 09:22:29 +0000 (18:22 +0900)]
layout: Implement data_get from edje

This also implements size_min and size_max get.

Ref T5315

7 years agoedje: Move size_min/max and data to an interface
Jean-Philippe Andre [Thu, 3 Aug 2017 08:50:01 +0000 (17:50 +0900)]
edje: Move size_min/max and data to an interface

The new interface is:
  Efl.Canvas.Layout_Group

I'm not fan of the name.

Ref T5315

7 years agoelm: Remove custom layout signal APIs
Jean-Philippe Andre [Thu, 3 Aug 2017 08:24:50 +0000 (17:24 +0900)]
elm: Remove custom layout signal APIs

This merges them with the now standard interface:
  Efl.Canvas.Layout_Signal

Some wrapping work was required for legacy API which
takes no user_data in del() but instead returns it. The
new EO function, while harder to use, is more correct
(you can't delete the invalid callback by accident, and
this follows EO events design).

Another crazy wrapping was done in entry/text in order
to add the callbacks to 2 objects instead of just one,
and still return the user data.

As for Naviframe and Popup, those two widgets override
signal_emit to forward the call to another object than
the resize object, but not callback_add/del. So they
are definitely broken.

Ref T5315

7 years agoedje: Move signal APIs to an interface
Jean-Philippe Andre [Thu, 3 Aug 2017 08:23:21 +0000 (17:23 +0900)]
edje: Move signal APIs to an interface

This interface will be used by elm_layout as well.

Ref T5315

7 years agolayout: Use only legacy "elm_layout_sizing_eval"
Jean-Philippe Andre [Thu, 3 Aug 2017 06:20:58 +0000 (15:20 +0900)]
layout: Use only legacy "elm_layout_sizing_eval"

This removes all uses of elm_obj_layout_sizing_eval.

Ref T5315

7 years agolayout: Improve doc for theme_set
Jean-Philippe Andre [Thu, 3 Aug 2017 02:28:29 +0000 (11:28 +0900)]
layout: Improve doc for theme_set

Ref T5315

7 years agolayout: Move Part_Alias struct to legacy
Jean-Philippe Andre [Thu, 3 Aug 2017 02:19:52 +0000 (11:19 +0900)]
layout: Move Part_Alias struct to legacy

Part aliases need to be handled differently in EO.

Ref T5315

7 years agolayout: Move edje_get to legacy only
Jean-Philippe Andre [Thu, 3 Aug 2017 01:29:21 +0000 (10:29 +0900)]
layout: Move edje_get to legacy only

Here's the reasoning:
 1. We will expose as many edje APIs as possible (and meaningful)
    through the elm layout class.
 2. Access to internal objects is usually risky, as it allows apps
    to bypass EFL in some ways, leading to potentially undefined
    behaviours.
 3. If the need arises we can still add a similar API back to EO,
    later.

Back to #1, it seems that the need for edje_get() was mostly to
call manual sizing functions, or the missing message_send(). I will
make sure these are accessible from the layout itself.

Ref T5315

7 years agolayout: Remove sub_object_add_enable
Jean-Philippe Andre [Wed, 2 Aug 2017 12:39:25 +0000 (21:39 +0900)]
layout: Remove sub_object_add_enable

Same as the previous patch. This was an ugly hack. Use another
one instead.

Ref T5315

7 years agolayout: Remove method theme_enable
Jean-Philippe Andre [Wed, 2 Aug 2017 12:15:50 +0000 (21:15 +0900)]
layout: Remove method theme_enable

This was an internal thing, ugly, replaced by another ugly
solution, but maybe less ugly.

Ref T5315

7 years agoscroller: Implement default content part
Jean-Philippe Andre [Wed, 2 Aug 2017 11:55:20 +0000 (20:55 +0900)]
scroller: Implement default content part

This:
  efl_content_set(efl_part(scroller, "default"), obj)
worked fine, but, this:
  efl_content_set(scroller, obj)
didn't work as expected.

Thanks @JackDanielz for the report.

Note: There is a problem still... "default" should not work
      with efl_part. This is quite bad, actually. It should
      probably be "content" instead.

7 years agolayout: Implement freeze and thaw from interface
Jean-Philippe Andre [Wed, 2 Aug 2017 11:46:16 +0000 (20:46 +0900)]
layout: Implement freeze and thaw from interface

This implements part of the interface
  Efl.Canvas.Layout_Calc

7 years agolayout: Implement cursor part APIs with efl_part
Jean-Philippe Andre [Wed, 2 Aug 2017 10:41:47 +0000 (19:41 +0900)]
layout: Implement cursor part APIs with efl_part

This makes layout parts implement Efl.Ui.Cursor.
This also adds the missing bool returns from that interface.

This removes 7 APIs from Elm.Layout.

Ref T5315

7 years agocursor: EO-ify elm_cursor API
Jean-Philippe Andre [Wed, 2 Aug 2017 09:35:57 +0000 (18:35 +0900)]
cursor: EO-ify elm_cursor API

This creates an interface and makes Elm.Widget implement it.
Next step: make elm_layout parts implement it.

Ref T5315

7 years agolayout: Move edje_object_can_access to legacy
Jean-Philippe Andre [Wed, 2 Aug 2017 06:17:54 +0000 (15:17 +0900)]
layout: Move edje_object_can_access to legacy

This is an API enabling accessibility on text(block) parts
in a layout. But it is said to have many issues. I can already
see that it only changes a flag but doesn't trigger any code
to create the appropriate objects, so definitely not fully
working.

According to @kimcinoo this may remain in legacy land for now.

7 years agoedje: Split off calc APIs to an interface (EO)
Jean-Philippe Andre [Tue, 1 Aug 2017 09:15:34 +0000 (18:15 +0900)]
edje: Split off calc APIs to an interface (EO)

Those APIs can then be used by Elm.Layout, hopefully
simplifying the API.

I wonder if the APIs should be prefixed "calc_" (as is)
or "layout_calc_". The extra "layout_" prefix would make
it common with other layout APIs (eg. signals, data,
size min/max, ...).

Ref T5315

7 years agoelm: Make content and text aliases internal only
Jean-Philippe Andre [Fri, 28 Jul 2017 06:35:10 +0000 (15:35 +0900)]
elm: Make content and text aliases internal only

This removes the APIs from the EO API.

Ref T5315

7 years agowin: implement efl_provider_find for EFL_UI_WIN_CLASS
Taehyub Kim [Fri, 28 Jul 2017 06:01:31 +0000 (15:01 +0900)]
win: implement efl_provider_find for EFL_UI_WIN_CLASS

Summary:
Implement efl_provider_find function for efl_ui_win class.
This will support to search window class by efl_provider_find function.

Reviewers: jpeg, cedric, Jaehyun_Cho, thiepha, woohyun, Blackmole

Reviewed By: jpeg, cedric

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

7 years agoframe: Implement text set/get (EO only)
Jean-Philippe Andre [Fri, 28 Jul 2017 03:10:27 +0000 (12:10 +0900)]
frame: Implement text set/get (EO only)

This is required for the default style which has a title.

7 years agoevas: More debug_name information
Jean-Philippe Andre [Thu, 27 Jul 2017 06:33:22 +0000 (15:33 +0900)]
evas: More debug_name information

7 years agoevas: Add debug_name to image objects
Jean-Philippe Andre [Tue, 25 Jul 2017 05:42:54 +0000 (14:42 +0900)]
evas: Add debug_name to image objects

7 years agoeina_slstr: Fix leak in an error case
Jean-Philippe Andre [Fri, 21 Jul 2017 06:47:10 +0000 (15:47 +0900)]
eina_slstr: Fix leak in an error case

This function takes ownership of the incoming strbuf

7 years agoeo debug name: Use strbuf instead of slstr
Jean-Philippe Andre [Fri, 21 Jul 2017 06:24:08 +0000 (15:24 +0900)]
eo debug name: Use strbuf instead of slstr

This should be a little bit more efficient, even if more "risky"
in terms of leaks. The final API still looks exactly the same.

7 years agoevas/edje/elm: Override debug_name in core classes
Jean-Philippe Andre [Fri, 14 Jul 2017 07:55:10 +0000 (16:55 +0900)]
evas/edje/elm: Override debug_name in core classes

This is really only a demonstration of what kind of information
we can print with efl_debug_name_get(). Hopefully this can help
debugging with printf/ERR logs and even help with live debugging
inside gdb.

This shouldn't be used for other purposes than debugging, as the
exact string format is not defined.

@feature

7 years agoeo: Add debug_name read-only property to ease debugging
Jean-Philippe Andre [Fri, 14 Jul 2017 06:57:36 +0000 (15:57 +0900)]
eo: Add debug_name read-only property to ease debugging

This will include the following information, by default:
 - class name
 - whether the class is an override
 - eo id (pointer)
 - refcount
 - name if one was set (Efl.Object property)

This also supports classes, which is why it's an EAPI in eo.c
and not only a method of Efl.Object

This can be overriden by subclasses using the empty method
Efl.Object.debug_name_override.get

If the function is overriden, then the returned string is used
as is and so it is left to the subclass to include all the
necessary information (as above). This can easily be achieved
by calling efl_debug_name_get(efl_super()) and then concatenating
the strings.

Think of this function as something like Java's toString(), but
only for debugging (i.e. a string class should not just return
its string value).

@feature

7 years agoEo: Allow multiple functions overrides
Jean-Philippe Andre [Thu, 13 Jul 2017 08:39:01 +0000 (17:39 +0900)]
Eo: Allow multiple functions overrides

This allows two things:
 - adding new override functions on an object that already has
   overrides
 - resetting a specific function (or list of functions) to the
   parent class implementation by passing NULL as implementation

Fixes T5580

@feature

7 years agoelm_test: Remove calls to visible_set for EO objects
Jean-Philippe Andre [Thu, 6 Jul 2017 08:22:41 +0000 (17:22 +0900)]
elm_test: Remove calls to visible_set for EO objects

7 years agoevas: Make all EO canvas objects visible by default
Jean-Philippe Andre [Thu, 6 Jul 2017 07:29:20 +0000 (16:29 +0900)]
evas: Make all EO canvas objects visible by default

All legacy objects remain invisible by default. Any call to
visible_set() will prevent the automatic show() to happen.

show() will be done just before render time, which may be a
bit too late in order to propagate the necessary changes.

This may break some things where some objects are created
internally using efl_add() instead of the legacy API, and
the intent was not to show the object.

@feature

7 years agoefl src - mark fallthrough switch statements in 3rd party code
Carsten Haitzler (Rasterman) [Fri, 4 Aug 2017 01:10:12 +0000 (10:10 +0900)]
efl src - mark fallthrough switch statements in 3rd party code

in code we importend that doesnt use eina we have warnings of
fallthroughs. all o them are commented to be fallthrough so add the
attribute there too to have fewer warnings.

7 years agoconfigure: switch to dev mode again
Stefan Schmidt [Thu, 3 Aug 2017 22:20:59 +0000 (00:20 +0200)]
configure: switch to dev mode again

Merge window for 1.21 is now open.

7 years agorelease: Update NEWS and bump version for 1.20.0 release upstream/1.20.0
Stefan Schmidt [Thu, 3 Aug 2017 20:36:25 +0000 (22:36 +0200)]
release: Update NEWS and bump version for 1.20.0 release

7 years agoecore-wl2: Rename local function and make it static
Chris Michael [Thu, 3 Aug 2017 14:15:41 +0000 (10:15 -0400)]
ecore-wl2: Rename local function and make it static

As this function is not called from anywhere outside of
ecore_wl2_window.c file, this can be declared static.

NB: This patch also changes the function name to match the library
(ecore_wl2).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoefl: terrible kludge so avoid termination crash on osx
Jean Guyomarc'h [Thu, 23 Mar 2017 21:58:08 +0000 (22:58 +0100)]
efl: terrible kludge so avoid termination crash on osx

Currently, elementary programs crash on termination on macOS (seems
Sierra-specific). This is very nasty, looks like deep memory corruption...
Without valgrind (or like) support on Sierra, it is difficult to
pinpoint the origin of the problem.

Due to the imminient release, and after discussion with @stefan, this
kludge will allow the release to happen.

This commit MUST be reverted just after the release, so we don't
blindfold ourselves!

Ref T5245

7 years agoeina debug - remove other swap and comment on the weirdness of this
Carsten Haitzler (Rasterman) [Thu, 3 Aug 2017 00:08:04 +0000 (09:08 +0900)]
eina debug - remove other swap and comment on the weirdness of this

7 years agoeina: failing to load a module is actually an ERR that user should see.
Cedric BAIL [Wed, 2 Aug 2017 23:16:33 +0000 (16:16 -0700)]
eina: failing to load a module is actually an ERR that user should see.

7 years agoEina_File: Avoid using munmap() on file->global_map.
Guilherme Iscaro [Wed, 2 Aug 2017 19:37:10 +0000 (16:37 -0300)]
Eina_File: Avoid using munmap() on file->global_map.

When a virtualized file is created the file->global_map will not
point to a mmapped region, thus it's not safe to use munmap() during
the file cleanup. Only use munmap() if the file is backed by a FD.

Fixes: T5234.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
7 years agoEfl_Copier: Add efl_wref_del() for pd->job.
Guilherme Iscaro [Wed, 2 Aug 2017 19:47:11 +0000 (16:47 -0300)]
Efl_Copier: Add efl_wref_del() for pd->job.

In order to perform IO operations the copier will create futures using
efl_future_use(&pd->job, ...), which will set pd->job to NULL once the
future is destroyed. However this may lead to problems, because in some
cases the copier may be deleted at the _efl_io_copier_job() function,
which is the future's callback. Since the copier may be deleted before
the future, the area pointed by pd->job will have disappeared by the time the future
tries to set pd->job to NULL. To avoid this problem the copier must
explicily call efl_wref_del().

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
7 years agoeina debug - new debug infra - comment out and make a note on bad endian
Carsten Haitzler (Rasterman) [Wed, 2 Aug 2017 13:41:54 +0000 (22:41 +0900)]
eina debug - new debug infra - comment out and make a note on bad endian

bad endian... code... see the comment in the src about why i think
this is bad as obviously the buffer pointed to is a 64bit type always
that is a pointer to something...

7 years agoevas: Add safety code for smart object
jiin.moon [Wed, 2 Aug 2017 11:28:09 +0000 (20:28 +0900)]
evas: Add safety code for smart object

Summary:
If user use the evas_object_smart_callback_add with no smart object,
it should be returned

@fix

Test Plan: self

Reviewers: jpeg, cedric, jypark

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

7 years agoevas filters: Disable extra debug
Jean-Philippe Andre [Wed, 2 Aug 2017 11:00:49 +0000 (20:00 +0900)]
evas filters: Disable extra debug

Forgot to remove that! It's better to disable for the release,
DBG() and XDBG() are disabled anyway.

CID 1308611

7 years agoevas filters: Shut up coverity
Jean-Philippe Andre [Wed, 2 Aug 2017 10:58:02 +0000 (19:58 +0900)]
evas filters: Shut up coverity

Add some safety checks.

CID 1374271

7 years agoevas: Rename calculate property to calculating
Jean-Philippe Andre [Wed, 2 Aug 2017 10:04:06 +0000 (19:04 +0900)]
evas: Rename calculate property to calculating

Recently introduced by @cedric
I think the name is not very clear, and is clashing with the
actual method of the same name.

7 years agoepp - fix buffer size for possibly bigger int snpritnfs
Carsten Haitzler (Rasterman) [Wed, 2 Aug 2017 09:45:44 +0000 (18:45 +0900)]
epp - fix buffer size for possibly bigger int snpritnfs

8 bytes wasn't enough for the full int range. use 12 and we're good.
removes warning for sure

@fix

7 years agoefl_wl - fix warning for possible uninitted list access
Carsten Haitzler (Rasterman) [Wed, 2 Aug 2017 09:43:35 +0000 (18:43 +0900)]
efl_wl - fix warning for possible uninitted list access

could potentially be an issue in one theoretical case. less warnings
is better anyway

7 years agoevas model loader - restructure code to silence warning
Carsten Haitzler (Rasterman) [Wed, 2 Aug 2017 09:40:25 +0000 (18:40 +0900)]
evas model loader - restructure code to silence warning

keep our build quiet warnings-wise and change the code to be so... so
we see real warnings. not a bug... just a warning.

7 years agoelm_code: small optimisation for large files
Andy Williams [Wed, 2 Aug 2017 09:32:13 +0000 (10:32 +0100)]
elm_code: small optimisation for large files

7 years agoeina hamster count - use a fixed version, revision etc. so builds repro
Carsten Haitzler (Rasterman) [Wed, 2 Aug 2017 08:12:28 +0000 (17:12 +0900)]
eina hamster count - use a fixed version, revision etc. so builds repro

this should help with repdocucable builds by having our hamsters
constant for a build of a specific code revision.

@fix

7 years agoefl build - fix lua old support on debian
Carsten Haitzler (Rasterman) [Wed, 2 Aug 2017 07:54:56 +0000 (16:54 +0900)]
efl build - fix lua old support on debian

didnt detect cflags properly. now it does.

@fix

7 years agoector - fix coveirty fix - vmin is -vmax not -vmin
Carsten Haitzler (Rasterman) [Wed, 2 Aug 2017 07:24:43 +0000 (16:24 +0900)]
ector - fix coveirty fix - vmin is -vmax not -vmin