Commit Graph

20066 Commits

Author SHA1 Message Date
Mike Blumenkrantz 6bb56b3f56 ecore-wl2: implement support for aux hints
this is a direct copy of a feature from tizen git with no modifications other
than what was required for compilation and functionality

https://review.tizen.org/git/?p=platform/upstream/efl.git;a=commitdiff_plain;h=01e72b7e3484ece4b589f95315990ba2c366c231
https://review.tizen.org/git/?p=platform/upstream/efl.git;a=commitdiff;h=670d84b579f248ae0e3df48e9953fe8128da9468

fix T5780

@feature
2017-07-28 15:43:48 -04:00
Mike Blumenkrantz 6dc937d26c Revert "evas: Fix use of invalid EO object"
This reverts commit 9b1e785f8e.

this breaks devices with vt switching under drm
2017-07-28 15:40:47 -04:00
Mike Blumenkrantz d529d6def6 elput: fix seat cleanup
ensure seat deletion does not conflict with elput shutdown

@fix
2017-07-28 15:40:47 -04:00
Mike Blumenkrantz ea4ae11023 elput: unref devices in post event cb
@fix
2017-07-28 15:40:47 -04:00
Mike Blumenkrantz b43a2d55e1 elm_table: do not propagate max size
evas table does not set max size, propagating this triggers unnecessary
callbacks

@fix
2017-07-28 15:40:47 -04:00
Mike Blumenkrantz 049d0c1f4c elm_box: use correct aspect ratio for HORIZONTAL layout
ratio should be flipped in this case

@fix
2017-07-28 15:40:47 -04:00
Mike Blumenkrantz 531422a2bb elm_box: use homogeneous layout if only one child exists
this should be a small speedup for a corner case of box use
2017-07-28 15:40:47 -04:00
Mike Blumenkrantz 812be4a43b elm_win: do not implement aspect_get()
this breaks aspect hints.

@fix
2017-07-28 15:40:47 -04:00
Mike Blumenkrantz 4f2b4d870a efl-wl: escape command args from test 2017-07-28 15:40:47 -04:00
Mike Blumenkrantz 84ae9d82d0 efl-wl: hide popup surface before unsetting attrs during destructor
ensure focus remains with the popup parent
2017-07-28 15:40:47 -04:00
Mike Blumenkrantz e24bc7517b efl-wl: simplify refocus on popup hide 2017-07-28 15:40:47 -04:00
Mike Blumenkrantz b32ae04306 efl-wl: use correct window when requesting x11 clipboard selection 2017-07-28 15:40:47 -04:00
Guilherme Iscaro ef03ecd89c Ecore_Con: Fix wrong comparison.
Otherwise it will always evaluate to false.
2017-07-28 15:22:51 -03:00
Guilherme Iscaro 493f75587d Ecore_Conn: Set EOS only if the connection is not closed.#algo.
This check prevents that EOS is set on a closed connection.

Fixes T5180
2017-07-28 15:22:51 -03:00
Guilherme Iscaro 0a51ac2997 Ecore_Con: Fix CLOEXEC documentation.
The socket attributes are inherited by the child.
2017-07-28 15:22:51 -03:00
Derek Foreman 8e500c6835 ecore_drm2: Allow picking a sequence number for blanktime_get
This lets us do a blocking wait for a vsync.  Something we should try to
do as infrequently as possible, but in some cases we need it one time at
startup to catch graphics driver bugs.
2017-07-28 10:41:11 -05:00
Daniel Hirt 2efa25511f Elm entry: fix call to set text via entry_set
Accidentally called the super here, so did not get routed to
'_elm_entry_text_set'.

Fixes T5803.
2017-07-28 12:36:07 +03:00
Amitesh Singh fd65e0f56a elm test: img.zoomable: allow top rect to pass events 2017-07-28 16:07:21 +09:00
Felipe Magno de Almeida 634f7d0dbb eo-cxx: Add overload for Eina_Bool inout handling interoperability
Add convert_inout_impl overload to handle bool/Eina_Bool conversion in inout direction.
2017-07-27 13:20:20 -03:00
Guilherme Iscaro 45a767632d Ecore_Conn: Enable CLOEXEC by default.
This flag should be enabled by default in order to avoid socket leaks.
2017-07-27 16:54:34 +02:00
Guilherme Iscaro 97f6803be1 Ecore_IPC: Preserve Ecore_Con legacy behaviour.
This patch sets some Ecore_Con flags that were missing after
the EO migration. These flags must be set in order
maintain the Ecore_IPC behaviour before Ecore_Con EO was implemented.

Fixes T5722
2017-07-27 16:54:16 +02:00
Amitesh Singh 0787b739cd efl.ui.image.zoomable: Add missing edje.group_size_min/max_get
This supresses the warnings when photocam is used as
an external edje object.
2017-07-27 19:06:27 +09:00
Jean-Philippe Andre 936ea58cb9 evas: Always call show/hide intercept
Ref T5370
2017-07-27 15:53:43 +09:00
Marcel Hollerbach f2b6a67115 elm_widget: change to @inout
according to q66 this is correcter than ptr(..).

Anyhow this still leads to a bug in cxx that crashes compilation in cxx
examples, people are notified!
2017-07-26 18:56:59 +02:00
Marcel Hollerbach 01af4dd13b elm_widget: fix warning 2017-07-26 15:52:54 +02:00
WooHyun Jung 9ef214ec08 ecore_events: inarray should be flushed before return
@fix
2017-07-26 18:57:37 +09:00
Jiyoun Park 6d4ebf9bc6 ecore_evas_wayland: fix bug ecore_evas cannot update the evas when rotation
usecase:
    show -> rotation -> hide -> show
    ecore_evas_wayland didn't check the rotation.
    when ee is landscapemode, it cannot update the right area of evas.
2017-07-26 15:28:02 +09:00
Andy Williams 77db870b61 elm_code: Fix missing middle button selection paste
Resolves task T5520
@fix
2017-07-25 23:54:21 +01:00
Derek Foreman 69c6cbfdf1 elput: Close fds when asked to
Our close callback tells logind we're done with a device, but it should
also actually close the fd it's passed, or we end up leaking piles of
fds on VC switch.

see weston commit 8f5acc2f3a29c3831af4ddd6bed57f703c98dc77
and subsequent regression in commit 72dea06d7952e3ce8dd8057f7106186da4fa2678
and pending fix in https://patchwork.freedesktop.org/patch/168992/
2017-07-25 16:59:11 -05:00
Sungtaek Hong a5fc50c186 edje_cc: fix wrong comment about lazEDC norequired.
Summary: - norequired; stands for required: 0

Reviewers: conr2d, jpeg

Reviewed By: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5036
2017-07-25 14:44:40 +09:00
Jean-Philippe Andre d4b2eb1e7f elm: Move calls to efl_destructor(efl_super()) to the end
When destroying any object, its parent class destructor should
be called after the subclass destructor has been called. Only
some extremely limited work may be done after the super call.

This commit makes sure that all efl_destructor() overrides in
elementary are doing operations in the right order.

Also, remove a return void.
2017-07-25 14:43:12 +09:00
Marcel Hollerbach dd883a7064 elm_widget: only emit events when there is really a changed manager
A manager change to NULL is to be used as "this object is not registered
anymore" call, which will happen quite regular during shutdown.
2017-07-24 23:40:38 +02:00
Marcel Hollerbach 6f0b79fe4b elm_widget: call the events after eval outself with new manager/parent
otherwise we might end up with a node_get error, since the widget where
the event is called on is still registered in the wrong manager
2017-07-24 23:40:38 +02:00
Marcel Hollerbach b49df7128a elm_widget: only set focus.manager if we are really registering
otherwise we might set focus.manager even if we are not registered
2017-07-24 23:40:38 +02:00
Marcel Hollerbach 47ce995637 elm_widget: give feedback if registration was successfull or not
with this we can whipe out the focus.manager field in elm.widget so for
the case that something goes wrong we only get the error message where
actually something went wrong, and not the whole bunch of follow ups
where the code assumes its registered but it isnt.
2017-07-24 23:40:38 +02:00
Derek Foreman 27f88b534a elput: Fix multiple open/close of drm devices
When I added the code to probe drm devices to ensure they're
modeset capable (ref 414d406b3b)
I didn't realize elput didn't allow us to open and close more than
one drm device at startup without blowing up libinput.

