Commit Graph

51534 Commits

Author SHA1 Message Date
Tom Hacohen 874071ca42 Eo gdb: Add workaround for gdb oddities.
These workarounds are required to make sure the plugin works across
gdb and python versions.
2016-12-08 11:19:51 +00:00
Jean-Philippe Andre 055e905b84 theme: Fix crash at app shutdown
The wrong hash was used to store theme data items. Obviously
this is an API that wasn't used within EFL thus untested. Yay.

@fix
2016-12-08 16:30:34 +09:00
Jean-Philippe Andre f1d546df5d eina: Set magic type name for Eina_File 2016-12-08 16:30:34 +09:00
Jean-Philippe Andre 208e152baf eina: Reinstall magic checks on Eina_File
file != NULL does not mean it's valid. Since Eina_File is
a basic eina type a magic check is still better than nothing.
It can avoid doing eina_file_dup() on a closed file for instance.

This "fixes" a crash in eina_file_close with invalid files.

Now I can go hunt the root cause...
2016-12-08 16:30:34 +09:00
Jean-Philippe Andre 4a67074a67 evas: Don't load wayland engines when running on X
evas_render_method_lookup calls evas_module_find_type that
in turn actually goes and loads the module. All we wanted to
know was whether the render_method corresponded to one of the
wayland engines.

See 453770137f
2016-12-08 16:13:32 +09:00
Jean-Philippe Andre bdb4977dda win: Implement stronger theme compatibility for frame_obj
The frame object requires a theme of version 119 or more. In fact
I think until we are totally happy with the window API (for EO) we
might want to bump that version regularly. That would indeed disallow
theme customization for border.edc until it's done.

This patch uses a pretty brute force way to set the theme file to
the default file from EFL installation. elm_config is not reliable
here.

This is very custom made and there may be a more generic way to force
a widget to use a minimum theme version. Yes that could mean ugly
widgets if we change the theme API but at least that would make them
work. Note that the border theme contains no visual elements, so the
colors of the background, etc... should all depend on the user
selected theme. But of course CSD (in Wayland) will have to use the
default theme -- and look grey.

Fixes D4976
2016-12-08 16:13:32 +09:00
Jihoon Kim be7e8f6513 entry: set autocapital mode according to the layout 2016-12-08 15:54:48 +09:00
Youngbok Shin 835c8d1b77 Edje: remove a unreachable code from edje_text.c
Summary:
If "text" is NULL, it is set as empty string in the above code.
So, the removed line is unreachable.

Test Plan: N/A

Reviewers: raster, cedric, herdsman, woohyun, jpeg, Hermet

Reviewed By: Hermet

Differential Revision: https://phab.enlightenment.org/D4462
2016-12-08 13:31:05 +09:00
Jonghee Choi 88e7606b39 access: do not count initted if elm_modapi_init() is fail
Summary:
When _access_init was called, initted will be increased always even though failed to initialize.
This patch will fix this problem.

Signed-off-by: Jonghee Choi <joi.choi@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>

Reviewers: cedric, Hermet

Reviewed By: Hermet

Subscribers: joi.choi, jpeg

Differential Revision: https://phab.enlightenment.org/D4466
2016-12-08 13:28:39 +09:00
Sungtaek Hong 3f0963f7b0 efreet_desktop: fix potential error in efreet_desktop_cache_create
Summary:
 - old_file_ids is freed but not set as NULL.
   If it goes to error code, old_file_ids will be freed again.

Reviewers: jpeg, cedric, Hermet

Reviewed By: Hermet

Subscribers: conr2d

Differential Revision: https://phab.enlightenment.org/D4467
2016-12-08 13:26:55 +09:00
Carsten Haitzler fb3fca50c1 evas fb engine - fix build break cedric added... 2016-12-08 10:19:23 +09:00
Cedric BAIL 386e06c73c evas: do not rely on Evas canvas no longer passed during setup. 2016-12-07 15:47:56 -08:00
Cedric BAIL 73b308fb66 evas: refactor setup stage and reduce complexity for engine. 2016-12-07 15:47:56 -08:00
Derek Foreman da5f41723a gl_drm: Only use dmabuf if the extension is present
Need to check for the extension string instead of just the presence of the
function pointers.
2016-12-07 16:41:34 -06:00
Derek Foreman cef41ae70a gl_drm: Query eglGetProcAddress with dlsym
eglGetProcAddress should be queried with dlsym unconditionally.  What we
had could query it with other extended forms of eglGetProcAddress, which
is probably not what anyone wants.

