Commit Graph

57844 Commits

Author SHA1 Message Date
Daniel Kolesa 917a5216f8 eolian: add APIs to retrieve declarations as objects
This will replace the old declarations API.
2018-03-08 19:00:32 +01:00
Derek Foreman 3fc6eea24f gl_drm: Don't NULL init a variable we're about to set
minor clean up with no functional change.
2018-03-08 11:33:34 -06:00
Derek Foreman 37b9a246ba gl_drm: Check EGL client extensions before using platform_base
The comment here was right, we shouldn't just trust these without testing
if we should trust these.
2018-03-08 11:33:31 -06:00
Derek Foreman 3a15195088 gl_drm: Rename eng_gl_symbols to eng_egl_symbols
It now only deals with egl.  gl extensions must be queried later, so it
was previously a bit weird/confusing.
2018-03-08 11:16:01 -06:00
Derek Foreman 609c86903f gl_drm: Move some extension queries to after context creation
Anything non-EGL we might query would have to be queried here, so
I'm moving the call here to protect us in the event that we need GL
extensions in the future.

I'm still a bit confused as to what string I should be passing to
evas_gl_symbols, though.
2018-03-08 11:15:57 -06:00
Daniel Kolesa 9594f09156 eolian: add API to query information about Objects
As nearly every Eolian handle is backed by an Eolian_Object,
this information is now publicly exposed and has an API. This
opens up an array of new possibilities for tooling, as you
can now externally query file names, line numbers etc.,
as well as cast arbitrary handles to Eolian_Object pointers
and back.

This will be expanded later and it will replace the Declaration
system, as it's cleaner, better integrated and more versatile.

@feature
2018-03-08 17:32:38 +01:00
Derek Foreman 329e9c0b4b gl_drm: use EGL_IMG_context_priority if available
This is a hint that we want a high priority context.  Since gl_drm is
likely a compositor or a full screen app, it makes sense that it try to
use this (but other engines probably shouldn't)

Based loosely on Chris Wilson's weston patch to do the same thing.
(weston commit b678befb6ed055e6c66466505d9195a3cebf8073)

As this extension appears to have been around for years, I haven't
added fallback defines for:
EGL_CONTEXT_PRIORITY_LEVEL_IMG  0x3100
EGL_CONTEXT_PRIORITY_HIGH_IMG   0x3101
2018-03-07 15:24:37 -06:00
Derek Foreman f8658d25fa gl_drm: Move the gl symbol check to immediately after display init
We don't actually need a context first, just an initialized display.
2018-03-07 15:24:37 -06:00
Cedric Bail fae4ad5fbb eo: fix warning. 2018-03-07 11:01:25 -08:00
Cedric Bail 21c80b027e eo: adjust test suite to take invalidate state into account. 2018-03-07 11:00:06 -08:00
Cedric Bail 83233a976d ecore: rely on Efl.Object.invalidate instead of a hack for Efl.Model.Container.Item. 2018-03-07 10:59:20 -08:00
Cedric Bail 83251edae7 eo: introduce invalidate and noref state.
This is just a first step. All user of destructor should be updated to
move the code that rely on their efl_parent and on efl_provider_find to
invalidate. Then we will be able to change the way efl_add and efl_del
work to properly refcount things. efl_noref won't be triggered at the
moment until both efl_parent_set(obj, NULL) and the last user ref are
set to NULL. This is not what we want, but due to how user refcount is
accounting parent at the moment, until all the code is move to rely
on invalidate we can not fix this.
2018-03-07 10:56:53 -08:00
Cedric Bail 012bcff80c ecore_wl2: cleanup input code to string logic to reduce compiler warning and useless memory access. 2018-03-07 10:51:46 -08:00
Cedric Bail 6b1b3d25d6 elementary: fix backward compatibility bug introduced by 9c8749b99a. 2018-03-07 09:34:49 -08:00
Chris Michael 59a689faa4 ecore-wl2: Check for valid string before passing to strlen()
As strlen() cannot accept NULL (segfaults), we should check for valid
key, keyname, and compose strings here before passing to strlen().

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2018-03-07 09:50:58 -05:00
Chris Michael a1bb9b313f ecore-wl2: Reduce calls to strlen
Small patch to reduce calls to strlen when sending key events. This
patch is loosely based on Phab D5567

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2018-03-07 09:37:25 -05:00
Daniel Kolesa 482c5d1ba2 eolian: get rid of old APIs for typedecl retrieval 2018-03-07 13:53:08 +01:00
Daniel Kolesa f596a97da6 eolian: remove old variable retrieval APIs 2018-03-07 13:25:28 +01:00
Daniel Kolesa 434b0a399d eolian: remove old class retrieval APIs 2018-03-07 13:08:49 +01:00
Marcel Hollerbach 253680f754 efl_ui_focus_manager_calc: performe refocus after the node is deleted
if node is the last element, the element will be focused again, and
later deleted, without cleaning up the history
2018-03-07 19:27:12 +09:00
Amitesh Singh 558947bf81 examples: cxx: fix the compilation for slider example. 2018-03-07 19:25:19 +09:00
Carsten Haitzler e767fbe2b5 efl check - fix env var for CK_FORK=no 2018-03-07 15:35:18 +09:00
Minkyu Kang 98a36f37f3 elementary: entry - recover cursor position when theme is changed
Summary:
When theme is applied text is reset and cursor position is set to 0.
This patch is recover the position to previous after text is reset.

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>

Reviewers: cedric, jpeg, woohyun, herdsman

Reviewed By: cedric

Subscribers: cedric, jpeg

Tags: #efl

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Youngbok Shin b147b5062f elementary: bg - keep file path and key string for legacy bg widget
Summary:
If a file path and key string was passed to elm_bg, we could get
the same file path and key string. Even if it failed to load the image file.
And the file path also remained its original form.
ex) Setting file path "~/image.png" => Getting file path "~/image.png"
                                       (Not "/home/user_name/image.png")