This is a somewhat dirty hack to rough that in.

The problem is that open/close the device during startup will
result in an async "gone" callback from logind, which then kicks
off an input shutdown.  We need to try harder to only do that
shutdown when it makes sense.
2017-07-24 16:06:52 -05:00
Mike Blumenkrantz aae4d21b63 ecore-wl2: handle null offer drags more effectively
this is valid and refers to an offer with no types; a leave event
with no enter is a protocol error, however

fix T5770

@fix
2017-07-24 08:30:05 -04:00
Mike Blumenkrantz 451a93d9d2 Revert "ecore wl2 - dnd - handle NULL drags... shouldnt happen but does"
This reverts commit 85e5858466.

please do not randomly add null checks for the purpose of quickly closing tickets.
2017-07-24 08:29:45 -04:00
Carsten Haitzler 85e5858466 ecore wl2 - dnd - handle NULL drags... shouldnt happen but does
this should fix T5770

@fix
2017-07-24 18:53:33 +09:00
Carsten Haitzler fd9e6b305d efl net server udp - report erro on alloc failure
unwind nicely and complain
2017-07-24 17:44:22 +09:00
Carsten Haitzler 143709faba ecore con proxy helper - complain when realloc fails
so you know why things might be failing... complain about out of
memory errors.
2017-07-24 17:35:13 +09:00
Carsten Haitzler fe6dc2000d ecore exe - pisix - handle malloc fails
handle malloc fails better
@fix
2017-07-24 16:59:53 +09:00
Carsten Haitzler 829d0bc3f9 ecore win32 exe handling - check realloc and malloc returns
handle out of memory errors better
@fix
2017-07-24 16:57:22 +09:00
Carsten Haitzler b47cbdcb65 ecore_exe - handle realloc failures by complaining and rolling back
@fix
2017-07-24 14:10:17 +09:00
Carsten Haitzler 132c047c4d embryo_cc - be sensible about realloc returns so analysers are happy
assingto tmp var then assign to real one after a check to analysers
dont complain.
2017-07-24 13:46:30 +09:00
Carsten Haitzler 8786449704 efreetd cache create - fix reallocs to bail on out of memory cleanly 2017-07-24 13:37:57 +09:00
Carsten Haitzler 8e311db414 edje_cc - make svg loader (still beta) handle out of memory nicely
print ERR and abort.
2017-07-24 13:26:28 +09:00
Carsten Haitzler 92fb46fb50 edje convert - make realloc fatal and complain about it
cleaner error handling
2017-07-24 13:09:26 +09:00
Amitesh Singh 4b4564c857 edje_cc out: fix div by 0 correctly 2017-07-24 09:50:05 +09:00
Andy Williams 292e9e9ecf elm_code: Fix crash with long lines
Also fixes issue where widget would sometimes blank when scrolling
@fix
2017-07-23 21:30:35 +01:00
Carsten Haitzler 83a249baa1 edje_cc out - fix theoretical div by 0
fixes CID 1371125
2017-07-23 19:48:16 +09:00
Carsten Haitzler d62f7d72e6 edje_cc out ... fix theoretical div by zero...
if files size was 0... which would basically make a lot fail before...
it could be a divide by zero. fix and just assume minimum size of 1.

fix CID 1371127
2017-07-23 19:46:17 +09:00
Carsten Haitzler 17d33c7138 efl ui grid - handle invalid 0x0 fully if the grid size fails to do it
if efl_pack_grid_size_set is overridden and somehow allows 0x0 to
still happen then handle this caase and skip the layout.