Also, throwing away the weird extended forms because there's a good chance
our other gl bits don't run on any stacks that don't support normal
eglGetProcAddress.
2016-12-07 16:39:17 -06:00
Derek Foreman 661e44c38d gl_drm: simplify outbuf_reconfigure
Calling render_engine_software_generic_update from eng_setup lets us
remove a bunch of stuff from evas_outbuf_reconfigure.
2016-12-07 15:54:06 -06:00
Cedric BAIL 8205051ff6 evas: wait on one specific task to be done.
This prevent dead lock.
2016-12-07 11:17:20 -08:00
Derek Foreman b997b108b5 gl_drm: Don't destroy the outbuf in reconfigure
Cedric tells me this is bad, and I never argue with Cedric.

We now re-use the same outbuf and just reconfigure the gbm/gl stuff.
2016-12-07 11:30:03 -06:00
Derek Foreman 515362efe2 ecore_drm2: Make ecore_drm2_fb_release return status
We need to use this to free up gbm buffers on a surface release, so it
has to report when it successfully frees a buffer.
2016-12-07 11:30:03 -06:00
Stefan Schmidt 9c38423ecd build: coverage: work around lcov 1.12 bug by using absolute paths for info files
In case a warning gets printed from lcov some internal function changes the dir
to / and thus fails to create files in the given file later on. Using an
absolute path here is a workaround to avoid this problem. The fix is in lcoc
already but not yet in any release so we better keep this around here.
Lcov fix reference:
632c25a0d1
2016-12-07 17:53:27 +01:00
Stefan Schmidt 14c19e1c6f build: coverage: disable branch coverage generation to avoid hangs in gcov
I have seen hangs with gcov on Jenkins and locally where the processing just
keeps spinning in an infinite loop. From what I have found out this boils down
to using gcov --all-blocks which is what lcov does with branch coverage enabled.
It is supposed to be fixed in gcc 4.8+ but I see this here with 5.3.1. So its
either a regression or not completely fixed. In any case we will ignore branch
coverage for now. I hoped it would work well but it did only for a while and
having line and function coverage is better than having nothing.
2016-12-07 17:53:27 +01:00
Derek Foreman eafb05c58a evas - software generic - fix crash
Commit fcef8d8392
breaks any evas engine that frees/NULLs its own outbuf before
calling evas_render_engine_software_generic_update()

We should unconditionally set the outbuf, we only need to
do the free conditionally.
2016-12-07 10:10:42 -06:00
Tom Hacohen 5424cdbd81 Eo: Fix efl_isa() sometimes returning wrong results with extensions
This fixes an issue where efl_isa() wouldn't work for extensions or
ancestors of extensions of a class.

Example:
Class A implements interface F2
F2 inherits from interface F1
obj is of class A

Before this patch efl_isa(obj, F1) would return false, now it returns
true as expected.

This is just one example, there is a whole array of variations to this
issue that are now fixed.

Thanks to Gustavo for reminding me of this.

@fix
2016-12-07 13:55:13 +00:00
Tom Hacohen 900b1726e6 Eo tests: Adjust according to latest commit. 2016-12-07 13:31:54 +00:00
Daniel Kolesa 8d4de0d787 eolian: use the generic class name instead of C name in source
This changes the string in Efl_Class_Description to use the real
class name (with namespaces) instead of the C class name. The
reason for this is that this string is generic, not C-related.
2016-12-07 13:31:54 +00:00
Daniel Kolesa 246288fff7 eolian: forgotten free() (leaks memory otherwise) 2016-12-07 14:06:02 +01:00
Daniel Kolesa 5fa81d9fab eolian: switch reference validation to new tokenizer 2016-12-07 13:56:35 +01:00
Tom Hacohen ddf940320d Eo gdb: Be more strict with types and convert Eo * to uintptr_t.
This should make the results cleaner and also solve potential conversion
issues in some version combinations of gdb and python.
2016-12-07 12:51:54 +00:00
Tom Hacohen 5614e46f1f Eo gdb: Implement eo_data_get to get eo data.
Like 79d76fb25e, this is useful when
debugging a core dump.

It accepts a valid pointer to an object, for example as returned from
$eo_resolve, and a name of a class or mixin, and returns a pointer to
the private data. Essentially the same as efl_data_scope_get(), but also
works on core dumps, and accepts a class name instead of a class
pointer.

Usage:
Print the pointer:
 (gdb) print $eo_data_get($eo_resolve(obj), "Efl_Canvas_Object")
 $1 = (void *) 0x555555eb9290

Use it directly (e.g. to print a value):
 (gdb) print ((Evas_Object_Protected_Data *) $eo_data_get($eo_resolve(obj),
              "Efl_Canvas_Object"))->last_event_type
 $2 = EVAS_CALLBACK_MOUSE_UP