@fix

Test Plan: Included in elementary test suite.

Reviewers: jpeg, cedric, raster

Reviewed By: cedric

Subscribers: woohyun

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Jeonghyun Yun b63cdb6497 elementary: entry - fix to generate "activated" and "aborted" event in single line entry only
Summary:
"aborted": The escape key was pressed on a single line entry. (since 1.7)
"activated": The enter key was pressed on a single line entry.

Reviewers: id213sin, jpeg, cedric, herdsman

Subscribers: cedric, jpeg

Tags: #efl

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Woochan Lee eb865ab537 elementary: add missed type for legacy.
Summary:
We've been missed type of class name.

Add legacy class name to maintain compatibility.

@fix

Reviewers: jpeg, woohyun, Jaehyun_Cho

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Woochan Lee 533537c0f2 elemetary: spinner - free the longpress_timer when unfocused
Summary:
It needs to delete when widget unfocused.

@minkyu
Gets from tizen.
0bc1a19703dc204c8d347794bae0290006f4bde5

Reviewers: jpeg, Jaehyun_Cho, minkyu, cedric

Subscribers: minkyu, cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Lauro Moura d78620e001 elm: fix location of legacy include for elm_code.
Summary:
Instead of including the legacy header on the main header, just include
it where it is actually used (diff_widget.c), like in elm_code_widget.c.

Test Plan: Try to compile edi with the tarball from `make dist`. It should not fail with elm_code related errors.

Reviewers: raster, stefan_schmidt, felipealmeida

Subscribers: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Wonki Kim 59c0246eea evas: add null check logic on evas_object_smart_attach
Summary:
this commit add null check logic on evas_object_smart_attach
because a segmentation fault occurs once the argument is not valid (eg. null).

Test Plan:
	1. invoke evas_object_smart_add(obj, NULL)
	2. see the application crashes

Reviewers: woohyun, cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Woochan Lee 6b29613bbe efl_ui_multibuttonentry: maintainance legacy function type.
Summary:
I did it wrong.

The "Elm_Multibuttonentry_Format_Cb" should be maintain for legacy.

efl_ui_XXX has to use efl_format interface.

@fix

Test Plan: elementary_test->multibuttonentry sample.

Reviewers: cedric, woohyun, Jaehyun

Subscribers: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Youngbok Shin 255e9c788a evas: increase offset by 4 to do work for next map points
Summary:
Increasing offset as 2 for next map points is wrong.
If evas tries to draw for wrong combination of map points,
it can cause wrong results. Actually, every drawing code for
map points use and increase offset as 4.

@fix

Test Plan:
A test case for textpach is modified for testing this issue.
1. Run elementary_test with sync render mode.
   ex) ECORE_EVAS_FORCE_SYNC_RENDER=1 elementary_test
2. Open textpath test.
3. Set a short text by clicking newly added check box.
4. (It will show another issues... So,) change slice number to update textpath properly.
5. See some noises at top-left side of text.
   It is drawn from the two of end map points to the two of empty(not used) map points.

Reviewers: raster, cedric, jpeg, jypark

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Bryce Harrington c96f3d5ba5 eina: tighten grammar in eina_hash API docs.
Summary:
Improve the verbage in the doxygen comments.  Refer to the value being
changed as the 'previous' rather than the 'old' value, to be more
precise.  Drop the phrase 'keeping API sane' as it is unnecessary and
is an odd thing to say.  Try to avoid referring to 'your program' as we
shouldn't assume the reader's situation.

Reviewers: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Bryce Harrington 3b508dfc19 eina: define the in/out params for eina_bezier
Reviewers: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Bryce Harrington 75a2dbf0d3 eina: use better parameter name in eina_rectangle
Summary:
'thiz' is not commonly used in EFL, more commonly used is a word or
abbreviation that is descriptive of the object being used ('hash' for
Eina_Hashes, 'str' for Eina_Strings, 'array' for Eina_Arrays, etc.)
Follow this convention by using 'rect' (as used already in various
places) instead of 'thiz' or 'r'.