fix CID 1374317
2017-07-23 19:42:06 +09:00
Carsten Haitzler a91d0b2ea4 edje_cc out ... check more iui list element ptrs to help coverity
fix CID 1374482 ... and others i hope.
2017-07-23 19:36:41 +09:00
Carsten Haitzler 4df92f88d0 edje_cc out - double check list element ptr to make coverity happy
fix CID 1374483
2017-07-23 19:33:58 +09:00
Carsten Haitzler 3826f21a29 evas seat focus add - handle other case where layer may be null
fix CID 1377522
2017-07-23 19:30:31 +09:00
Carsten Haitzler bb7e8456c4 eina debug timer - handle fail wakeup write with error complaint
fix CID 1377528
2017-07-23 19:26:56 +09:00
Carsten Haitzler 144f5f73e0 add comment about poll high/medium/low implementation of events
not brilliant as it stands. :(
2017-07-23 19:18:55 +09:00
Carsten Haitzler 8a80005f25 ecore main - fix division to remain a double/float as expected
1/60 != 1.0/60.0 ... the first is an integer which is 0... the second
is 0.016666666 .... a float/double. fix CID 1377532
2017-07-23 19:12:32 +09:00
Carsten Haitzler 758e7d3562 eina debug - don't try and collect stats on more than a million threads
sanity check... just in case.
2017-07-23 19:09:11 +09:00
Carsten Haitzler b2809026bb elm cnp - check if selbuf is null or not and skip copying if null
this should fix CID 1377536
2017-07-23 18:56:43 +09:00
Carsten Haitzler b3b0411a05 evas callbacks - check if obj->events is valid because it's cow alloced
it COULD be null and we do have other checks for it being not-null and
we dont check if the alloc fails...  so check. this SHOULD fix
CID 1377547
2017-07-23 18:53:46 +09:00
Carsten Haitzler 6a65cb2f3c eina debug - add comments to cpu debug using locks to pause sysmon
this is intended so leave comments saying so. coverity doesn't like it
with CID 1377549
2017-07-23 18:43:58 +09:00
Carsten Haitzler c69f9d2837 eina debug - check return value of syscall for errors
this should fix CID 1377550
2017-07-23 18:40:04 +09:00
Carsten Haitzler 4095165385 efl canvas image - dbug ingo get - dont get if no root dbg info supplied
if root dbg info is null we'll leak and not have anything useful
stored somewhere for fetching anyway.

this should fix CID 1365656
2017-07-23 18:36:44 +09:00
Carsten Haitzler 60d2bd233b evas module load add comments pointing out this is intentional ptr loss 2017-07-23 18:29:57 +09:00
Carsten Haitzler fceb86c865 efreetd cache - fix leak of strbuf when error conditions abort save
fix CID 1374951
2017-07-23 18:11:26 +09:00
Carsten Haitzler 91878f72f1 efreetd cache - handle queue case leaking strbuf
fix CID 1374954
2017-07-23 18:09:39 +09:00
Carsten Haitzler 8f67f2f2d3 ecore_audio headers conflict with app have ifdefs
Ecore_Audio.h had #ifdef HAVE_PULSE ... and that is just so wrong as
this is something an ap[p may or may not set in its config.h ... but
this certainly hase no place in our public headers. the api's there
should always be there... symbols always... just imtplementation may
be empty ... though ecore_audio doesnt build at all without pulse...
so it's moot.

so fix this build issue i found when fixing e build issues with meson
changes etc.

@fix
2017-07-22 17:59:11 +09:00
Derek Foreman 414d406b3b ecore_drm2: Ensure device we find can mode set
Some systems have dri devices that can't mode set, and if they're first in
the directory they'll get picked by our code and things fall apart later.

So, open the potential device and ensure it has basic functionality before
selecting it.

This is a little inefficient as it gets the device via elput twice before
it can be used - this will be addressed later as the changes are a little
more invasive to optimize.
2017-07-21 16:46:00 -05:00
Derek Foreman 57e826db69 ecore_drm2: Open elput manager before drm device
We're going to need to access the device as part of the find process,
so we need a manager.
2017-07-21 16:46:00 -05:00
Jean-Philippe Andre dcf751bd3d hover: Return valid slot for main_menu_submenu
Fixes T5760
2017-07-21 16:18:36 -04:00
Mike Blumenkrantz 337f3796d6 ecore-evas-wayland: destroy frame callback on hide
ensure cursor surfaces can render again after being hidden

 #TheDisappointer

@fix
2017-07-21 16:17:54 -04:00
Mike Blumenkrantz 89e0d387dd eldbus: print full filename when codegen write fails 2017-07-21 16:17:54 -04:00
Mike Blumenkrantz 93bac8ce4a wayland: stop creating 1x1 surfaces on init
fix T5226

 #IGot99TicketsBut1x1AintOne
2017-07-21 16:17:54 -04:00
Mike Blumenkrantz 5070ecc99a elm_win: instantiate csd frame after creating pointer surface
csd attempts to create sw cursors if the pointer surface doesn't exist,
so create the pointer surface before the csd to avoid duplicate cursors

 #TheDisappointer
2017-07-21 16:17:53 -04:00
Mike Blumenkrantz 5acd75c0c9 elm_win: do not set invalid geometries on the window object
clamping to 1x1 is not valid, neither is trying to always position at 0,0

 #IGot99TicketsBut1x1AintOne
2017-07-21 16:17:53 -04:00
Mike Blumenkrantz 10516fa3fd elm_win: hide pointer surface on mouse out
this should be unmapped so edje stops trying to render to it, though
at some point it could be optimized to not hide and just reuse the buffer
when showing again

 #IGot99TicketsBut1x1AintOne
2017-07-21 16:17:53 -04:00
Mike Blumenkrantz d67bdc92b7 elm_win: show pointer canvas after setting cursor
setting cursor calls resize, which is what sets the surface size

 #IGot99TicketsBut1x1AintOne
2017-07-21 16:17:53 -04:00
Mike Blumenkrantz 9a56b267cd evas sw x11: formatting 2017-07-21 16:17:53 -04:00
Derek Foreman 736c63be34 gl_drm: half fix eglGetPlatformDisplayEXT usage
Just because the #define is present doesn't mean the extension is, so we're
BAILing on egl completely on some systems for no good reason at all. (saw
this on an SGX stack)

This is still wrong.  I don't want to try too hard until after the upcoming
release, though.

We should actually be testing for the presence of client extensions before
attempting to do any of this.  It's entirely possible that a gl stack will
return bogus functions for these from eglGetProcAddress
2017-07-21 14:34:50 -05:00
Carsten Haitzler b8a760ed58 efreet - dont complain if INTERNAL x extension hash of desktop is NULL
asking for an x- field from a desktop shouldnt result in null safety
checks IF the x hash is null - it's fine if it's null - that field
just doesn't eixst. if other fields were in the x hash but the desired
one wasn't it'd not complain, so why complain if there is just no x
hash?
2017-07-21 17:02:43 +09:00
Carsten Haitzler 97c3eedbab evas xpm loader - don't error print for files that cant be mmaped
no point complaining because we can't mmap... it'd be an unloadable
file.
2017-07-21 16:35:21 +09:00
Carsten Haitzler 0f73f10a42 efreet - remove noisy debug printfs 2017-07-21 06:06:59 +09:00
Daniel Hirt 01a693412f Evas textblock: add definition to 'cursor_equal'
This is a follow-up to c4ea25cbdb to fix
legacy API.
The definition was missing, so adding it.
2017-07-20 19:20:36 +03:00
Stefan Schmidt cc924aacde eldbus: codegen: free allocated strbuf in error path
fname would have been leaked if we failed to get a file_handler.
Also make sure we always create a new fname strbuf even without
a output_dir present to fix a potential unbalance between creating
and freeing.

CID: 1378112
2017-07-20 16:15:32 +02:00
Marcel Hollerbach 344a049ddb elm_widget: do not check for the visibility
it seems like the visibility is evalulated from different parent
relations, Just because the box (that is a container of a element) is
not visible, does not mean that the element in it is also not visible,
this somehow comes back to the box beeing deleted, the children beeing
reparented in evas, but not in elm. This is for now just a quickfix,
since those calls are just for optimization.

This fixes a load of errors once the elm_test window is closed

@fix
2017-07-20 12:00:13 +02:00
Jean-Philippe Andre 5db3e557c5 eina_list: Ensure single init
This fixes a crash in make check when --profile=dev is explicitely
enabled. eina_list_init() is called by the standard eina_init() loop
and by eina_debug_init() as well.

Honestly I'm not sure why it doesn't crash for other people as
well...

The crash was in eolian_suite during the second eina_init (called
from eolian_init).
2017-07-20 17:47:51 +09:00
Jean-Philippe Andre 7bb14727af evas: Fix a crash in emotion with GL
Ooops! When mapping for writing we can't use the same code
path as when tofree is true. This restores the path for image
writing. This basically fixes rage with GL engine.

See also 45c8e5e983
2017-07-20 16:43:52 +09:00
Hosang Kim 05e3e450e5 slider: fix jumping handler bug.
Summary:
Actual slider value is not changed.
So when user release mouse or touch, slider value is returned
to the value by user set.

This is a partial revert of f41e276160

Fixes T5745

Test Plan: elementary_test -> slider

Reviewers: jpeg

Subscribers: cedric

Maniphest Tasks: T5745

Differential Revision: https://phab.enlightenment.org/D5031
2017-07-20 15:28:32 +09:00
Jean-Philippe Andre 7243b71a19 evas: Restore flag pre_render_done in render_mapped
Some objects don't go through render_pre (unchanged, child
of mapped parents), even though they will go through
evas_render_mapped. Those were marked as pre_render_done
inside evas_render_mapped since it seemed to fix some issues
a long time ago.

Unfortunately, if those objects are changed their flag may
not be reset to false, which means they never go through
render_pre, leading to render issues.

I believe simply restoring the value of the pre_render_done
flag should be good enough. I don't know why it is set to
true inside evas_render_mapped but I also don't want to find
out :)

See 9ac13e4aec (old)
See 87e5e70a9d (older)

Patch made with @jiin.moon
2017-07-20 15:17:36 +09:00
Jean-Philippe Andre cb19c77558 evas: Avoid infinite loop on evas shutdown
If an object fails to call efl_destructor() on all the parent
classes, then it may never be removed from the layer object
inlist and never would its data be deleted either (eo keeps
it safely alive).

Here's how to test: add a "return;" statement inside an object's
destructor (eg. the window class).

Fixes T5680
2017-07-20 14:59:25 +09:00
Jean-Philippe Andre bbfdf8909b evas focus: Fix crash when shutting down with errors
Example test: add many evas_object_ref() to a window and click
on its X to close it.
2017-07-20 14:46:49 +09:00
Jean-Philippe Andre dccdd20335 elm: Fix a safety error message
Happens when shutting down E
2017-07-20 14:46:49 +09:00
Jean-Philippe Andre d6c95d1e4b evas gl: Rename secsym_ to eglsym_
eglDestroyImage has nothing to do with SEC...
This is a cosmetic change.
2017-07-20 13:31:34 +09:00
Jean-Philippe Andre 0c78783045 evas gl: Check EGL version before using dlsym
A recent commit broke texture_from_pixmap for NVIDIA EGL
(again), because eglCreateImage is a symbol in libEGL.so
but isn't in fact implemented by the driver.

That's because eglCreateImage() is exposed by libglvnd but
the underlying EGL implementation is NVIDIA and its version
is only 1.4, not 1.5 (where the API was introduced as core).

Instead of reverting the patch, it's better to cover our
bases properly and use dlsym() only if the version is right.

Note that GetProcAddress() may return garbage function
pointers for ALL functions as dynamic virtual functions may
be created on the fly by libglvnd. So it is absolutely
necessary to check the extension string as well.

See 0255f14dc2
2017-07-20 13:31:15 +09:00
Derek Foreman ef9bd41831 gl_common: extsn is no longer unused
Also, we should throw an error when it's NULL, since it's important
for finding symbols for extended egl/gl.
2017-07-19 13:05:53 -05:00
Derek Foreman 0255f14dc2 gl_common: Prefer unextended eglCreateImage
eglCreateImage is objectively better than eglCreateImageKHR - it allows
attributes large enough to hold pointer values.  We should use it when
available and only use the older extension version as fallback.