@feature
2016-12-07 12:51:54 +00:00
Carsten Haitzler fcef8d8392 evas - software generic - fix crash when buffer is freed when its the same
evas_render_engine_software_generic_update(0 definitely is wrong where
it wants to always free the outbuf even if the buffer passed in is the
same one and thus it ends up being freed and now invalid. fix it

@fix
2016-12-07 19:24:44 +09:00
Artem Popov 4707c86a83 Evas: include efl_vg_container.eo.legacy.h to avoid implicit declaration for evas_vg_container_child* @fix
Summary: Due to implicit declaration, evas_vg_container_child_get casts to int and on 64-bit can return wrong pointer

Reviewers: cedric, NikaWhite, myoungwoon, jpeg, an.kroitor, Hermet

Reviewed By: Hermet

Subscribers: t.naumenko

Differential Revision: https://phab.enlightenment.org/D4464
2016-12-07 14:21:12 +09:00
Hermet Park 436e07277e elementary genlist: code refactoring.
removed duplicated logic and add a descriptive comment.
2016-12-07 14:17:33 +09:00
jinwoo.shin 825af0c89c genlist : fix cannot scroll to item after call elm_genlist_item_update
Summary: Fix cannot scroll to item after call elm_genlist_item_update

Test Plan: https://phab.enlightenment.org/T4974

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: SanghyeonLee, minkyu, cedric, jpeg

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D4460
2016-12-07 13:57:56 +09:00
Sungtaek Hong 44716502fc emile_image: fix possible segmentation fault in AGRY88
Summary:
 - ptrag is set NULL and is allocated only when prop is rotated.
   but *ptrag = 0xFF00 | ptr[0]; without checking rotation.

Reviewers: jpeg, cedric, Hermet

Reviewed By: Hermet

Subscribers: conr2d

Differential Revision: https://phab.enlightenment.org/D4463
2016-12-07 13:42:46 +09:00
Cedric BAIL 68470a50fe evas: as an example make PMAPS decoding interruptible. 2016-12-06 16:34:48 -08:00
Cedric BAIL 365f79b7ee evas: use emile and evas new infrastructure to interrupt decoding of JPEG early. 2016-12-06 16:34:48 -08:00
Cedric BAIL c8fef4a556 emile: add infrastructure for callback to request what to do with image.
First use of this infrastructure is to make JPEG decoding interruptible.
2016-12-06 16:34:40 -08:00
Cedric BAIL 889944fefe efl: extend possible error while decoding an image to be cancelled. 2016-12-06 16:26:08 -08:00
Cedric BAIL 3aa63faa10 evas: add possibility for image loader to know if what they are working is still useful. 2016-12-06 16:26:08 -08:00
Cedric BAIL 27a47da15b evas: add infrastructure for Evas_Loader to know if what they are working on is still useful. 2016-12-06 16:26:08 -08:00
Cedric BAIL 3fab272906 evas: add capability to know if a thread has been cancelled. 2016-12-06 16:26:08 -08:00
Cedric BAIL 34758ad4f5 evas: switch to use Ecore_Thread instead of half done Evas thread infrastructure. 2016-12-06 16:26:08 -08:00
Derek Foreman df4f377ad2 wayland_shm: track mappings more effectively
Unmap any active mappings from buffer_destroy.  This also means we need
to clear the mapping after unmapping in fallback.
2016-12-06 16:34:54 -06:00
Derek Foreman 7fa02c8994 wayland_shm: Refcount the dmabuf buffer manager
Because we async render into buffers before the compositor has told us
we can use them, we can end up kicking over to fallback while still
rendering into a buffer.

Refcount the manager to let us clean up properly without crashing when
this happens.
2016-12-06 16:34:54 -06:00
Derek Foreman 9b048df6ff wayland_shm: clear busy bit for buffers during dmabuf fallback
If we pre-rendered then we have a busy buffer - we need to clear that
busy bit after reading from the buffer or buffer_destroy won't clean it
up.
2016-12-06 16:34:54 -06:00
Derek Foreman b897d86943 wayland_shm: Clear busy status when replacing an unassigned buffer
If we render fast enough we can use more than one buffer before the
compositor assigns us buffer ids.  We need to be careful to clear the
busy bit on all but the most recent one.
2016-12-06 16:34:54 -06:00
Derek Foreman 4258fa4f70 gl_drm: Allow testing of dmabuf objects
Enlightenment needs to know if a specific dmabuf format is supported
before it lets clients use it.  This lets E test commit a wayland
dmabuf object without assigning it a buffer.
2016-12-06 16:34:54 -06:00
Chris Michael 673b735917 evas-wayland-shm: Keep tile buffers in sync with size changes
Previous patch to not destroy Outbuf on resize should not have removed
this line else software generic tilebuffers will not be in sync with
the updated size.

ref 5ebba4463

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-06 14:14:49 -05:00
Bruno Dilly 9941fbc044 examples/evas: use new API for key modifiers per seat 2016-12-06 17:09:03 -02:00
Chris Michael 29325b7903 evas-drm: Keep tile buffers in sync with size changes
This line should not have been removed from the previous patch. Thanks
to Cedric for catching this.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-06 14:05:19 -05:00