Reviewers: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Bryce Harrington e849e64fb9 eina: specify error returns in @return for eina_list API docs
Summary:
For all routines that can return NULL on error, mention this in the
function's @return docs.  In cases where a small number of situations
result in this return, move the docs to the @return; in other cases just
state the NULL return briefly and leave the elaboration in the body.

Reviewers: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2018-03-06 19:05:57 -08:00
Derek Foreman dbdd11aa11 efl_wl: Don't create touch resources with pointer interfaces
Fixes a forced disconnect error.
2018-03-06 16:06:05 -06:00
Carsten Haitzler 9c8749b99a ecore - go back to args 0 being the command and 1+ being actual args
so this is then inconsistent with efl.exe and efl.thread, so go back
to being normal with 0'th arg being the binary itself jsut to make
sure we have conistent usage.
2018-03-07 02:32:15 +09:00
Carsten Haitzler 6865ad1773 ecore - efl threads - add thredio class
this adds a simple indata and outdata void ptr to begin that you can
set on efl.thread objects (set the indata) and get the outdata too to
get results. then on the efl.appthread side the indata is set on the
efl.appthread before it runs and on quit the thresad can set the
outdata on the appthread, and this appears back on the efl.thread
object in the parent thread.

so you can basically share pointers to anything in and out this way on
start/exit in addition to string args etc.

the reason i made it an extra class (mixin actually) is for future
expansion. sharing more complex data - eina values maybe or objects as
long as they are shared objects, and perhaps acting as an interface
for calling a function at the other end like ecore_thread_async_call
etc.
2018-03-07 02:32:15 +09:00
Carsten Haitzler 1ac60fe022 ecore efl exe/task/thread - move stdin/out flags to task class
also use them in efl thread to determine if io handlers are set up and
pipes created at all etc.
2018-03-07 02:32:15 +09:00
Amitesh Singh f5b0cd2b3b Efl.Ui.Slider: implement Efl.Ui.Range.range_step_set/get()
Also move elm_slider_step_set/get() as legacy APIs.
remove eo api step.set/get() as well since range intf
already implements it.
2018-03-06 16:25:41 +09:00
Carsten Haitzler 6d9d978faf evas cache - fix return val to fix warning
fix return val if cache is null (something bad happening)
2018-03-05 23:29:37 +09:00
Carsten Haitzler 91086fca39 evas cache image - protect against null cache ptrs
ok. i can't find the root cause because all i have is a backtrace from
ApBBB and he says he can't reproduce it and i know im->cache is
null... if i could reproduce ... i'd be hunting the root cause. but
the best i can do is check for null im->cvache ptrs and be safe.
crashes are bad. especially for end users.
2018-03-05 19:04:42 +09:00
Vincent Torri 32b2102774 Elm_code test: fix compilation
Reviewers: cedric, raster

Differential Revision: https://phab.enlightenment.org/D5831
2018-03-04 21:41:34 +09:00
Al Poole 300831cb3c efreet_xml: make sure we unmap the right pointer.
Seems Linux would munmap a lump of coal without failing. Make
sure the pointers match. Again bogus unmap not detected by
valgrind and not failing.

@fix T5949
2018-03-03 13:13:05 +00:00
Carsten Haitzler 7d934a4a0d efl loop - remove commented out code left over from work on theads etc 2018-03-03 18:59:40 +09:00
Carsten Haitzler aabbb211ea efl.task - add an api to clear environment 2018-03-03 18:01:05 +09:00
Carsten Haitzler 6c0ed8fe76 efl exe - fix indent 2018-03-03 17:57:17 +09:00
Carsten Haitzler d80ef6d7a9 efl loop promises - cleare out promise data to null
so there is something broken in the complect efl promise/loop promise
that the clear of promises on loop destroy is clearing
promises/futures that have already triggered (loop timer ones). i've
spent enough time figuring out that it is happening.
_efl_loop_timeout_del() simple doenst ensure the future in
pending_futures for that promise is removed from the list. getting the
future from the promise handle is an exercise in pain... so i'm not
continuing with that path and will just ignore it.

but for now filling the promise data with null at least means if the
menory is re-used after free it wont see garbage freed ptrs and get
nulls so its easier to track.
2018-03-03 17:15:10 +09:00
Carsten Haitzler eb0b826776 ecore thread queue tests - reduce size and craziness and fix 1
1 test was wrong. it didn't wait for the thread to exit before checking
msg count recieved. fixed. race condition here.

also reduce the sheer message counts sent - it makes the suite take a
lot longer than is sane and als consume massive amounts of log space
in /tmp as a result.
2018-03-03 13:40:33 +09:00
Carsten Haitzler d8bd4e15d4 ecore file test - change url to a file we control.
rthe ecore file download test was downloading from sf.net ... and i
noticed sf.net refusing thus the ecore tests suite failing... i
changes it to grab a file (rss.php which is disabled for us but there)
so at least enlightenment.org has it.

better would be to spawn a webserver and test against that locally.
but thats a whole other level of work.
2018-03-03 13:40:33 +09:00