Also, eglCreateImage is core EGL functionality so don't depend on extensions
to be present to use it.  Theoretically we should be testing for
EGL version >= 1.5 but it's probably safe not to.
2017-07-19 12:24:19 -05:00
Derek Foreman d31f5038e2 gl_common: Remove fallback hack for wayland
This was only necessary due to bugs in the wayland_egl and gl_drm engine
that have been corrected.

Wayland has no bizarre requirements making this necessary.
2017-07-19 12:09:33 -05:00
Derek Foreman eda81c6dff gl_drm: Defer gl symbol lookups until they're possible
See previous commit for details.
2017-07-19 12:02:03 -05:00
Derek Foreman c7fe083a57 wayland_egl: Defer gl symbol lookups until they're possible
Commit 2e6587a14b adds a gl extension string to glsym_evas_gl_symbols()
to prevent using functions that are provided by extensions that aren't
available in the current gl context.

However, we can't query the extension strings until after we create an egl
context.

Split the regular symbol lookup stuff from the gl symbol lookup stuff so
we can query at the appropriate time.
2017-07-19 12:00:07 -05:00
Derek Foreman 86377caa0e wayland_egl: de-wtf the eglGetProcAddress prototype 2017-07-19 11:44:00 -05:00
Derek Foreman 7fd66e84d9 gl_drm: de-wtf the eglGetProcAddress prototype
This doesn't seem to serve any purpose other than rigorous proof that
typecasts can make literally anything compile.
2017-07-19 11:43:25 -05:00
Derek Foreman 855f59da8d gl_common: Stop looking for eglCreate/DestroyImageOES
These aren't a thing.  the GL_OES_EGL_image_base extension doesn't exist
and the GL_OES_EGL_image extension doesn't extend egl, because it's a gl
extension.

So let's stop being the only google match for these nonsense strings.
2017-07-19 10:33:06 -05:00
Jean-Philippe Andre 7231a3295b eo: Fix deadlock due to the shared mutex
Explicit lock / unlock of the shared mutex mixed with implicit
lock / unlock when accessing the internal Eo_Object data lead
to uncaught issues such as these.

This was found by trying to run E with gfx filters under eo_debug.
2017-07-19 15:44:49 +09:00
Jean-Philippe Andre b98bc51968 evas: Fix cmopilation warning
Oops I forgot to add that to the previous commit!
2017-07-19 14:01:07 +09:00
Jean-Philippe Andre 45c8e5e983 evas: Fix support for image_data_get on snapshot
evas_object_image_data_get() is a legacy API that I made work
with snapshot objects (evas_object_image_snapshot_set()). Some
changes in the engine broke the behaviour and this patch fixes
it.

When getting the pixels from an FBO, in read-only mode, we need
to create a temporary image (pixels surface) that contains the
copy of the pixels we get from glReadPixels. This image needs
to be deleted afterwards. It is thus stored by the image object
and freed upon _image_data_set() (good) or object deletion (bad).

FBO + read-write is not supported by this API (it is supported
through buffer_map as the filters had to use that).

Fixes T5754
2017-07-19 13:59:42 +09:00
Jean-Philippe Andre 897d81acb1 evas engine gl: Add missing image unlock
This is a rare error path. Unlikely and not very important as
the lock/unlock doesn't actually perform any meaningful operation.
2017-07-19 13:59:42 +09:00
Woochan Lee 6d31f5c7fd multibuttonentry: Fix item resource clean up logic.
Summary:
There are four cases where items are deleted.

1. Select item and push back button.
2. Delete "X" part of item.
3. Calling elm_object_item_del().
4. MBE deleted.

Previous logic is can't support for all cases.

below problems were there.

eina_list_remove() called twice.
list data free twice.

@fix

Test Plan: elementary_test -> multibuttonentry test.

Reviewers: jpeg, cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5030
2017-07-19 13:59:42 +09:00
Carsten Haitzler 1a16a4f10b emtoion gst1 - workaround gst break between 1.10 and 1.12
so emotion was using a much older (pre 1.0) buffer map mechanism for
getting video data. a new frame map api was added to gst in 1.0 but we
didnt use it. gst broke the old buffer direct mapping for some codecs
paths between 1.10 and 1.12. since we were using a very old method/api
this broke us. this also happens to fix some vaapi issues (except
where the buffer is simply never mappable ever). so this is kind of a
fix (updating us to as more modern api) and a workaround.

@fix
2017-07-19 11:07:47 +09:00
Marcel Hollerbach 68eba4817a eo: clarify what extensions are. 2017-07-18 17:51:38 +02:00
Marcel Hollerbach 1c9762d8ca elm_widget: do not register disabled logical nodes
this reduces the load of useless logical trees that

ref T5753
2017-07-18 17:51:38 +02:00
Marcel Hollerbach 92bad54778 elm_widget: eval all children if the disable property has changed
since all children could have a new register state in the manager

fix T5753
2017-07-18 17:51:38 +02:00
Marcel Hollerbach 8e2f5e8642 elm_widget: disable is a property across the tree
if a widget is disabled its children are also meant to be disabled.

ref T5753
2017-07-18 17:51:38 +02:00
Mike Blumenkrantz c5155d2fcc eldbus: support output dir in codegen
@feature
2017-07-18 11:34:18 -04:00
Jean-Philippe Andre f1bcd804ec elm_test: Set label as word wrap
This exposes an elm_win sizing bug. To test (under X):
  ELM_DISABLE_EXTERNAL_MENU=1 elementary_test -to "Main Menu"

The layout is not completely wrong 100% of the time, but it is
exactly correct 0% of the time. Window sizing is our flying
spaghetti monster.
2017-07-18 18:42:16 +09:00
Jean-Philippe Andre 521f41f536 win: Fix main menu when not in framespace
On OSX the framespace and CSD (Client-Side Decorations) are not
supported at all... I am not able to test this case. This patch
restores the main menu functionality based on pre 1.19 themes,
where it was located inside win.edc (app content) and not in
border.edc (framespace).

Note that the initial size of a window may be wrong, eg as in
  elementary_test -to "Main Menu"

Fixes T5734 (hopefully!)
2017-07-18 18:42:16 +09:00
Cedric BAIL 2330d4fec1 ecore_evas: make sure fn_post_render callback is called last.
Should fix T5595.
2017-07-17 11:51:15 -07:00
Daniel Hirt 4923945f81 Text: move Annotation type to Efl.Text.Annotate namespace 2017-07-17 17:38:28 +03:00
Daniel Hirt d5f781da2b Efl text: replace all usages of cursor handle to same type
Changes cursor handle name from 'Efl.Text.Cursor.Cursor_Data' to
'Efl.Text.Cursor.Cursor'.
Also, replace all usages of Efl_Canvas_Text_Cursor
with Efl_Text_Cursor_Cursor as the handle for the cursor.
2017-07-17 16:51:45 +03:00
Daniel Hirt c4ea25cbdb Evas textblock: fix legacy header
Fix ABI changes with const qualifiers, as well as some missing docs.
2017-07-17 16:50:31 +03:00
Daniel Hirt 22c39d4ee5 Ui internal text interactive: handle signed cursor position
CID 1377551.
2017-07-17 16:50:31 +03:00
Daniel Hirt e7f7636ac1 Ui text: don't send focus action to cursor on init
It made the cursor animation start on init, even if widget wasn't
focused.
2017-07-17 16:50:31 +03:00
Daniel Hirt 2bb0a1123e Ui text: add more examples to test 2017-07-17 16:50:31 +03:00
Daniel Hirt 02a607f360 Ui text: set default color (white) 2017-07-17 16:50:31 +03:00
Daniel Hirt bb2678d403 Canvas text: re-add support for tabs
Somehow this was left out. Fixes tabs, so you can now use "\t" and
press the "tab" key.
2017-07-17 16:50:31 +03:00
Daniel Hirt ba9a1b97c5 Ui text: use new api instead of 'style' property in the test 2017-07-17 16:50:31 +03:00
Andy Williams bf8a0eead2 OSX: fix version detection in build 2017-07-17 13:04:30 +01:00
Daniel Kolesa d5bca5b0cb eolian: always generate a class initializer
Because there might be hidden C implements defined, we need to
always generate the appropriate class initializer. This does not
hurt anything as the contents would have been called automatically
by Eo anyway.

@fix T5736
2017-07-17 11:04:29 +02:00
Jean-Philippe Andre 9dddc075d4 win: Amend previous commit about modifiers
The code was invalid, so making it valid now. Explicitely marking
the modifiers as unused, as mentionned in the documentation as
well.

See 9baa8752a9
2017-07-17 16:38:38 +09:00
Carsten Haitzler 9d1a8bb082 eina debug bt sig handle - fix build on osx for clockid_t
fix #ifdefs so it should in theory build on osx 10.11.x

@fix
2017-07-17 16:04:01 +09:00
Sungtaek Hong d545929845 edje_signal: reduce member count when deleted edje_signal_callback is found
Summary:
 - when deleted callback is found _edje_signal_callback_move_last() is called
   in order to pack match array.
 - during _edje_signal_callback_move_last() index skips when another deleted
   callback is found, but does not reduce members_count.
 - this duplicates a remaining callback and calls the callback twice.

Test Plan:
1. add multiple edje_signal_callback by edje_object_signal_callback_add()
              which have the same source, signal, func but different data.
           2. delete first and last callback by
              edje_object_signal_callback_del/edje_object_signal_callback_del_full.
           3. emit edje_signal.
           4. observe one callback is called twice.

Reviewers: SanghyeonLee, conr2d, jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4985
2017-07-17 15:05:20 +09:00
Jean-Philippe Andre 9baa8752a9 win: Fix ABI compatibility for grab modifiers
This fixes an ABI change when moving from unsigned long long
modifier mask to a simple enum. This is a fix for the release
of EFL 1.20.
2017-07-17 14:24:30 +09:00
Jean-Philippe Andre 9c18f0d00a ecore joystick: Use const char * in API, not slstr
The API eina_slstr_ is meant to look just like const
strings, wihch means here there could instead be an internal
struct holding the name, and the API would behave the same.

Note: This API is new in 1.20
2017-07-17 13:53:42 +09:00
WooHyun Jung 245940c093 Revert "elm_widget: separate elm_widget_item codes from elm_widget.c"
This reverts commit 4f8d20c826.
I'll apply this after finishing of release.
Thanks JP to give notification.
2017-07-17 13:45:08 +09:00
WooHyun Jung 4f8d20c826 elm_widget: separate elm_widget_item codes from elm_widget.c
This will help to focus on creating efl_ui_widget class work.
And, we need to change all the Elm_Widget_Item related logics to
factory or something else.
2017-07-17 11:22:46 +09:00
Jean Guyomarc'h 2f9cbb3a35 evas-gl_cocoa: fix compilation
Booo for commit 2e6587a14b.
2017-07-16 17:26:41 +02:00
Carsten Haitzler 2e6587a14b evas gl - fix compositing/native surface with egl/gles after glvnd
this fixes an issue that has cropped up in the past few months - only
nvidia drivers with egl/gles in x11... and compositing won't work
(native surface) and the introduction of libglvnd

it's a combination of libglvnd lying that it has symbols it can't
later find, new features to get core functions via procaddress that we
hadn't migrated to use AND use preferring core functions that libglvnd
will expose, so switching to KHR extensions by preference. we also
need to symmetrically use destroy image khr too...

oddly enough using procaddress purely for create/destroy image makes
wayland fail ... sofor now i'm taking advantage of the fact that
wayland has no extensions string passed in at the moment and still
doing dlsym... this is odd though.

@fix
2017-07-16 15:56:02 +09:00
Carsten Haitzler 53d6486ffa efreet icon cache create bin - check realloc results and handle
@fix
2017-07-16 15:56:02 +09:00
Carsten Haitzler fef4c2c292 efreet cache create binary - check realloc results and handle failure
@fix
2017-07-16 15:56:02 +09:00
Carsten Haitzler ead5d9cefd eo lexer - handle malloc failure with longjmp
handles possible error case nicely
2017-07-16 15:56:02 +09:00
Carsten Haitzler ff67dd25e3 evas mesh save - use alloca for tmp strings instead of heap
this reduces code and means we dont have to handle NULL exceptions as
alloca always "works".

@fix
2017-07-16 15:56:02 +09:00
Andy Williams 665679bc42 elm_code: add missing selection signals 2017-07-15 21:29:48 +01:00
Mike Blumenkrantz 3d4bb3851c ecore-evas: make the window_get apis return null without errors on failure
the normal usage of these is something like

if (!strcmp(engine, my_engine))
  win = window_get(ee);

which is a waste of effort since the window_get() functions all check
the engine interface internally
2017-07-14 18:43:00 -04:00
Mike Blumenkrantz bc3dc78a52 eina: make tiler test compare tilers which are not equal 2017-07-14 18:43:00 -04:00
Mike Blumenkrantz 83ff889f6d eina: fix eina_tiler_equal to not always return true
ref e3f4f4457d
broken by D996

@fix
2017-07-14 18:43:00 -04:00
Mike Blumenkrantz 47ddbede05 eina: make tiler function params const where appropriate
stop throwing warnings when passing const params to functions which don't
modify the params
2017-07-14 18:43:00 -04:00
Stefan Schmidt 02bbcabd3f examples: elm_icon: remove no-op deprecated function call for icon lookup
The function is deprecated and actually a no-op already. Better make
sure we do not promote deprecated functions in our won examples.
2017-07-14 14:06:34 +02:00
Stefan Schmidt e2fa3acb40 tests: elm_popup: mark unused parameter as such to avoid warning 2017-07-14 12:46:33 +02:00
Amitesh Singh ffa2cd5c75 efl.ui.image.zoomable: mark setter of img_region property as eo api
thanks to stefan for reporting.
2017-07-14 19:38:52 +09:00
jiin.moon 4211822701 edje_cc: Add copy item for proxy part
Summary:
Although user use "inherit" in a state of proxy part,
the inherit function does not copy the source_visible and
the source_clip value of parent to the state.

Test Plan: {F1751132}sample

Reviewers: jpeg, cedric

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

@fix
2017-07-14 11:39:44 +09:00
Derek Foreman 981d851d57 ecore_evas: Perform a tick before a manual render if we're not ticking
If we turned off the ticking with manual_render_set then perform a
manual render, we need animators to update.

ref T5462
2017-07-13 18:07:42 -05:00
Derek Foreman b86e6611f3 ecore_evas: Don't start custom tickers for manually rendered canvases
When a canvas is manually rendered the ticker is just a waste of cpu, and
worse - it can wake the drm back-end from dpms sleep, as the display needs
to be awake to generate vblanks.

We fire a DBG message when attempting to start an animator in this state
because it's frequently a bug that wastes battery life - (like E doing idle
cursor animations or clock updates while the display is off)

However, dpms off is not the only potential usage of manual render, so
another commit will follow shortly to fix the bug this commit introduces -
when using a backend with a custom ticker and doing manual render with
the display on, calling ecore_evas_manual_render() will not draw with
updated animator state.

Fix T5462
Again.
Really.
2017-07-13 18:07:42 -05:00
Derek Foreman e53b0c262a ecore_evas_drm: Provide a last_tick_get callback
Allow the drm engine to provide a tick timestamp for the previous vblank
interval.

ref T5462
2017-07-13 18:07:42 -05:00
Derek Foreman aa8d9c1829 ecore_evas: Add a function pointer for last_tick_get
Engines that provide their own tickers may need to be able to provide the
time of the last tick even if they weren't sending ticks to EFL at the
time.

This is a feature added during freeze as it's necessary to resolve a bug.

ref T5462
2017-07-13 18:07:42 -05:00
Derek Foreman 20def4da21 ecore_drm2: Add a query for the next vblank time
I guess this is a feature, and we're deep in freeze, but:

a) this is critical for fixing T5462 properly without any side effects.
b) ecore_drm2 is all beta api
c) this should only affect wayland users

ref T5462
2017-07-13 18:07:42 -05:00
Derek Foreman 7e0beea3f5 ecore_evas: Refactor event catchers to call custom_tick_begin/end
Make the event catcher functions call the custom_tick_begin/end helpers
instead of directly calling the engine functions.
2017-07-13 18:07:42 -05:00
Derek Foreman e69cc0f552 ecore_evas engines: Add some nulls to the func arrays
Purely cosmetic, but gets the comments back in sync with reality.
2017-07-13 18:07:41 -05:00
Cedric BAIL 7d9f1dbfd3 ecore_evas: protect against application holding a reference on the canvas while destroying the ecore_evas. 2017-07-13 15:35:17 -07:00
Andy Williams 77adf813d5 doc: Include two missing properties 2017-07-13 23:19:52 +01:00
Stefan Schmidt 625e1fae0a elm: naviframe/prefs : do not include non-public header files
We are not shipping those (part of the private eo header files) and thus
we can not include those either. Simply removing them fixes the problem
I see with our ABI checker and it still passes al build tests I have.
2017-07-13 13:57:06 +02:00
Stefan Schmidt 1c441eb1f4 elm: build: fix indentation of file lists
I was looking over this file for other problems but this jumped into my
eye.
2017-07-13 13:08:19 +02:00
Stefan Schmidt 9e3ff96f7b eina: inarray: remove documentation pointer to non-existing functions
These do not longer exist in our current code base (did they ever?).

Thanks a lot to Vincent Torri for spotting this!
2017-07-13 11:21:59 +02:00
Marcel Hollerbach a95fd2c4b0 efl_ui_focus_manager: this whole thing is not just eo api its also beta 2017-07-13 10:37:34 +02:00
Marcel Hollerbach e1b8bd8c8b elementary: no need to provide the new legacy api
The api is beta AND only usable in eo, so no need to add those apis here
2017-07-13 10:23:56 +02:00
Amitesh Singh 98b9bb0da5 win: fix compiler warning 2017-07-13 11:16:48 +09:00
Derek Foreman 599cdc93fa ecore_anim: set the tick thread's fds CLOEXEC
If we don't set them CLOEXEC then they end up in the fd space of every
client Enlightenment launches, allowing any client to write to them
and mess with animator timings or freeze the compositor.
2017-07-12 13:04:58 -05:00
Mike Blumenkrantz 46f024bbe3 efl-wl: initialize variable
CID 1377573
2017-07-12 13:41:23 -04:00
Stefan Schmidt 44b36e6697 build: efl_wl: make sure we have the two files for efl_wl included
These two files coming in via EXTRA_DIST have not been included becuase
they have been living inside an ifdef which would only have them
included in a dist when configured with wayland enabled. We always want
to have these files in the dist though. Building for wayland out of a
tarball release works now again.

Problem reported by William L. Thomson Jr.
2017-07-12 19:00:33 +02:00
Andrii Kroitor 5f021bbfcf edje_edit: fix source generation 2017-07-12 19:21:15 +03:00
Mike Blumenkrantz 1cc9748c61 efl-wl: change x11 atom name var to normal char* 2017-07-12 11:59:21 -04:00
Mike Blumenkrantz 9940cabd13 efl-wl: free atom name when sending selection
CID 1377542
2017-07-12 11:59:21 -04:00
Mike Blumenkrantz 39c70f1fa7 efl-wl: free x11 pipe read buf on read fail
CID 1377520
2017-07-12 11:59:21 -04:00
Mike Blumenkrantz bad0d9dbd6 efl-wl: return if pipe reading fails in x11 bridge
CID 1377526, 1377534
2017-07-12 11:59:20 -04:00
Mike Blumenkrantz 7c80d82f25 efl-wl: check returns in x11 selection request handler
CID 1377518
2017-07-12 11:59:20 -04:00
Mike Blumenkrantz 74bd1d4000 efl-wl: mmap byte for nul terminator in keymap string
CID 1377545
2017-07-12 11:59:20 -04:00
Mike Blumenkrantz c6f41d8e10 efl-wl: check return of ecore_main_fd_handler_fd_get
CID 1377541, 1377546, 1377519, 1377529, 1377543
2017-07-12 11:59:20 -04:00
Mike Blumenkrantz 8c2afaf251 efl_wl: check mkstemp return
CID 1377533
2017-07-12 11:59:20 -04:00
Mike Blumenkrantz 98e14ef3d4 efl_wl: error and cleanup on CLOEXEC fail
CID 1377530, 1377531
2017-07-12 11:59:20 -04:00
Chris Michael 627fc6842a efl_wl: Fix resource leak
Coverity reports that 'name' is leaked here, so free the return
ecore_x_atom_name_get.

Fixes CID1377537

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-07-12 11:24:37 -04:00
Chris Michael c45da5c138 elput: Fix resource leak
Coverity CID1377539 says that we leak the eldbus reply here when we
error out, so be sure to cleanup 'reply'

Fixes CID1377539

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-07-12 11:02:16 -04:00
Chris Michael cd615667d5 ecore: Fix coverity resource leak
Coverity CID1377544 reports that poller is leaked here if we error out
and return null. As poller is created with calloc, we should free it
before returning.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-07-12 10:58:28 -04:00
Youngbok Shin e81be3a664 edje: give proper width to entry's cursor according to its theme
Summary:
evas_object_textblock_cursor_geometry_get() always return 0 as cursor's width
for BEFORE type cursor. It casued different cursor width when cursor_fg2 was shown.
The cursor_fg and cursor_fg2 must have same width according to its min width.

Also, the patch will enclose code for cursor_fg2 by cursor_fg code.
It is used when only there is cursor_fg.
@fix

Test Plan:
1. Give bigger width to entry's cursor by changing its theme.
2. See the width cursor_fg, cursor_fg2 when there is [LTR text + RTL text].

Reviewers: raster, herdsman, cedric, jpeg

Subscribers: stefan_schmidt

Differential Revision: https://phab.enlightenment.org/D4798
2017-07-12 18:37:50 +09:00
Jean-Philippe Andre 9513fed85e evas_smart: Fix evas_smart_callback_description_find
bsearch was returnign a cb** not a cb*

Fixes T4540
2017-07-12 17:38:51 +09:00
Carsten Haitzler ea7dd2a9c2 evas mouse in/out/move event fix to remove "invalid move"
this should fix T5582 "properly" by emitting a move after an in only
if pointer x,y changed. this fixes rage and i hope still should handle
the original issue. let me know if it doesn't.

@fix
2017-07-12 15:45:47 +09:00
Jean-Philippe Andre 2ee389c54b Revert "colorselector: Avoid API call on NULL object"
This reverts commit b156f606e4.
The change should have been in EO itself. See the previous
patch.

Ref T5715
2017-07-12 11:20:59 +09:00
Jean-Philippe Andre 40029ce70a eo: Don't resolve function calls for NULL objects
eo_function(NULL) always leads to a no-operation. A this
point it is basically considered the normal operation
with EO to just silently ignore NULL errors.

If the API function "eo_function" belongs to a class that
has not been loaded yet (eg. no object of this type has
been created yet), then the op associated to the API func
may not be defined yet.

Fixes T5715
2017-07-12 11:20:59 +09:00
Jean-Philippe Andre b156f606e4 colorselector: Avoid API call on NULL object
Solves this error:
  ERR<2321>:eo ../src/lib/efl/interfaces/efl_pack_layout.eo.c:1
  efl_pack_layout_request() Unable to resolve op for api func
  0x7fffed16dba0 for obj=(nil) ((null))

Fixes T5715
2017-07-12 10:24:11 +09:00
Derek Foreman d3c10fb1eb ecore_evas_drm: Partially revert "Refuse to start a ticker for a manually rendered canvas"
BAILing here can break animators permanently, so best to just log the
issue and move on (and potentially allow the ticker to wake us from DPMS).

ref T5462

Partially reverts a795629e8c
2017-07-11 16:50:23 -05:00
Stefan Schmidt aa6782b22f tests: elm_cxx: add gitignore file for produced binary 2017-07-11 22:55:28 +02:00
Stefan Schmidt 00c050a44b build: make sure we have the new fonts subdir in evas test for dist
This is one o the odds of the EXTRA_DIST2 workaround I did to avoid the
to long arguments error we started to get a while ago. Normally
autotools would handle this but as we copy the files in a hook we also
need to amke sure the folder is created.
2017-07-11 22:12:40 +02:00
Stefan Schmidt 40d31b170c evas: update file path after move into fonts subdir
The file have been moved into a fonts subdir in commit e8b35c779e.
Update the path here to get it included into the tarball to make sure
check passes during distcheck.
2017-07-11 22:12:40 +02:00
Cedric BAIL 3c62a5fab8 ecore: properly cleanup callbacks of future/promise. 2017-07-11 11:02:47 -07:00
Jean-Philippe Andre 231ef8142b elm: Fix fileselector button "hidden files"
Fixes T5465

@fix
2017-07-11 19:00:02 +09:00
Romain Naour 0c21139b29 ecore_input: fix build without eeze
A dependency on HAVE_EEZE is missing in ecore_input_joystick_name_get():

lib/ecore_input/ecore_input_joystick.c: Dans la fonction « ecore_input_joystick_name_get »:
lib/ecore_input/ecore_input_joystick.c:632:4: erreur : unknown type name « Joystick_Info »
    Joystick_Info *ji;
    ^~~~~~~~~~~~~

Fixes T5665

Signed-off-by: Romain Naour <romain.naour@smile.fr>
2017-07-11 11:31:34 +02:00
Hosang Kim f41e276160 slider: Allow range limitations
Summary:
When user drags slider, slider value cannot be changed by API.
However the necessity of above behavior has emerged.
Because sometimes applications want limitation of slider value.

Test Plan: elementary_test -> slider -> Limited

Reviewers: woohyun, cedric, SanghyeonLee, singh.amitesh, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4883
2017-07-11 16:34:14 +09:00
Jean-Philippe Andre e8b35c779e evas: Add a test case with a custom font
The font is **ugly** and was created with birdfont. Its license
shall be anything EFL requires (public domain in the ttf file).
2017-07-11 16:21:29 +09:00
Youngbok Shin 5e5e408e58 evas font: append global font path when Evas initializes Fontconfig
Summary:
If there are appended font pathes before initializing Fontconfig,
Evas must care the font pathes after initializing Fontconfig.
@fix

Test Plan:
1. Call evas_font_path_global_append() with a private font path
   before adding any Evas Object.
2. Add a Evas Textblock object which uses a font from the private font path.
3. See the font is not loaded properly without the patch.

Reviewers: raster, cedric, herdsman, jpeg, woohyun

Differential Revision: https://phab.enlightenment.org/D4867
2017-07-11 15:46:04 +09:00
JinYong Park 10d5f11a14 popup: fix sizing eval logic when scrollable set TRUE
Summary:
When scrollable set TRUE,
scroller must be calculated its size except using item.
If content is removed, scroller doesn't calculate its size, so it has previous size.
So there is a empty space in this case.

@fix

Test Plan:
1. elementary_test -to popup
2. open "popup-center-title + list content + 2 button (with delete content)"
3. click "Delete" button
4. compare between scrollable set true and false

Reviewers: herb, singh.amitesh, jpeg, cedric, conr2d

Differential Revision: https://phab.enlightenment.org/D5010
2017-07-11 15:45:27 +09:00
Amitesh Singh 0762d90380 elm test: label slide - use better color as background for label. 2017-07-11 15:37:58 +09:00
Amitesh Singh 7fa14e5cc6 genlist: fix multiple focus edje signal issue
We need focus edje signal when item is focused or the already
focused item realizes. its wrong to call focus signal on
_elm_genlist_item_state_update()

fixes T4969
2017-07-11 15:17:09 +09:00
Bryce Harrington 05344040ec evas: Improve the documentation for evas_init() and evas_shutdown()
Summary:
Rephrase the documentation to read a bit more clearly, and restructure
the inclusions of stanzas from evas-buffer-simple.c to reflect the
recent updates to that example.

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5015
2017-07-11 12:22:11 +09:00
Bryce Harrington ae1d78c36a evas: Fix stray periods
Summary: "to the Evas. @b buffer engine"

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5014
2017-07-11 12:22:11 +09:00
Bryce Harrington 0e19bde33c examples: Move introduction to Ecore-Evas to evas-transparent.c
Summary:
The evas-transparent.c example is quite short, and so will allow for
more detailed explanation of setting up Ecore-Evas.  Then
evas-object-manipulation.c can focus more on the explanation of objects
in Ecore-Evas.

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5011
2017-07-11 11:29:07 +09:00
Derek Foreman a795629e8c ecore_evas_drm: Refuse to start a ticker for a manually rendered canvas
With atomic mode setting this has the hilarious side effect of waking
up the display from dpms.

Attempting to tick when manual render is set is likely a bug, so
log an ERR.

fix T5462
2017-07-10 16:25:59 -05:00
Derek Foreman cae1927554 ecore_evas: Don't start backend ticking for manually rendered canvases
Shortcut the code that starts up a back-end ticker if we're manually
rendered.

ref T5462
2017-07-10 16:24:25 -05:00
Marcel Hollerbach 0fdc6a854a efl_ui_focus_manager: fix leaking safed_order 2017-07-10 20:32:07 +02:00
Marcel Hollerbach 23203c9e72 elementary: fix leaking manager objects
they are now automatically destroyed once the object is deleted.
2017-07-10 20:32:07 +02:00
Chris Michael 1b97abae49 elput: Update modifers for caps lock
Small patch to fix issue of not setting caps_lock modifier. As we
lookup this modifier index when creating keyboard info, we should be
testing for it and setting seat->modifiers accordingly.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-07-10 14:27:27 -04:00
Chris Michael 8fdb4e0d8d elput: Fix support for setting keyboard led(s)
Small patch to update keyboard led(s) when caps, numlock, etc are
pressed. This patch adds some fields to internal (non-API exposed)
structures inside our private header (of a BETA-API library) and thus
should still be ok during freeze.

Fixes T5655

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-07-10 14:14:06 -04:00
Chris Michael 4052923ed0 elput: Minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-07-10 13:13:59 -04:00
Chris Michael 1e694114d8 ecore-wl2: Formatting fixes
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-07-10 13:10:01 -04:00
Chris Michael 0c6aae1516 ecore-wl2: Add event handlers even if no data device manager exists
If we have no data device manager present, we would still like to
receive events when input devices get added or removed so these
handlers should be setup before we return from this function.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-07-10 13:02:43 -04:00
Chris Michael ff22abc4be ecore-wl2: Rename internal function
As we are in the Ecore_Wl2 library, lets use a function name that
reflects this.

NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-07-10 13:02:02 -04:00
Jaehyun Cho 078f83f4bc Evas textblock: add null check in evas_textblock_cursor_free 2017-07-10 21:02:13 +09:00
Bryce Harrington 824df3d37b examples: Flesh out the evas-object-manipulation example
Summary:
This is one of the basic examples that introduces Ecore-Evas, so needs
to be more detailed in commentary than other examples.  It also points
out the use of the legacy API and directs the reader to the Eo example
where appropriate.

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D5008
2017-07-10 17:02:20 +09:00
Jean-Philippe Andre 7f724f6c5d evas: Fix mouse event info in global events
When using the legacy API (and in fact also with the EO API) to
listen to mouse events (move, in, out...) on a window instead
of an actual evas object, some information was missing:
 - buttons (bitmask of pressed buttons)
 - prev.x/y (previous position)

This is because Evas had not handled the event yet at this
point, it was coming directly from ecore_evas with incomplete
information. This patch involves evas a little bit earlier, and
also fixes evas_events_legacy.c to have consistent values for
cur/prev canvas/ouput coordinates. See also 890a91785 and
484dae76e6. Those commits were making the pointer coord
a seat-based property (instead of canvas-based) but the event
should already have those proper values before converting to
a legacy struct. This patch restores the meaning of the DUP
macros, as I observed 4 different coordinates from the app side
(instead of just 2: prev and cur).

Thanks to Andy for reporting the original issue on the ML!
2017-07-10 17:01:05 +09:00
Amitesh Singh 0d6cdd661c Efl.Ui.Image: fix crash on passing NULL file in file_set()
img was crashing on elm_image_file_set(image, NULL, NULL).

fixes T5697
2017-07-10 15:28:31 +09:00
Vincent Torri 937a0d6411 Ecore_Evas win32 module: fix memory leak 2017-07-09 13:34:19 +02:00
Vincent Torri bdb62b6bbe Add ecore_win32_cursor_show() API and ecore_evas_win32_cursor_(un)set() functions
This fixes double mouse cursor in elm entries on Windows (for example)

@feature
@fix
2017-07-09 13:34:09 +02:00
Mike Blumenkrantz 804ce5f514 elm_cnp: fix selections for wl windows and FAKE wins
don't use hardcoded seat names and attempt to use wl protocol for
FAKE wins
2017-07-07 15:22:24 -04:00
Mike Blumenkrantz f052a2c02f elm_cnp: use local cnp when elm_cnp owns the selection
no need to use protocol to send an app's own selection to itself
2017-07-07 15:22:24 -04:00
Mike Blumenkrantz fe48334c59 elm_entry: don't use window_id to determine type of window
there's a real function for this...

ref a173efd0a9
2017-07-07 15:22:24 -04:00
Mike Blumenkrantz 378ac8b6aa elm_entry: don't update PRIMARY selection under wayland
this doesn't exist yet, and elm_cnp forces PRIMARY updates to overwrite
CLIPBOARD which is not good

@fix
2017-07-07 15:22:23 -04:00
Mike Blumenkrantz 21276eac5b elput: don't leak event pointers 2017-07-07 15:22:23 -04:00
Mike Blumenkrantz 5ffa2e7922 elm_cnp: mark x11 selection as lost when selection is lost in event
do not pretend that a widget maintains the selection when notified that
the selection has been lost

@fix
2017-07-07 15:22:23 -04:00
Mike Blumenkrantz 4be19d87f4 elm_win: remove engine checks from window_id_get()
if these exist then just return the id
2017-07-07 15:22:23 -04:00
Mike Blumenkrantz 0ea3d0daaa elm_win: remove engine checks from wl_window_get
if there's a win, return it, otherwise this returns null anyway
2017-07-07 15:22:23 -04:00
Mike Blumenkrantz 81adac88dc elm_win: manually create a wl2 window for FAKE wins under wayland
this enables elm_cnp to function using protocol
2017-07-07 15:22:23 -04:00
Mike Blumenkrantz 38d18e559d ecore-wl2: create surfaces once compositor global is bound
it's expected that surfaces are created when a window exists

@fix
2017-07-07 15:22:23 -04:00
Mike Blumenkrantz 03d2c43018 ecore-wl2: don't leak display event pointers 2017-07-07 15:22:23 -04:00
Mike Blumenkrantz 9c639f6ec8 ecore-wl2: add display object refs for windows
ensure the display lifetime exceeds the window lifetime

@fix
2017-07-07 15:22:23 -04:00
Amitesh Singh a014aa36d8 elm test: img zoomable - fix compiler warnings
efl/src/bin/elementary/test_photocam.c:779:19: note: initialize the variable '_zoom' to silence this warning
2017-07-07 15:53:54 +09:00
Jean-Philippe Andre f8d8136b2c win: Avoid CRI message before finalized
Test case was Bg EO API in elm_test
2017-07-07 15:44:51 +09:00
JinYong Park d6652c1138 popup: fix wrong signal emit when remove all button
Summary:
In visuals_set function,
check action_area is NULL, and signal emit action_area,visible/hidden
So, before call visuals_set, action_area should be deleted.

Test Plan: Actually, action area has not min size, so it couldn't be observed.

Reviewers: herb, singh.amitesh, jpeg, cedric, conr2d

Reviewed By: jpeg

Differential Revision: https://phab.enlightenment.org/D5007
2017-07-07 15:44:51 +09:00
Amitesh Singh af75059903 elm test: fake events - use efl_content_set instead 2017-07-07 15:40:36 +09:00
Amitesh Singh bcdc4f1dcf elm test: bg - use efl_content_set instead
there is no efl_packed on window. it won't work.
2017-07-07 15:24:39 +09:00
Amitesh Singh 3c1b1daab7 elm test: img zoomable - change anim code sample to use eo apis only
This sample was added to show the img anim usage.
lets make this sample to use eo apis only.
2017-07-07 15:00:04 +09:00
Uma Devika d4ab6ff90a Evas and Eolian : Freed string buffer
Summary:
Summary : String buffer returned by eina_strbuf_new() is not freed in some cases

@Fix

Signed-off-by: Uma Devika <u.bodapati@samsung.com>

Reviewers: cedric, tasn, jpeg, raster, singh.amitesh

Subscribers: tanwar.umesh07, yashu21985, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5000
2017-07-07 13:22:53 +09:00
Al Poole 9aeaef55c4 eina_file: fix unmap of unmapped region when Eina_File has copied data and not a map;
Summary:
This was causing problems on non-Linux architectures as eina_file_real_close unmapped not mapped data. Added a "copied" flag to Eina_File which is set on eina_file_virtualize (on copied data), and tested for when eina_file_real_close does the unmap. I'm surprised Linux allowed this. Certainly all of the BSDs crashed with the previous behaviour.

@fix T5479

Test Plan: Example inlcude Rage and Enlightenment Thumb on BSD systems which use eina_file_virtualize with emotion to obtain album artwork.

Reviewers: raster, cedric, jpeg

Reviewed By: jpeg

Maniphest Tasks: T5479

Differential Revision: https://phab.enlightenment.org/D5006
2017-07-07 13:22:53 +09:00
Jean-Philippe Andre 242127a96b evas,edje,elm: Mark all legacy objects as such 2017-07-07 13:21:18 +09:00
Carsten Haitzler eeb1eb1b74 eina - fix eina_file_virtualize to copy data to an aligned addr
so we copy data to an UNALINED memory address (just after whatever
string we packed on the end of the eina file struct header). this is
bad. especially for non-intel architectures. this forces a 16 byte
alignment which should cover us.

@fix
2017-07-07 12:08:01 +09:00
Andy Williams ada147da71 elm_code: Fix number parsing to include legal separators
This also allows rust to use underscore!
@fix
2017-07-06 17:19:14 +01:00
Andy Williams 961c173f0f elm_code: Fix rust syntax to include types 2017-07-06 17:18:47 +01:00
Amitesh Singh 2faeffde71 efl.ui.image: fix the old align behaviour in img.
After ab23a53094, evas_object_size_hint_align_set()
has stopped working on elm img and that patch was perfectly right
to do so but we don't change the old behaviour.
This patch is an effort to make evas_object_size_hint_align_set()
to work with elm img again.
make sure not to mix both eo apis and legacy apis.

Thanks to dave for reporting and jpeg to show the right fix.

fixes T4635
2017-07-06 18:35:06 +09:00
Amitesh Singh 7ef8672914 Revert "elm test: image align - use image align api instead"
This reverts commit 5a0db7cc67.

Reverting this since ab23a53094 breaks the old working behaviour
on image align. subsequent patch in efl.ui.image brings back the old
behaviour.

refer T4635
2017-07-06 18:34:38 +09:00
Amitesh Singh 5a0db7cc67 elm test: image align - use image align api instead
refer T4635
2017-07-06 14:42:41 +09:00
Amitesh Singh a8b1fc6bd0 Revert "elm test: image - use table to align image swallowed in layout"
This reverts commit a4e37b61f9.
2017-07-06 14:26:58 +09:00
Jean-Philippe Andre 5a922f4afa elm: Don't alias in efl_part()
Inside efl_part() we don't know whether we are dealing with a text
or content API, so we can't actually guess the proper alias.

The legacy API should have already dealt with aliasing at this point.
The EO API should not use those aliases.
2017-07-05 20:30:21 +09:00
Jean-Philippe Andre 9b667ed062 elm: Forbid calls to efl_part(obj, NULL)
This in theory should only affect the EO API usage. In EO
we don't want efl_part() to be used for NULL part. In other
words, there is no "default" part in EO objects. Instead, those
functions like text_set or content_set should simply be
implemented by the object themselves.

The legacy API on the other hand will make sure that the
"part" argument is set to a non-NULL value before reaching
this point.
2017-07-05 20:21:08 +09:00