Commit Graph

10422 Commits

Author SHA1 Message Date
Gustavo Sverzut Barbieri 68ea5bd025 efl_net_dialer_http: dispatch headers even if no data.
in some cases we get headers but no data to receive or send, then we
must still say headers were done and we're connected.
2016-08-30 00:35:27 -03:00
Gustavo Sverzut Barbieri d8caade348 emile: API break, rename sha1 to hmac_sha1, introduce real sha1.
emile_binbuf_sha1() was actually doing HMAC version using the given
key. This doesn't work when all you need is just the SHA1 of the input
data.

Then rename emile_binbuf_sha1() to emile_binbuf_hmac_sha1() and
introduce a new version without key/keylen.

This API was marked as BETA and no real users in the codebase, then it
shouldn't cause us problems.
2016-08-30 00:35:17 -03:00
Jean Guyomarc'h 3f79cf8748 eina: fix behaviour break of eina_error_msg_get()
eina_error_msg_get() must return NULL if an incorrect error is provided.
The XSI strerror_r() returns EINVAL when an invalid error is passed to
it, so we can end the function here. If we kept on, we would have tested
against the 'unknown_prefix' ("Unknown error ") which is implementation
defined, and registered a new error when the invalid error message
didn't match the 'unknown_prefix'. This new error message would have
been returned, which is not what we expected.

This case arised on Mac OS X where the 'unkwown prefix' is
"Unknown error: " instead of "Unknown error ".

It fixes eina test suite on Mac OS X.
2016-08-29 20:03:52 +02:00
Jean Guyomarc'h 9a82b17eff evas: don't redefine PAGE_SIZE if already defined
On OSX, we include mach.h (via the inlined locks API), which
already defines PAGE_SIZE.
2016-08-29 20:03:52 +02:00
Jean Guyomarc'h 82808e2080 elementary: update tooltip documentation 2016-08-29 20:02:51 +02:00
Vitor Sousa 3f5149a675 elm fileselector: fix events that must be using Efl.Model objects
Use the new behavior of Efl.Object.event_callback_call to correctly
update events to pass Efl.Model objects while still suppling path
strings for legacy smart callbacks.

Override Elm.Fileselector.event_callback_legacy_call in order to separate
the types of any incoming event call that uses Efl.Model.
2016-08-29 12:22:22 -03:00
Subodh Kumar 0f4cdf7a48 Edje entry: Pass correct cursor position and text to imf in case of selection
Summary:
When selection is there we are passing the whole text and position to imf
which sees that next character like matras (eg .Hindi) should be inserted
(if pressed) and when matra comes the selected text is gone and only matra
remains in the entry.

eg:  we have text in hindi like मानक, select all and hit matra in keyboard
selected text is gone, only matra is there.

@fix

Test Plan: Tested in Tizen device

Reviewers: jihoon, tasn, herdsman, thiepha

Subscribers: Hermet, shilpasingh, raster, subodh, jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D2951
2016-08-29 17:26:40 +09:00
Carsten Haitzler a9fbe6cb8f eo callbacks - move to mempools for callback data for more speed
also help reduce fragmentation. also remove callbacks immediately if
callbacks are not being walked at the time (as opposed to just marking
them to need deletion then call a clean that if not being walked will
walk all cb's when we already know what to remove).

@optimize
2016-08-29 16:48:08 +09:00
WooHyun Jung d553a5a836 elm focus: focus_auto_hide should be done with mouse_down
Focus highlight can be on the air, when focused object in scroller is
moved by mouse down and move.
So, mouse up is not proper for executing focus_auto_hide.

@fix
2016-08-27 13:48:35 +09:00
Carsten Haitzler 6256978b61 fix filselector legacy cb call order and entry set - fix file,chosen
The visible bug for this issue is that the Elm External Video example
is broken:

elementary_test -to "ExtVideo"
The root cause is that the "file,choose" event of the
FileselectorEntry is (wrongly) not listed by the function:
evas_object_smart_callbacks_descriptions_get()
This evas functions is used in elm_external to forward all the widget
events to edje, but it cannot forward the "file,chosen" event because
it's not listed.
Thus the video test is not working for the lacks of that event.

I think the fix should be somewhere in elc_fileselector_entry.c, there
are some hacks there for the incriminated signal, but I don't know how
to properly fix.

as pointed out by dave:

DaveMDS added a comment.Fri, Aug 26, 5:19 PM
I think the problem is in this function: (elc_fileselector_entry.c)

...

this fixes T4337
2016-08-27 09:08:05 +09:00
Vitor Sousa 5d2948b016 elm fileselector: fix possible premature deletion of Listing_Request struct
In a case where eina_promise_then is executed immediately (like with some
quick and light Efl.Model), the Listing_Request struct will be prematurely
freed in the first iteration of the child processing loop, because the
item_total counter had not accumulated the right number of items yet.

With this commit, we traverse the children accessor first, so we can know
the number of items.

Also, no longer use the Listing_Request pointer after the loop, once it
may have been deallocate already.
And put a note about this too.
2016-08-26 19:45:26 -03:00
Jean Guyomarc'h 1ab1e3697d efreet: mime types database can be empty
When the mime types database is empty, the file will
be exactly 28 bytes.

Fixes T4426
2016-08-26 21:16:39 +02:00
Jean Guyomarc'h 92d3fc8f4f elementary: better error handling of fileselector 2016-08-26 21:16:39 +02:00
Jean Guyomarc'h 0874c4da38 elementary: prevent double free
This one is a bit tricky... When we create the aggregated
promise, if one of the properties of the model returns an
error, the eina_promise_then() will immediately call the
error callback. In this happened for the first item, the
total items in the listing request would be 1.

Before this commit, we tested for incremented the processed
counter and compared it to this total count. If it was
greater or equal, we would free the common listing request.
But in the case of successive failures, we would set the
total counter to 1, then the processed counter to 1 and
therefore free. Then increment the total counter to 2, then
then processed counter to 2, and free again... which would
cause an abort() from the libc or something else nasty.

Now we just decrease the total count of items. We avoid
the cases and double frees, without leaking.
2016-08-26 21:16:39 +02:00
Jean Guyomarc'h 322adb2e03 elementary: make sure we don't iterate out of bounds
The carray iterator will end iterating only when it finds a NULL
object. We must make sure the last element of the array is NULL
to avoid out of bounds access.
2016-08-26 21:16:39 +02:00
Jean Guyomarc'h 5db3357f40 eina: overhaul Mac OS X semaphores
Mac OS X does not support POSIX unnamed semaphores, only named
semaphores, which are persistant IPC: when the program exits,
and if semaphores where not released, they stay forever...

All EFL programs were "leaking" a semaphore, due to how
eina_log_monitor manages its resources. Therefore, after building
EFL a lot (which run eolian_gen, eolian_cxx, elua, edje_cc, ...)
we were not able to create any semaphore...

Now, we get rid of these semaphores and use Mac OS X's own
semaphores. Code is less cumbersome, and we don't have any
disavantage of the named semaphores.

Fixes T4423

@fix
2016-08-26 21:16:39 +02:00
Cedric BAIL aaa0e962b7 eo: speedup efl_isa by 50%.
Most of our use case of efl_isa is related to legacy Evas_Object_Image API,
that check the isa of the same object again and again. Caching help.
2016-08-26 12:14:14 -07:00
Cedric BAIL 93a706a947 eo: general speedup of all Eo related operation.
This change rely on the fact that we do fetch the same
object id over and over again. _efl_object_call_resolve got
15% faster, efl_data_scope_get 20%.
2016-08-26 12:14:14 -07:00
Cedric BAIL 5e67a80753 eo: remove useless duplicated check. 2016-08-26 12:14:14 -07:00
Vitor Sousa 8356b16a49 Efl Object: remove legacy callback calls from event_callback_call
Efl.Object.event_callback_call no longer calls legacy smart callbacks;
calling only event callbacks registered with the given event description
pointer.

Create the method Efl.Object.event_callback_legacy_call to inherit the old
behavior from Efl.Object.event_callback_call, calling both Efl.Object events
and legacy smart callbacks.

Update all other files accordingly in order to still supply legacy
callbacks while they are necessary.
2016-08-26 15:45:07 -03:00
Jean Guyomarc'h 6b3ca899e8 ecore_cocoa: fix fullscreen for older osx versions
Tested on 10.11 and 10.9.

Fixes T4395
2016-08-26 19:38:57 +02:00
Jean Guyomarc'h 7397b9fbe9 ecore_cocoa: refactor resizing request 2016-08-26 19:05:48 +02:00
Jean Guyomarc'h 8d41099f9e ecore_cocoa: fix memory leak 2016-08-26 19:05:48 +02:00
Mike Blumenkrantz 8c3efbd174 efreet: add doc note about stringshare reliability for efreet_mime_type_get() 2016-08-26 10:20:45 -04:00
Andy Williams 6fce2fb80b elm: Show code widget width marker after the column
Provide a clearer indication of what width is available
2016-08-26 15:17:37 +01:00
Jean-Philippe Andre 3b175fd7e9 elm: Fix some ERR messages following previous patch
This simply avoids calling functions on NULL objects, since
the previous patch would ERR out rather than silently ignore
the problem.

I just add explicit NULL checks before calling the functions,
so it's clear the object could be NULL (in the widget).
2016-08-26 17:15:05 +09:00
Jean-Philippe Andre 9123e5add2 evas events: Add efl_isa safety checks in legacy EAPI
This removes useless magic checks (only check whether the
arg is not null) that were not even present in every function.
The cost should be similar or lower than an eo function call.
2016-08-26 11:28:34 +09:00
Jean-Philippe Andre d504284dd2 efl: Rename Efl.Event.XX to Efl.Input.XX
This removes:
 Efl.Event interface

And renames:
 Efl.Event.Input -> Efl.Input.Event
 Efl.Event -> Efl.Input.Event (merged)
 Efl.Event.Pointer -> Efl.Input.Pointer
 Efl.Event.Key -> Efl.Input.Key
 Efl.Event.Hold -> Efl.Input.Hold

This also moves some interfaces from efl/ to evas/ where they
belong better.

This allows renaming Eo_Event to Efl_Event.
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre 60526528a6 evas: Add normalized and window coordinates to axis events
This is for Wacom graphics tablets (with a pen).

The raw data sent by ecore to evas (and then to apps) is pretty
useless as it's not normalized, and apps have no way of knowing the
dimensions of the tablet, without themselves opening the device
(we don't know nor expose the path to the device).

This is for Xi2 only for now, as Wayland support hasn't been done
yet.

The intent is to deprecate LABEL_X and LABEL_Y. I'm not sure yet
if the normalized value is useful or not (it would seem we may not
be able to provide this info in Wayland).

The new WINDOW_X, WINDOW_Y labels will be used in the new event
type (Efl.Event.Pointer). Normalized values are not exposed yet,
let's decide if we want them or not first (based on what can be
done in Wayland space).

@feature
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre 443aa91d53 evas: Simplify internal evas_object_event_callback_call
This removes the distinction between legacy and new eo style
event info, since all those types have now been ported to eo.
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre 7b25619213 ecore xi2: Discard "axis" inputs from standard mice
Mice in X with xi2 send Axis events which are badly defined,
and carry basically useless information, as we also receive
proper mouse events. Notably, all mice input events are
"Rel something" but in fact they are absolute values (even
the wheel information is a counter increasing every time you
scroll).

This should not break any application as such axis events
carried only values with label ECORE_AXIS_LABEL_UNKNOWN.
This also fixes a leak when n == 0 (no "valuator" found
in the list, this used to be unlikely, now happens at every
mouse event).
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre 925878e931 evas events: Switch axis events to the new eo type
This converts Evas_Axis or Ecore_Axis info arrays into basic
pointer data. Also marks those fields as set. All events need
to properly implement the value_has property (mark all bits
whenever a value is known).
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre 8938d8d557 evas events: Rename properties and introduce generic value
This paves the way to a merge of pointer and axis events into
the class Efl.Event.Pointer.
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre ef4859d5bd evas: Optimize out most callback call events
This sets a bit whenever a callback listener is added.
I couldn't get any profiling data easily (too small for
valgrind).

Note: This removes the proper refcounting on the "move"
event listeners. I believe this is not a problem as most times
the move_ref goes to 0, it is because the object is deleted.
Worst case, we just trigger a callback_call with no listeners.

This adds 32 bits to each evas object private data.
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre 57f0c850ec evas: Move event catcher to evas_callbacks.c
No functional change.
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre 4746627fcf evas: Remove deprecated events from public EO class
del and free eo events don't need to be exposed, even as beta
API. They are still required for legacy callbacks.
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre b325097e71 elm,evas: Remove use of EFL_CANVAS_OBJECT_EVENT_DEL
This event should not be exposed at all, it's not necessary
anymore, EFL_EVENT_DEL already exists and should be good enough.

This does move the callback call a little bit ealier in the del
process, but at first glance, this shouldn't have any impact.
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre 834794ed84 evas events: Add new "finger,move/down/up" events for multi touch
This moves MULTI events to those new finger event types,
and also sends a finger event for finger 0 (aka the pointer).

NOTE: This may require a separation between a mouse input and
      an actual finger touch. To be defined, ie: do we let the app
      check the input device info to decide whether the event is
      actually the first finger of a multi touch device, or do
      we want to send only actual finger events from multi touch
      devices only?

@feature
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre 608da26634 evas events: Simplify event counter
Simplify code:
 _evas_object_event_new()
 event_id = _evas_event_counter

Into:
  event_id = _evas_object_event_new()
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre 049a5ddb44 evas events: Remove now unused code 2016-08-26 10:18:01 +09:00
Jean-Philippe Andre ab7f281c34 evas events: Fix crash when translating legacy events
An obvious crash happened when reusing a legacy struct
from another type.
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre ac26c7d4f3 evas events: Switch mouse move events to the new type
This is the last commit for this crazy input transformation
series. The following commits will be cleaning up now
unused code, and fixing bugs.
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre 46c85b87fd evas events: Switch multi move to new event type
Now only the single move remains. Almost done!
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre 2857d7c2cf evas events: Switch multi up/down to the new event type 2016-08-26 10:18:01 +09:00
Jean-Philippe Andre 328151f999 evas events: Switch mouse in/out events to the new event type 2016-08-26 10:18:01 +09:00
Jean-Philippe Andre edd88292a4 evas events: Switch mouse move event to the new event type (1)
This only modifies the proxy source handling code.
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre 56c682452c evas events: Switch mouse up/down to the new event type
This is getting trickier, as those events have a lot more
side effects and complexity than a simple wheel event...

Some code has been added that should be fixed in the following
commits.
2016-08-26 10:18:00 +09:00
Jean-Philippe Andre c1e7589c14 evas events: Switch key up/down event to new eo type 2016-08-26 10:18:00 +09:00
Jean-Philippe Andre 405680e836 evas events: Switch hold event to new eo type
Evas_Event_Hold is now barely used anywhere.
This also adds support for event_flags to this type.
2016-08-26 10:18:00 +09:00
Jean-Philippe Andre 290413543d evas events: Switch wheel event to the new type
For now this covers only the wheel event.

Note: This patch also modifies evas map to use double in an
internal function, rather than ints.
2016-08-26 10:18:00 +09:00
Cedric BAIL 0ef07d6095 eina: readdir_r has been deprecated.
So glibc has decided that readdir_r is hard to use safely and deprecated it
this summer. They recommand to use readdir, which was in the past unsafe to
use in a multi thread scenario, but is now on most system (and all system
we care, including our own implementation in evil). It is basically safe
as long the same DIRP is not accessed from another thread. This is true in
our code base, so we are fine to go with this.

For further reading: https://lwn.net/Articles/696474/
2016-08-25 15:23:14 -07:00
Derek Foreman e0c1f4a2a7 evas: Try harder to create the render thread
It's entirely possible that a system doesn't have a cpu 0, so
when we try to pin all our render threads onto processor 0 we
may fail.

This results in some very connfusing build breakage when
edje_cc hangs up because its render thread didn't start.

So, if starting the thread with affinity fails, let's try without
affinity.

(This is trivial to reproduce - just use sysfs to turn off cpu0
after boot.)

@fix
2016-08-24 14:34:36 -05:00
Gustavo Sverzut Barbieri f125942231 efl_net_dialer_http: use the proper error code
CURLcode is for curl_easy, while CURLMcode is for curl_multi.

Thanks to clang that spotted it.
2016-08-24 14:33:33 -03:00
Gustavo Sverzut Barbieri e3ee477140 efl_net: better handling for SOCK_CLOEXEC.
On systems where SOCK_CLOEXEC is supported, give it to socket() and if
accept4() is supported, then use it as well.

Otherwise revert to fcntl().
2016-08-24 12:34:59 -03:00
Gustavo Sverzut Barbieri 164d9ddfde Revert "ecore_con: use F_CLOEXEC instead of SOCK_CLOEXEC"
This reverts commit 99d37838f3.

will be fixed in a better way with the following commit.
2016-08-24 12:02:17 -03:00
Jean-Philippe Andre 44cff879a1 evas: Fix includes when enabling BETA but not EO API
This fixes the build for older versions of E.
2016-08-24 14:42:19 +09:00
Jean-Philippe Andre c507f56110 ecore_x: Early check image bpp based on depth
This fixes argb windows transparency in E software compositor.

My current problem is that I have no idea what changed, why this
is needed now, and how things could actually work before.

Fixes T4389

@fix
2016-08-24 14:42:16 +09:00
Carsten Haitzler 510c093602 efreet - convert crash into NULL mimes when no mime db found
so ok - efreet crashed letting you know you have a missing mimedb...
return NULL instead fixes T4425 :) - rememebr to kill your efreetd's
to get a new mimedb - log out and in will do that.
2016-08-24 10:00:50 +09:00
Gustavo Sverzut Barbieri 45c0002929 eina_slice: startswith and endswith.
these helpers around memcmp() make the code more readable.
2016-08-23 21:25:02 -03:00
Gustavo Sverzut Barbieri 86e87b2fd9 efl_io_queue: basic class to interact with Efl.Io interfaces.
The use of low-level interfaces such as Efl.Io.Reader and
Efl.Io.Writer are not that user-friendly as they can handle partial
data.

Classes such as Efl.Io.Copier makes them easy to use, but they need a
reader (source) or writer (destination) and in our examples we used
fixed buffers or some existing streams (stdin/stdout/stderr,
networking...).

However, if interactively we need to produce some data to be sent,
such as implementing some networking protocols, we'd have to write our
own Efl.Io.Reader and Efl.Io.Writer classes to handle the buffering.

Not anymore! With Efl.Io.Queue you can write stuff to it and it will
buffer to memory. Once stuff is read, it will automatically remove
those bytes from buffer.
2016-08-23 20:17:13 -03:00
Gustavo Sverzut Barbieri 220ef2eb21 efl_io_buffer: do not refer to sub-classes in its docs.
depending on the order of generation eolian was triggering some
errors. So stop refering to subclasses here.
2016-08-23 20:17:13 -03:00
Gustavo Sverzut Barbieri ba63432fdf efl.io.buffer: minor bugfix.
if no limit was set, do not resize buffer to 0.
2016-08-23 20:17:13 -03:00
Gustavo Sverzut Barbieri 9944c164bd eina_slice: fix multi-byte find function, add tests. 2016-08-23 20:17:13 -03:00
Jean Guyomarc'h 5d527fffc8 eina: remove references to win32 and winCE in threads 2016-08-23 21:15:25 +02:00
Jean Guyomarc'h 180b24f2a0 eina: fixtures on OSX semaphores
So actually there is quite a big issue with semaphores
on OSX. We use (named) POSIX semaphores, but this was
a (my) mistake... I'll fix it later...
The real issue is that named semaphore are persistants:
when the program dies, it stays alive. This is pretty
bad with eina_debug_monitor because we create a semaphore
we never release, due to a wild thread...

This leak of semaphores went unnoticed before commit
4a40ff95de because the
name of the semaphore was unique per process, and
overriden when another process was launched. This
was very bad, but saved us from overflowing the
semaphore pool. It is now overflowed pretty fast when
building a lot EFL, because of Eolian that runs A LOT!

So that's one problem that still needs to be fixed,
by using OSX' own semaphores (see T4423).
Another big issue, which is now fixed is that the
buffer in which we generated the semaphore ID was
too small, and therefore we were reduced to one shared
semaphore for a whole process... This buffer has been
now set to 31 characters, which seems to be the maximum
length of a semaphore ID.

So now things are better, but still with a deadly issue.
2016-08-23 21:15:25 +02:00
Jean Guyomarc'h 469cf26873 evas: handle thread queue creation failure
eina_thread_queue_create() might fail.
Actually it does fail on Mac OS X under
some circumstances.
2016-08-23 21:15:24 +02:00
Jean Guyomarc'h 99d37838f3 ecore_con: use F_CLOEXEC instead of SOCK_CLOEXEC
Mac OS X does not provide SOCK_CLOEXEC. Instead, we can use
fcntl() with F_CLOEXEC.
Fixes Mac OS X build.
2016-08-23 21:15:16 +02:00
Jean Guyomarc'h 0ced470e39 ecore_con: fix compiling on OSX and BSD
TCP_CORK is Linux only. TCP_NOPUSH is supposed to
do the same thing than TCP_CORK, but on BSD (including
Mac OS X).

We now check for the existance of TCP_CORK or TCP_NOPUSH,
and use the right option. If none exist, cork_{set,get}
will just fail.
2016-08-23 20:28:44 +02:00
Tom Hacohen a6f126af12 Efl object: Don't pass events to eo class creation.
This was never used and there is no plan to ever use it. I'm going to
soon add a different mechanism with which it will be possible to provide
them again to Eo if ever needed without breaking ABI. Though it's
unlikely it will ever be.
2016-08-23 14:47:28 +01:00
Gustavo Sverzut Barbieri 12850d4e25 remove EINA_ERROR_TIMEOUT
As pointed out in the mailing list, it was introduced in this release,
so it's better to remove the symbol instead of deprecating it.

People should use ETIMEDOUT directly.
2016-08-23 10:14:17 -03:00
Daniel Kolesa 1c78d2196b eolian: enforce no get/set as method/property name rule
Fixes T3849.
2016-08-23 13:44:18 +01:00
Jihoon Kim c37da6dd42 elm_entry: Add more description about key event in return_key_type_set
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2016-08-23 17:11:01 +09:00
Jihoon Kim 9dee7cf359 ecore_imf: Add more description about key event in return_key_type_set
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2016-08-23 17:09:41 +09:00
Jihoon Kim 4675edfcf9 elput: Fix typo in doxygen
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2016-08-23 14:55:50 +09:00
Carsten Haitzler 561f8eaa8f efreet - save about 240-300k or so of memory used by efreet mime
so efreet mime was loading a bunch of mime type info files, parsing
them on startup and allocating memory to store all this mime info -
globs, mimetype strings and more. all a big waste of memory as its
allocated on the heap per process where its the SAME data files loaded
every time.

so make an efreet mime cache file and a tool to create it from mime
files. mmap this file with all the hashes/strings in it so all that
data is mmaped once in memory and shared between all processes and it
is only paged in on demand - as actually read/needed so if your
process doesnt need to know about mime stuff.. it wont touch it anyway.

this saves about 240-300k or so of memory in my tests. this has not
covered the mime MAGIC files which still consume memory and are on the
heap. this is more complex so it will take more time to come up with a
nice file format for the data that is nicely mmaped etc.

@optimize
2016-08-23 12:04:06 +09:00
Carsten Haitzler 56c52311e5 efreet - fix efreet_*_dir_get() to support the xdg env vars
these api's didnt respect the env vars xdg dictates should override
the xdg dirs for that process. this fixes this and uses them if set

@fix
2016-08-23 12:04:06 +09:00
Gustavo Sverzut Barbieri 24cb017626 fixup: http 2016-08-22 19:24:13 -03:00
Gustavo Sverzut Barbieri 5c778e2b15 fixup: http 2016-08-22 18:51:38 -03:00
Gustavo Sverzut Barbieri 535f111bfa fixup: efl-net 2016-08-22 18:51:19 -03:00
Gustavo Sverzut Barbieri b791c79ca0 WIP: efl.net: Introduce Efl.Net.Dialer.Http
This class implements the Efl.Net.Dialer interface using libcurl to
perform HTTP requests. That means it's an Efl.Net.Dialer,
Efl.Net.Socket, Efl.Io.Reader, Efl.Io.Writer and Efl.Io.Closer, thus
being usable with Efl.Io.Copier as demonstrated in the
efl_io_copier_example.c
2016-08-22 18:25:15 -03:00
Gustavo Sverzut Barbieri e7df1a7483 efl.net: socket, server and dialer for TCP.
Efl.Net.Server defines how to accept new connections, doing the
bind(), listen() and accept() for protocols such as TCP.

Efl.Net.Dialer defines to to reach a server.

Both are based on Efl.Net.Socket as communication interface that is
based on Efl.Io.Reader, Efl.Io.Writer and Efl.Io.Closer, thus being
usable with code such as Efl.Io.Copier.

The Server will emit an event "client,add" with the established
Socket, which is a child and can be closed by both the server or the
user.

The Dialer extends the Socket and allows for creating one given an
address, that will be resolved and connected.

TCP is the initial implementation so we an validate the
interfaces. UDP, Unix-Local and SSL will come later as derivate
classes.

The examples are documented and should cover the basic principles:

 - efl_io_copier_example can accept "tcp://IP:PORT" and will work as a
   "netcat", can send data from socket, file or stdin to a socket,
   file, stdout or stderr.

 - efl_net_server_example listens for connections and can either reply
   "Hello World!" and take some data or work as an echo-server,
   looping back all received data to the user.

More complex interactions that require a "chat" between client and
server will be covered with new classes later, such as a queue that
empties itself once data is read.
2016-08-22 18:25:14 -03:00
Gustavo Sverzut Barbieri 5d4688679e efl.io: introduce basic interfaces and classes.
These interfaces allows generic operations on objects that can store
or provide data, such as a file or a buffer.

With well defined interfaces and events we can create code such as
Efl.Io.Copier, that will link a source with a destination and
progressively copy data as they appear.
2016-08-22 18:25:14 -03:00
Gustavo Sverzut Barbieri 0d96ba9734 binbuf, strbuf and ustrbuf: add slice_get() and rw_slice_get(). 2016-08-22 18:25:14 -03:00
Gustavo Sverzut Barbieri 77faebde67 eina_stringshare: add slice_get() 2016-08-22 18:25:14 -03:00
Gustavo Sverzut Barbieri 9062bbd8e0 eina: introduce Eina_Slice and Eina_Rw_Slice.
A plain simple pointer + length describing a linear memory region.
2016-08-22 18:25:14 -03:00
Gustavo Sverzut Barbieri 8906461b48 eina_types.eot: expose Eina.Binbuf 2016-08-22 18:25:14 -03:00
Gustavo Sverzut Barbieri 76149efc8b eina_types.eot: expose Eina.Error 2016-08-22 18:25:14 -03:00
Gustavo Sverzut Barbieri 602a98c8b9 eina_error: provide a fallback when strerror_r() is not available. 2016-08-22 18:25:14 -03:00
Prateek Thakur 9348a84aa0 ecore_con: add '\0' termination to path.
Summary:
Copying from string 'buf' of length 4095 to '&socket_unix.sun_path[0]'
may form a non-terminated C string of size 108. So added null termination.

Signed-off-by: Prateek Thakur <prateek.th@samsung.com>

Reviewers: cedric, thiepha

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-08-22 11:04:13 -07:00
Artem Popov d8cab9347a ecore_evas_ews: add proper clean up when quit the func
@fix

Summary: add proper clean up when quit the func (as per Raster comment)

Reviewers: cedric, raster, jpeg, barbieri

Reviewed By: barbieri

Subscribers: raster, NikaWhite, myoungwoon, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-08-22 11:04:13 -07:00
Jean Guyomarc'h 26a26f2304 eina: fix use of strerror_r()
So, first, the wrong strerror_r() was detected on
Mac OS X. Instead of using a complex set of macros
to try to detect which strerror_r() to use, when
it is defined, let the autotools handle that clerverness
for us.
2016-08-22 20:02:02 +02:00
Jean Guyomarc'h 4285fc1dda edje: fix warning raised by clang
Clang was not happy with the initialization of
the structure.
2016-08-22 19:57:06 +02:00
Carsten Haitzler 39e3a06fd5 edje - cut another 120k or so off memory usage by using direct hash add
so every collection we add to the eina has of collections... we just
did eina_hash_add - this isn't quite good. because we use eina_file
and mmap the edje file. we COULd use the strings straigh fromt he edje
filer dictionary and not actually allocate private heap memory - thus
sharing all those strings. this was silly, and this saves about
another 120k of memory with the default theme as it has about 1500 or
so collections in it... and these strings add up fast.

@optimize
2016-08-21 11:37:22 +09:00
Carsten Haitzler 419f84907b edje - fix missing vector field frees, copies, handling etc.
it seems vector type parts were not handled all that well. we had at
least one mem leak with the vector mempool never being freed... so i
filled in various missing points where vector parts were not being
handled right.

@fix
2016-08-21 11:30:45 +09:00
Carsten Haitzler 6139c7a3c6 edje - reduce anothr 400k or so of memory usage (esp hello world)
so edje was allocating 32 pointers per collection. this is per
collection inside an edje file even if we just use one collection from
that edje file. it consumes 32 pointers. on 64bit thats 256 bytes...
just for pointers to mempools so we can "optimize" freeing and
allocation of parts. this was simply rediculous. i moved it to a
sub-struct allocated on demand (so now only for collections we
actually use) and this nuked 400k of "base memory usage youcant get
rid of).

note that our current default theme has something like 1100 or so
images, 1500 or so collections in it. as theme gorws, memory footprint
goes up if we dont allocation only on demand (when needed/used) and we
aren't careful about the size of our data structs and their content.

@optimize
2016-08-21 11:14:28 +09:00
jiin.moon c54bd44790 emile: fix jpeg loader broken with orientation
Summary:
After applying a patch regarding region, side-effect detected.

Fixes T4390

Test Plan: make check

Reviewers: jpeg, cedric, jypark

Maniphest Tasks: T4390

Differential Revision: https://phab.enlightenment.org/D4245
2016-08-19 15:19:08 +09:00
Carsten Haitzler a739d4d7da evas software downscaler - get about 1.8x to 3x speedups for cases
this speeds up downscaling of images by somewhere between 1.8 to 3x
dpeending on case and cpu etc. - this is ONLY for downscaling of an
image buffer betweeb 50% width and/or height up to 100% of width and
height. it's a special case optimization that cuts down the complexity
of the full super sampling filter to just do a bilinear interpolation
which is actually strictly correct for this size range and shouldn't
drop quality. it uses fixed point (16.16) to do the sup pixel sampling.

no mmx/asse or neon, but we could actually easily use it as we do use
mmx/ee and neon in the bilinear upscaler to do interpolation so this
would work here too. it just requires time and effort to make yet 2x
more special cases and use the ASM to do the hard slog here.

@optimize
2016-08-19 11:08:55 +09:00
Gustavo Sverzut Barbieri e56811ed4d eina_error: allow errno.h codes.
we have some duplication of errors between Eina_Error and errno.h,
however we should use Eina_Error to extend the traditional errno.h
system.

then change eina_error_msg_register() and
eina_error_msg_static_register() to return a magic bit to state the
number was registered, and on other functions test this bit in order
to operate on registered values, otherwise fallback to errno.h, such
as strerror().

It also deprecates 2 clear duplicated errors:

- EINA_ERROR_OUT_OF_MEMORY -> ENOMEM

- EINA_ERROR_TIMEOUT -> ETIMEDOUT

There are two details when using strerror():

 - old behavior did not return strings for non-error, such as
   "Success" or "Unknown error ${N}"

 - thread-safety issues: since we must be thread safe, then use
   strerror_r() and eina_stringshare_add() that value, keeping a hash
   of cached values
2016-08-18 13:36:05 -03:00
Youngbok Shin 36d086ec42 Evas text: fix RTL text ellipsis issues
Summary:
Visual position of ellipsis item should be set according to
its bidi direction. But, by setting visual position in same way
as logical position, the end ellipsis could be put opposite side.
Also, start ellipsis must placed on left side of RTL text.
@fix T3187

Test Plan: Test an sample on T3187

Reviewers: tasn, woohyun, herdsman

Subscribers: raster, Blackmole, z-wony, cedric, jpeg, minudf

Maniphest Tasks: T3187

Differential Revision: https://phab.enlightenment.org/D3769
2016-08-18 14:39:41 +03:00
Youngbok Shin b915d29cd1 Elementary: Load image for image item with proper orientation
Summary:
Image files can have orientation information. Elm Entry have to
call evas_object_image_load_orientation_set() for showing image
with proper orientation.

Test Plan: N/A

Reviewers: herdsman, raster, jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D4244
2016-08-18 14:09:16 +03:00
Youngbok Shin 167d41e7b2 Evas Text: parse font string everytime for updating lang properly
Summary:
We can't assume the given font is same with current fdesc by comparing string.
Since Evas starts to supporting "auto" for language,
the given font string should be parsed once before comparing it.
@fix

Test Plan: N/A

Reviewers: tasn, raster, cedric, herdsman

Subscribers: jpeg, minudf, z-wony, Blackmole, woohyun

Differential Revision: https://phab.enlightenment.org/D4227
2016-08-18 13:33:08 +03:00
Carsten Haitzler 4be972c41c ejde - fix recalc single min n edje for h eval
this fixes a seemingly small typo that would only turn up with fixed
point, but not floats as we have by default whwere we had
  x = 999;
instead of
  x = FROM_INT(999);

shouldn't be visibule unless you disable float support and use fixed
point in edje.
2016-08-18 14:21:08 +09:00
Carsten Haitzler 6f9f361f3e edje - solve crash issues brought on by optimization of edje mem usage
this solves a crash brought on by 1d6a58cfc9
that optimized mem usage but seems to have created issues in empc.

fixes T4382
2016-08-18 14:21:08 +09:00
Gustavo Sverzut Barbieri c88b027dc1 efl_loop_user: error if parent is not a loop provider.
it was silently ignoring the parent, which led me to hours trying to
investigate why my code wasn't working just to realize my parent
wasn't being assigned and refcounts were screwed.
2016-08-18 02:13:32 -03:00
Gustavo Sverzut Barbieri e3e0a6bd65 eolian: gracefully handle incorrect case of inherit.
If you use "EFl" instead of "Efl", it will find the proper file, but
won't find the type... crashing.

Handle that case and hint the user about it.
2016-08-18 02:13:19 -03:00
Jihoon Kim 0e35f8454e edje_entry: Make a result of retrieve_surrounding_cb secure
Summary:
Regardless of the password mode of Entry,
_edje_entry_imf_retrieve_surrounding_cb alwalys passes plain_text
to any callers who register that callback.

This commit replace plain text with '*'
because current behavior could be a security hole in some case.

Reviewers: woohyun, id213sin, jihoon

Reviewed By: jihoon

Subscribers: cedric, jsuya, z-wony, jpeg

Differential Revision: https://phab.enlightenment.org/D4238
2016-08-18 10:40:24 +09:00
Lauro Moura 16986ffc7a eolian_cxx: Fix behavior with explicit void return
Only perform the single value/return type substitution on properties if the
void return type is implicit (i.e. NULL return from function_return_type_get),
following the eolian-C implementation as we use the generated headers.

Also update example after Eo-Efl changes.
2016-08-17 20:54:27 -03:00
Tom Hacohen b623d89b01 Efl Object: Make event description arrays const.
This was an oversight. They should have been const arrays, and not just arrays
of pointers to const items.
2016-08-17 12:03:49 +01:00
Minkyoung Kim 042e94f10d evas/gl_x11 : Add multiple_buffer member in native surface x11 type union.
Summary:
If native surface is multiple buffer pixmap such as named pixmap, Evas should recreate eglImage everyframe.
Because DDK get the buffer ID once at eglImageCreate time.
So if internal buffer ID is changed, should recreate eglImage.

Test Plan: Wearable Tizen.

Reviewers: wonsik, raster, cedric, jpeg

Reviewed By: jpeg

Subscribers: spacegrapher, dkdk, cedric

Differential Revision: https://phab.enlightenment.org/D4211
2016-08-17 17:56:17 +09:00
Jean-Philippe Andre 0193e40d8c evas: Fix region test in jpeg load with region + zoom
The previous commit exposed an issue with the region test
does not take into account the scale down factor.

Not a @fix in itself, as it depends on the previous patch.
2016-08-17 17:28:53 +09:00
jiin.moon fecbcf8a90 emile: region_set does not working in jpeg loader if scale_down has set
Summary:
If both region and scale_down has set, ERR would be returned by loader of jpeg.

@fix

Test Plan: sample code

Reviewers: raster, jypark, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4200
2016-08-17 17:28:53 +09:00
Jean-Philippe Andre 3bdefaf31f photocam: Fix region load + scale down options
I have no idea how photocam even worked before. @jiin.moon
exposed a major issue in photocam by fixing how the jpg loader
scale down + region load combination works.

@fix
2016-08-17 17:28:53 +09:00
Stefan Schmidt dc0416fade evas: mark unused function parameter as such 2016-08-17 09:57:08 +02:00
Jean-Philippe Andre 49037bc7e9 evas: Fix hold events
This fixes a crash with thumbscroll.

Fixes https://phab.enlightenment.org/T4378
2016-08-17 14:37:50 +09:00
Jean-Philippe Andre 6d6e41c5c9 evas: Fix mouse inputs when also listening to multi
Since the new event type is the same for multi and single
touch (finger id is the only difference), multi touch listeners
would get triggered even for single mouse events.

Fixes https://phab.enlightenment.org/T4345
Fixes https://phab.enlightenment.org/T4378

This raises a question though: How do we want to differentiate
between single & multi touch events in the eo interfaces?
2016-08-17 13:13:23 +09:00
Tom Hacohen b3dd735be7 Efl Object: Change and rename the type we use for function pointers.
Rename the type to something more sensible and change it to remove the
last remanent of Eo1. This fixes a fixme that has been there for a
while.

The type doesn't really matter, it just looks nicer with the va_list.
2016-08-16 16:29:21 +01:00
Tom Hacohen 28c80f9122 Efl object: implement CoW for the function vtables
This commit implements a sort of CoW for the vtables. The vtables are
usually just linked to and refcounted. When we need to change them we
allocate new ones and copy them over so we can write to them.

I wrote some code to measure the effectiveness of this change. When
running elementary_test (and immediately exiting) I saw that out of the
total number of vtable chains (561) that were needed by the classes in
the EFL, 79 (14.08%) were reused. Considering that I had to add
refcounting (unsigned short, but let's consider it's the size of a word
because of alignment), I would calculate the saving as such (in bytes):

Number of items in a chain (refcounted block): 32

32 bit:
sizeof(chain_node) = 8
Mem wasted on refcounting: 561 * 4 = 2244
Mem saved because of sharing: 79 * (32 * 8) = 20224
Total save: 17980 bytes

64 bit:
sizeof(chain_node) = 16
Mem wasted on refcounting: 561 * 8 = 4488
Mem saved because of sharing: 79 * (32 * 16) = 40448
Total save: 35960 bytes

Wow, we use a lot of memory in Eo classes, I'm sure we can
save even more if we put our hearts into it (change the shareable units
        to be smaller to increase the chance of sharing).
This is internal and doesn't affect API/ABI so we can change this even
further with time.

This also improves efl_object_override(). This should now be quite
memory efficient (don't abuse, but it's not a big hogg as it was), so
feel free to abuse that one and rely on it in API.

@feature
2016-08-16 16:29:21 +01:00
Jean-Philippe Andre 6d52d1db2b evas: Fix ordering of input event
The previous patch 1185c40e50 shows how having
two event types for the same thing (key or mouse input events)
was a bad idea. The only guaranteed order of callbacks is the
priority but even that was not enforced (since legacy or eo
style event had to come first).

Fixes T4310
2016-08-16 20:22:57 +09:00
Jean-Philippe Andre ae3ac0cd25 edje: Allow no_render in description
Previously, it was limited to the part block. It was a mistake
and should have been put in the description instead, as this
allows it to change during state transition (like visible, or
proxy_src_visible).

@feature
2016-08-16 20:08:32 +09:00
Jean-Philippe Andre 114c22f409 elm: Remove _EFL_APP_VERSION_SET from ELM_MAIN
This macro is behind a BETA ifdef. Shouldn't be used here,
unless we want to remove the beta flag and stabilize
efl_build_version_set() now.

Thanks Stefan for the report.

@fix
2016-08-16 18:26:36 +09:00
Jean-Philippe Andre 3aa7674666 win: Mark two properties as eo-only
Why aren't those functions implemented yet?

@fix
2016-08-16 18:01:39 +09:00
Jean-Philippe Andre 87d1b3f7c4 elm: Hide new init APIs behind BETA tag
This places the following behind beta:
- efl_quicklaunch_fallback
- efl_build_version_set

I don't think EFL_MAIN would have worked without BETA API support,
so no need to expose those for now.

@fix
2016-08-16 17:33:05 +09:00
Jean-Philippe Andre c916e518d9 glview: Mark draw_request as eo-only
This is a rename of changed_set, not a new function.

@fix
2016-08-16 17:06:48 +09:00
Jee-Yong Um 30ec592638 elementary: remove redundant parts_text_fix from Elm.Layout
Summary:
When a theme is loaded, Elm.Layout updates strings with new theme.
This adjustment will be performed by Edje. (See D4219)

Reviewers: cedric, jpeg

Subscribers: taxi2se

Differential Revision: https://phab.enlightenment.org/D4220
2016-08-16 16:14:21 +09:00
Jee-Yong Um 4fc6d3cf90 edje: resolve user defined string with type
Summary: Resolve Edje_User_Defined string with type (normal/escaped/unescaped)

Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4219
2016-08-16 16:14:21 +09:00
Jean-Philippe Andre cb24d5f489 eina: Set EINA_ERROR_TIMEOUT to cond_timedwait
This adds a new error code.

I'm using a weak symbol (were supported, ie GCC on linux) for
some kind of forward compatibility.

Fixes T1780

@feature
2016-08-16 16:14:21 +09:00
Jean-Philippe Andre 67ab4e3b4d eina: Move EWAPI and EAPI_WEAK to Eina.h from Eo.h
So it may be used outside EO (eina error is what I have in mind).
I believe it doesn't need to be redefined in all EFL libs, especially
since it's not used on Windows yet.
2016-08-16 16:14:21 +09:00
JEONGHYUN YUN f00c078b9b elm_panel : add a toggled event triggered when panel toggled in any way.
Summary:
There are 2 ways to toogle the panel, by using elm_panel_toggle API and by interaction such as flick or click on panel.
This toggled event can help us to know the time when the panel toggled by all case.

Reviewers: woohyun, kimcinoo, Hermet, jypark

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4180
2016-08-16 16:14:21 +09:00
Jinyong Park 471a328ea0 edje_embryo: add function to know swallow has object
Summary:
Using edc script, there is no way to know evas object is set on swallow part or not.
So, to know that, some elm widget send signal and save some information to edc variables when object is set on swallow part.
I think it is helpful to make better edc script.

@feature

Reviewers: herb, cedric, raster, id213sin, jpeg

Reviewed By: jpeg

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4176
2016-08-16 16:14:21 +09:00
Jee-Yong Um 14ff664b76 edje: clean up APIs
- convert methods to property setter/getter
- remove "values" block when getter returns read_only value
- fit the type of params of eo funcs to those of legacy APIs
2016-08-16 15:38:42 +09:00
Jee-Yong Um 1df890d51a edje: clean up part text item APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um afc04302ed edje: clean up part text anchor APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um 69ffbbb3eb edje: clean up part text input panel APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um 5c989481b7 edje: clean up part text imf context APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um fcc7bbcf97 edje: clean up part text select APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um 90b20e4da1 edje: clean up part text cursor APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um 7621e28ca4 edje: clean up part text APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um 42750beba4 edje: clean up part external APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um 7299933359 edje: fix reference error of part drag APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um 504f43698e edje: clean up part drag APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um 080d5cef11 edje: clean up part basic APIs 2016-08-16 15:38:42 +09:00
Jee-Yong Um c772bb0390 edje: group methods in edje_object.eo 2016-08-16 15:38:42 +09:00
Jean-Philippe Andre 9fbb5e0e5d evas: Fix potential memleak in event info objects
The new event info being an eo object, it needs to be properly
cleaned. I believe this memleak would not show up much in massif
or other checking tools, as it's a stringshare leak. Also, most
of those event objects will in fact be reused and never deleted.

@fix (backported as c58e293d34)
2016-08-16 15:34:33 +09:00
Thiep Ha fb15910640 elm video: correct api
The elm_videfl_add should be elm_video_add.
It was changed by commit e65aae994e.
This commit brings it back.
2016-08-16 12:36:26 +09:00
Sungmin Kwak bf2755efef ecore_imf: fix typo
Change-Id: I2660fa96a0525fcdf9e83e9eb33f449c282f6581
2016-08-16 08:26:23 +09:00
Tom Hacohen e65aae994e Eo: Finish the renaming of Eo to the EFL.
This renames all the rest of the API to the EFL namespace except for
Eo_Event that will follow soon.

Obviously breaks both API and ABI.
2016-08-15 15:07:42 +01:00
Vyacheslav Reutskiy 5135867218 elm_genlist: unhighlight item if it not selected
Summary:
Main trouble in handle click and double click event.
If user hold Esc and do double click on genlist item,
it still highlighted but not selected, because between
click and double click genlist process a key down event.
This patch add check the item state on mouse up, check
a item state - if item highlighted but not selected,
unhighlight it.

@fix
Fixes T3986

Test Plan:
1. run elementary_test Genlist
2. hold ESC
3. double-click on few genlist items

Reviewers: raster, cedric, NikaWhite

Subscribers: seoz, jpeg

Maniphest Tasks: T3986

Differential Revision: https://phab.enlightenment.org/D4222
2016-08-15 16:16:52 +03:00
Carsten Haitzler 6728822e91 evas smart obj - handle invalid object id's when scop data get is NULL
handle smart member add if the object is invalid withotu crashing.
also don't abort and crash with other invalid states like of smart
object or child is to be deleted, has no layer etc. - continue on
safely without a crash.

@fix
2016-08-15 11:40:31 +09:00
Carsten Haitzler e7d56e9ece evas table - handle recursive access to cols/rows where child frees
thsi fixes invalid memory access to already freed memory in a parent
call where a child freed it by reference counting the struct to
ensuire it stays alive in the parent func using it.

@fix
2016-08-15 11:30:23 +09:00
Carsten Haitzler 1d6a58cfc9 edje - save memory on edje parts as a lot of over-allocation was done
so ... Edje_Calc_Params was huge ... like about 200 bytes. every part
in every live edje object got one of these in addtion to real part
struct info etc. ... so really every part was probably consuming
300-500 bytes or so... crazy. so i made a lot of the data now optional
so only the minimum required is allocated now which cuts down about 110
or even 120 bytes per part, depending. 100 bytes was needed for 3d
node parts even though almsot no parts are 3d node parts... the image
and text data was 30-40 bytes so we consumed 100 even if we only used
30-40... so this cuts that done and puts in polace calc param cleanup
funcs everywhere they are needed to clean up this extra allocated data.

i also reduced this even more by maping pointers to req_drag, map and
physics and clip_to fields in another extension struct cutting
down another 28/52 bytes on most parts (in  return for an added
4/8 bytes - on 32/64bit accordingly).

in elementary_test this saves about ~300kb of ram for just having the
etst run and displaying (peak memory measuremment). so massif says
10.6M -> 10.3M.

@optimize
2016-08-15 09:21:08 +09:00
Jean Guyomarc'h a5232bb283 elementary: fix documentation for elm_prefs
Update API references and code example.
2016-08-14 18:57:12 +02:00
Carsten Haitzler 0779adcf0b edje - remove unused fields from part desc and calc params
fill spread and angle have never been used - resevred intitially for
gradient objects, but never put into use, so remove to get rid of
junk/memory footprint etc.

@optimize
2016-08-14 13:51:52 +09:00
Carsten Haitzler 749bc23231 edje - replace eina list with eina inlist to save mem and performance
edje was keeping every edje object created in an eina list so it could
access them later. not really great when every list node contains at
least 4 pointers (data, next, prev and accounting, possibly magic
too). also ever time an edje object is deleted it has to remove from
this list which means... walking the list to where the obj is... not
great. replace with an inlist which is just 3 ptrs, no extra pressure
on list pool and removal os O(1) too.

@optimize
2016-08-14 12:25:59 +09:00
Carsten Haitzler d86f73f9e6 elm win - fix elm win center to actually center again
@fix
2016-08-13 23:08:01 +09:00
Carsten Haitzler fd228ae6c5 efl api release - fix elm win accel preference set in legacy api
this shouldnt exist in legacy api as its not settable after creation.
it's useful only for eo constructors before finalize
2016-08-13 22:51:38 +09:00
Carsten Haitzler 2358417277 efl api release - fix @since for evas test filter program/source set api 2016-08-13 12:15:19 +09:00
Carsten Haitzler b59d7a6a1b efl api release - fix @since for elm win legacy api name_get addition 2016-08-13 12:15:13 +09:00
Carsten Haitzler 80e8e69ce4 efl api release - fix @since for textblock added legacy cursor eq api 2016-08-13 12:14:59 +09:00
Carsten Haitzler d7c5c5f91b efl api release - fix @since for textblock added legacy api 2016-08-13 12:14:52 +09:00
Boris Faure 4c07f52de6 evas textgrid: unset style when trying to load bold/italic
Ref T4323

@fix
2016-08-13 00:29:05 +02:00
Stefan Schmidt 4c7aaac4a5 elm: ui_win: add since tags for accel_preference_get/set 2016-08-12 18:05:13 +02:00
Stefan Schmidt 8b6a320616 elm: widget: add since tags for new APIs 2016-08-12 18:05:13 +02:00
Stefan Schmidt 186ad100c7 elm: entry: fix since tag to be used for getter and setter
Both have been added in 1.18 not only set()
2016-08-12 18:05:13 +02:00
Carsten Haitzler 645927817b efl api release - fix @since for new elm win indicator api's 2016-08-12 18:04:55 +02:00
Carsten Haitzler b387d3ceee efl api release - fix @since in new elm slider range api's 2016-08-12 18:04:55 +02:00
Carsten Haitzler ec49db1e91 efl api release - fix @since in new elm glview api's 2016-08-12 18:04:55 +02:00
Carsten Haitzler ed9a58b28b efl api release - fix @since in new elm genlist api's 2016-08-12 18:04:55 +02:00
Carsten Haitzler 76410cff47 efl api release - fix @since in new elm gengrid apis 2016-08-12 18:04:55 +02:00
Carsten Haitzler 5537c7ffe3 efl api release - fix @since in new elm entry api's 2016-08-12 18:04:55 +02:00
Carsten Haitzler 6a6f039db2 efl api release - fix @since in new elm config apis 2016-08-12 18:04:54 +02:00
Carsten Haitzler c57d893768 efl api release - fix exposing of eo fake legacy api for elm check 2016-08-12 18:04:54 +02:00
Carsten Haitzler 47e6037a8b efl api release - fix exposing of eo api types for elm fileselector 2016-08-12 18:04:54 +02:00
Carsten Haitzler 825e60e023 efl api release - fix @since in new eina iterator api 2016-08-12 18:04:54 +02:00
Carsten Haitzler c56b12f827 efl api release - fix @since in new edje edit api 2016-08-12 18:04:10 +02:00
Jean Guyomarc'h e249d79229 eo: fix guard to avoid redefinition of Efl_Object
Clang raised the warning:
   redefinition of typedef 'Efl_Object' is a
   C11 feature [-Wtypedef-redefinition]
for every compiling unit including Eo.h, which
caused a huge console pollution during compilation.
2016-08-12 13:06:48 +02:00
Jean-Philippe Andre 4e00d5a71f image: Remove all new EAPI that shouldn't exist
Remove EAPI symbols and functions that were
wrongfully added:
 - elm_image_scale_down_set
 - elm_image_scale_down_get
 - elm_image_scale_up_set
 - elm_image_scale_up_get
 - elm_image_fill_inside_set
 - elm_image_fill_inside_get
 - elm_image_scale_get
 - elm_image_scale_set

Doing this before the 1.18.x release announcement.

Fixes T4343
@fix
2016-08-12 09:24:41 +09:00
Jean-Philippe Andre c6bb29c4e4 elm_image: Remove EAPI sizing_eval
This is an internal API, should not be exposed as EAPI.
Doing this before the 1.18.x announcement.

@fix
2016-08-12 09:20:21 +09:00
Jean-Philippe Andre f8684635e4 elm_win: Fix ABI break with missing EAPIs
EAPI elm_win_type_set
EAPI elm_win_name_set

Those two APIs should never have been part of the legacy API,
but they have been generated since at least 1.16. The commits
  1aceb3bc19
and
  41aa19447c
removed the legacy symbols generation. It seemed like a good
idea since the APIs shouldn't exist, but in fact this broke
ABI. I hate this. So sorry about it.

I'm adding them back in with no documentation and as
EINA_DEPRECATED.

This is an emergency commit before the 1.18.x release
announcement.

Fixes T4344
@fix
2016-08-12 08:11:54 +09:00
Felipe Magno de Almeida f4a90dcde2 eolian-cxx: Fix compilation break from changes in Eo nomenclature
Rename of classes and function calls in generated code and C++ headers
2016-08-11 16:24:15 -03:00
Mike Blumenkrantz f0400e604c efl: add EFL_VERSION_1_19
indicate that features from this version can be used
2016-08-11 13:42:42 -04:00
Tom Hacohen c662934be8 Change the EFL to follow the new Eo rename. 2016-08-11 17:04:43 +01:00
Tom Hacohen e64e120a51 Eo: Rename most of Eo to the Efl prefix.
This includes Eo.Base -> Efl.Object and many (but not all) of the eo
functions. This commit is only for eo itself, not the rest of the EFL.
2016-08-11 17:04:43 +01:00
Carsten Haitzler aaf29b4dc4 evas image update calculation - account for clipped color changes
if clipped color changed and not object color on image objects, then
the updates could be missed. this also fixes some corner cases where
opaqueness should not count for update deletion too. this bug seems to
have been here a while unnoticed.

fixes T4246

@fix
2016-08-11 23:21:27 +09:00
Stefan Schmidt d126107782 Revert "eina threadqueue - for paranoia lock+ulock+free in order locks taken"
This reverts commit d19cd4e63c.

This causes a SIGBUS error on OpenBSD when closing any application. As this
was safety patch only I will revert it for the 1.18 release and we can work
out what breaks OpenBSD here for 1.19

Fixes T4332
2016-08-11 15:25:32 +02:00
Chris Michael 585b1db623 elementary: Add call to set opaque_region for case of borderless and
alpha

If we have a borderless alpha window, then make call to set opaque
region accordingly. This still avoids calling opaque_region_set twice,
yet maintains opaque region for the above mentioned case.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-08-11 07:50:41 -04:00
Stefan Schmidt 961a1ada0f Manual revert of: commit 07404215a9
combobox: add Multiple selection feature

This exposes problems with name clashes and behaviour change for the legacy API.
Revert for now and we can revisit for 1.19.

Git revert got to confused as this was committed before we merged elm in. I did
the revert manually.
2016-08-11 12:14:07 +02:00
Jean-Philippe Andre b29847e0da wayland_egl: Fix double free in case of failure
When trying to create a window, the WL EGL engine creates
an ecore_evas and connects to the wayland display. But if
EGL is not supported (in weston with nvidia for instance),
the egl initialization fails and the window must be detroyed
in order to fallback to wayland_shm.

This led to a double disconnect from the wayland display
as both the ecore_evas del and the error handling code
were trying to disconnect.

Also, use ref == 0 in two places rather than ref <= 0, as
it can prevent double frees in bad situations (ref < 0).
And reset a global variable to NULL on shutdown.
2016-08-11 11:37:41 +09:00
Jean-Philippe Andre 1185c40e50 evas: Call legacy events before new key/pointer eo events
This affects pointer & key events.

Here's the scenario: in Enventor, an elm_button object
grabs the up & down keys for the autocompletion feature.
But the entry will also listen to up & down to move the
cursor. Moreover, the scroller listens to up & down arrow
keys to scroll around.

So, when calling the new eo event first, the scroller
or the entry would catch it and do some action. In
Enventor, this triggered a hide on the magic anchor
object. Bad, bad.

I fear something will be wrong with this order as well.
Both events (legacy & eo) should be called simultaneously,
following the order & priorities that were set.

This being said, in real life most of EFL internals will
move to the new eo events (right now elm relies on the
new events, but edje doesn't, yet), so any app grabbing a
key probably wants to handle the event before elm. Same
for an app using focus manually.

Fixes T4310
2016-08-10 16:56:06 +09:00
Jean-Philippe Andre 0889444449 Revert "evas: Optimize out a function call if not required"
This reverts commit 8cb3b79a82.
I shouldn't have pushed this. So wrong. Sorry about the noise.
2016-08-10 15:31:48 +09:00
Jean-Philippe Andre 8cb3b79a82 evas: Optimize out a function call if not required
Same as the previous patch in elm_widget: don't call
flags_set() if the flags have not changed.
2016-08-10 15:26:05 +09:00
Jean-Philippe Andre 58aa349283 widget: Optimize out one function call if not needed 2016-08-10 14:17:58 +09:00
Jean-Philippe Andre 5130ce98db evas: Fix evas_objects_at_xy_get() for smart objects
Due to the way the clip geometry calculation changed
(see 25d77bc1d2) to be
based on the bounding box rather than the raw geometry
of smart objects, the internal function
evas_object_is_in_output_rect() now returns true if the
rectangle intersects with that bounding box, even if
it's outside the raw geometry.

This breaks the drop area in E's pager, as it relies on
evas_objects_at_xy_get() to find which objects are at
this point. What I saw on my desktop was that only the
lower 10 or 20 pixels were droppable in the pager,
as maximized windows would have shadows covering the
upper 20 pixels or so.

Arguably objects_at_xy_get could also return all objects
at (x,y) including smart objects that extend beyong their
geometry. This can be added as a flag in the EO API, but
not in the legacy API.
2016-08-10 13:58:30 +09:00
Carsten Haitzler 8d6d395358 fix double delcaration of variable in elm_code
this fixes T4318 - thanks romain.
2016-08-10 11:12:17 +09:00
Carsten Haitzler 606e865823 evas smart obj delete on shutdown - fix weird child with null parent
while removing children from a parent smart object, the destruction of
the smart obj encountered childrne with NULL parents. they were in the
child list but had no parent. This was totally odd and unexpected,
thus caused an infinite loop trying to dlete a child that won't be
removed from the list because parent is NULL thus it cna't find the
parent list to remove it from. This works around that and then
complains with an error. The workaround also seems to have encountered
what might be a compiler bug so I prepended to the layer object list
rather than appended. this at leats stops the hang.

@fix
2016-08-10 00:33:56 +09:00
Stefan Schmidt 4f840c5feb elm: config: fix API naming to use disabled instead of disable to unify
We use disabled across our APIs so better fix this new one to unify it before
we release. This was introduced in commit 0116e07288

Many thanks to DaveMDS for reporting this!
2016-08-09 16:26:49 +02:00
Jean-Philippe Andre ac0dd31075 ecore_input_evas: Enable cancel events by default
After my input event changes, the propagation path has been altered
from:
 ecore_x -> evas_event
to:
 ecore_x -> ecore_input_evas -> evas_event

But ecore_input_evas was ignoring cancel events by default. There
should be no good reason to disable cancel events anymore,
according to @jypark. Also, this fixes an actual bug :)

Fixes T4301
2016-08-09 14:56:39 +09:00
Jean-Philippe Andre d6817f4d6e evas filters: Fix minor issue with print
If the call to tostring() fails, replace the string by (invalid)
rather than ignore the error.

Fixes CID 1308612
2016-08-09 11:43:52 +09:00
Stefan Schmidt 72b88e51f4 eina: add includes for getpid() to work on MacOSX
Without this I get errors from the clang compiler used on Travis for some OSX
builds:
../src/lib/eina/eina_inline_lock_posix.x:845:27: error: use of undeclared identifier 'getpid'
2016-08-08 16:49:55 +02:00
Daniel Hirt 3eae9ff74f Elm.Entry: force cursor change on size_eval signal
This is a follow-up to ba060fe932.
Fixes T4274.
2016-08-08 16:47:22 +03:00
Daniel Kolesa d27c27528c elua: load modules from local dirs first
This fixes cases when running scripts locally - local modules
are preferred over systemwide, avoiding possibly outdated system
scripts from being run.
2016-08-08 14:38:39 +01:00
Stefan Schmidt a5fd63067d eina: safepointer: add since tags to new eina safepointer EAPI 2016-08-08 14:59:57 +02:00
Daniel Hirt be461b8f1b Canvas.text: fix segfault with ellipsis cases
The specific handling for (0.0 <= ellip < 1) doesn't support multi-line cases.
One of the main reasons is that we haven't had the chance to define the wanted
behavior for multi-line.
This is a temporary hack to fix a segfault. The behavior is still undefined,
though.

Fixes T3885.
2016-08-08 15:18:30 +03:00
Carsten Haitzler 0bcd4f73d2 elm filesel - handle api that might provide path too big for buffer
this addresses a path that could be too small (unlikely due to max
path generally being 4k), for a stack buffer. this should make
coverity happy. fix CID 1356634
2016-08-08 18:38:25 +09:00
Carsten Haitzler 933c0a6b04 eina_module - check result of module load from an array of modules
we don't give any debug or info if a module in a list fails to load.
we should at least offer debug info. do that. this fixes coverity
issue CID 1039687
2016-08-08 18:38:25 +09:00
Carsten Haitzler e5dbf6cfba elm init - handle return value of ecore_file_init make coverity happy
this isn't an issue as init will never fail, but makes coverity happy
with CID 1353589
2016-08-08 17:47:14 +09:00
Carsten Haitzler 05ad541534 elm dbus menu - handle return value of eldbus_message_iter_arguments_get
handle possible error return of eldbus_message_iter_arguments_get()
according to coverity CID 1353591. this should fix that.
2016-08-08 17:47:14 +09:00
Carsten Haitzler 9d8c829c2f elm app client - check return of eldbus_message_iter_arguments_get
as accoding to coverity CID 1353593 chekc returns of the above
function and return/continue as apporpriate if these fail (which
generallly they shouldnt unless some end of the dbus client is broken).
2016-08-08 17:47:14 +09:00
Carsten Haitzler e3e68f8ae0 efl vpath - make sure we check returns of mkdir just in case for errors
so vpath has a fallback if all things bad go wrong to mkdir a homedir
in /tmp and if that fails use /tmp or use / - if $HOME isnt set ... but
$HOME alwasy should be, so this is only for "a broken system".

this should fix CID 1354286
2016-08-08 17:47:14 +09:00
Carsten Haitzler b146b60974 edje entry - handle insanely low lemory if list_append fails
this fixes coverity CID 1357752
2016-08-08 17:47:14 +09:00
Carsten Haitzler c827d42fbd elm_need_efret() - improve error handling according to coverity
fix CID 1360466

we don't actually chekc if efreet inits right with elm_need_efreet()
as we just assume it inits (And there pretty much is no case where it
will not), but make coverity happy and check.

@fix
2016-08-08 17:47:14 +09:00
Carsten Haitzler c52aa54e61 emotion modules -0 check return value of eina_module_load and print err
this should inform the user via eina log errors that a module load
failed. this fixes CID 1360954
2016-08-08 17:47:14 +09:00
Sungtaek Hong 2de14b985c elm_map: fix wrong check of source search
Summary:
When map source is set by elm_map_source_set(),
it foreaches enlisted sources, and should return
when the source cannot be found.

@fix

Test Plan:
Call elm_map_source_set(map, [any type], [Wrong source name]);
         Observe  ERR("source name (%s) is not found", source_name) message.

Reviewers: Hermet, cedric, jpeg

Reviewed By: jpeg

Subscribers: conr2d

Differential Revision: https://phab.enlightenment.org/D4212
2016-08-08 15:16:53 +09:00
Carsten Haitzler dd584b9f79 efl - edje entry - dont emit changed on markup set unless text changed
if the text didnt actually change we generat a lot of noise in changed
signals for no change at all in text. shortcut this and check the new
and old text and compare ptrs, 0 length and strings etc.

this fixes T4045

@fix
2016-08-08 14:27:26 +09:00
Jean Guyomarc'h 55f791eb4c ecore_cocoa: remove pointless debug message
This message was also very annoying because systematically
printed out in the syslog when a cocoa window was closed.
2016-08-08 00:12:49 +02:00
Vincent Torri e4c166281f Edje_Edit.h: undef EAPI at the end of the header file
Fixes T4303
2016-08-07 11:47:05 +02:00
Daniel Hirt 24ccd475b8 Evas font: fix size query again
Some wrong variables were used in the rewrite at
8c6effae8e, basically reverting the original fix.
2016-08-07 11:26:53 +03:00
Carsten Haitzler 9e09c46574 elm config - dont rescale ui if no config that needs rescale changed
also finger size, and other thigns that could affect ui look that may
need elm rescale to work.

this fixes T4296

@fix
2016-08-06 18:10:36 +09:00
Carsten Haitzler 83752435cf eina log - handle possible overflow from high mem (last few bytes) or env
fixes CID 1361219
if you had an env var a few gb in size or we had stuff in the last bit
of memory address space this might be an issue, but that won't happen.

@fix
2016-08-06 15:53:18 +09:00
Carsten Haitzler 20c6bd296b eina log - keep coverity happy with potential ptr comparison overflow
fixes CID 1361220

in theory yes end minus start could be insanely huge or end be very
high in memory thus causing an overflow. this would have to be in the
last few bytes of memory space, so it never going to happen. and the
input from the env var has to be sane anyway as its user controlled.

@fix
2016-08-06 15:50:17 +09:00
Stephen Houston 31f351ae4e Eio: Update my email address. 2016-08-05 20:33:27 -05:00
Carsten Haitzler d19cd4e63c eina threadqueue - for paranoia lock+ulock+free in order locks taken
so mimic order of locks taken to be paranoid ... this wouldnt be a
deadlock issue but just to be safe instead of sorry.
2016-08-06 09:56:02 +09:00
Stefan Schmidt 64bf1da8c1 edje: mark new edje_mmap_3d_has() API with since tag 2016-08-05 23:14:57 +02:00
Stefan Schmidt 063c31cb24 ecore_wl2: mark new events with since tag 2016-08-05 23:14:57 +02:00
Stefan Schmidt bb984760cd evas: add missing since tag for new evas_object_type_get() API 2016-08-05 23:14:56 +02:00
Cedric Bail 7e8c6b212d ecore: properly track events in Efl.Loop.Fd object.
Thanks Gustavo.
2016-08-05 12:14:18 -07:00
Cedric Bail a7bb1662e2 Revert "elementary/layout: attach edje object API with eo compositing"
This reverts commit 8a988717e1.

It seems we can't actually inherit from class more than once and neither eo
nor eolian will complain about it. You will just get random weird behavior.
This patch should come back once we have made an interface of edje.
2016-08-05 11:09:55 -07:00
Carsten Haitzler 26db5d5056 eina thread queue - ensure blocks cannot be freed until lock+unlock
just in case... check blocks cannot be freed until locked and unlocked
just in case someone still is holding a lock.
2016-08-05 23:52:20 +09:00
Carsten Haitzler 31e8a528b1 ecore-con - fix complaint about null slave list due to shutdown
so ecore-con already cleared the slaves list on shutdown but an
ecore_thread may stillbe active and thus removing from a NULL slaves
list wont work, so skip if slaves is NULL.

@fix
2016-08-05 19:41:59 +09:00
Carsten Haitzler 4a40ff95de eina lock semaphores - do not use shared semaphores and fix osx names
the way eina does sempahores, they can NEVER be sensibly shared
cross-process portably. so enabling sharing is a pointless idea. in
fact some os's like openbsd check if the sempahore addres is in a
sharable mem region and deny init if it is not. on osx you dont use
shared memory but a sempahore name you share instead... and this is
not exposed thus it can't be shared either. if we did process sharable
semaphores we'd make shm segments and/or name them in a sharable way
were you can share the idenitifer of the shm segment and/or the offset
address or name from osx. but we don't, so making them
process-private is the right thing. sharable sempahores will need a
whole new api.

this also fixes osx naming to make the name pretty unguessable/private
and opened exclusive (or it fails) by using pid, sem counter, and 4
random numbers. it's not a security mechanism as the create will fail
if there is a clash. chances are low. we unlink before anyway. good
enough for osx for now.

@fix
2016-08-05 18:11:42 +09:00
Carsten Haitzler 8fd224b4d6 eina thread queue/semaphores - check even more unlikely errors + complain
check some really unlikely alloc errors and semaphore deadlock errors
and report if that has happened. just in case.
2016-08-05 17:38:02 +09:00
Carsten Haitzler 07924f26f1 eina thread queue - check returns fo semaphore new/lock/release to debug
so openbsd may have issues with semaphores - maybe. this would catch
them if it it. why - if sem_init/sem_wait are different... i dont know.
2016-08-05 17:09:34 +09:00
Shinwoo Kim 89d5479c0b atspi: toolbar - fix cannot call select callback
There is a line to check select_mode in _item_select function.
The item selected(clicked) callback is called when the select_mode is ELM_OBJECT_SELECT_MODE_NONE.
The checking select_mode should be handled at one place.
2016-08-05 16:17:13 +09:00
Carsten Haitzler 6b6823e5af eina_threadqueue - fix const ptr warning on spinlocks if atomic disabled
atomics SHOULDNT be disabled anyway, but if they are... fix this
warning. (no real bug)
2016-08-05 13:42:50 +09:00
Carsten Haitzler 013c0702f4 ecore_imf - fix make check to doa "load all" check after de-sillifying it
this should make ecore_imf testable with empty env vars also meaning
no env var and the make check test will now ensuree this is set to
exactly test this.
2016-08-05 13:42:11 +09:00
Jean-Philippe Andre 32df056a32 ecore_imf: Fix crash when ECORE_IMF_MODULE is set 2016-08-05 11:33:01 +09:00
Jean-Philippe Andre 917f34587b evas: Make safety check more lenient
This is to avoid ERR messages such as "object is not an image!"
that can happen when a legacy image function is called on an
eo image (proxy, 3d, ...) object.

Note: This does not fix any known issue, but it's probably a safer
solution.
2016-08-05 11:01:55 +09:00
Jean-Philippe Andre 28c917836c efl: Cleanup some code (return values)
This removes some useless code in various places, where the
switch from eo_do() to standard function call was not properly
refactored.

This changes:

type ret = 0;
ret = my_eo_function();
return ret;

To:

return my_eo_function();
2016-08-05 10:32:30 +09:00
Jean-Philippe Andre 26ee77ff67 evas image: Lower ERR message to WRN and fix it
In elm_image, efl_file_get() was called on a legacy Evas Image
object, which generated an ERR message. This was way too much
noise for something that actually works.

It's best not to call efl_file_get/set API on a legacy
object, but it can be convenient for smooth code transitions
from legacy to pure eo.

Also, add safety to those APIs.

Test case: elm_test genlist dnd, start dragging anything.
2016-08-05 10:32:30 +09:00
Jean-Philippe Andre 12fbaacc97 evas: Mark image fill_spread as deprecated
It was never implemented.
2016-08-05 10:32:30 +09:00
Jean-Philippe Andre 4d67ee2478 evas: Add safety checks to evas image legacy APIs
This checks for NULL and ensures the type is evas image.
2016-08-05 10:32:30 +09:00
Marcel Hollerbach 3f1d40cff8 efreet: free fallback cache on shutdown
this fixes errors like:
ERR<4864>:eet lib/eet/eet_lib.c:645 eet_shutdown() File '/home/osauser/.cache/efreet/icons___efreet_fallback_localhost.localdomain.eet' is still open 1 times !

@fix
2016-08-04 17:04:50 +02:00
Carsten Haitzler 8dd27f2fd9 elm tooltips - fix positioning cornercases
this should fix T4277
2016-08-04 23:23:30 +09:00
Daniel Hirt 44569b859a Elm.Entry: use proper theme_set function on edje object
Shouldn't use elm_widget_theme_object_set for handlers/anchors here.

Fixes T4091.
@fix
2016-08-04 13:27:08 +03:00
Carsten Haitzler e5cfb76ef1 edje object shutdown - be far more paranoid about ptrs and order
so we didnt set everything to null after being freed and object sae
freed after some data. do the data frees after objects are deleted so
callbacks cant access null data anyway. this makes this edje shutdown
far more robust and safe. massive improvement in stability i hope.
2016-08-04 18:28:49 +09:00
Carsten Haitzler c59995916e edje - fix access to freed data struct during object shutdown
this fixes T4181
2016-08-04 18:19:42 +09:00
Hermet Park b07617ea76 elementary widget: actually this is a right fix than fa4a72d3fc
Now rage and enventor both will be fine.
2016-08-04 16:44:06 +09:00
Carsten Haitzler fa4a72d3fc elm key events/disabling/focus - fix after another disabled widget fix
this fixes key events in rage again after
ea2b5e4048 broke them. this fixes T4285
2016-08-04 16:37:21 +09:00
Subhransu Mohanty d458101a41 edje: updated the start index of vector resource from 1 to 0
Reviewers: cedric, jpeg

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-08-03 17:34:57 -07:00
Carsten Haitzler a3e7413992 elm image - silence warnings of setting smooth if image is edje 2016-08-04 08:17:18 +09:00
Stefan Schmidt 9f5e5ae732 elm: scrollable: add guards to include eo and legacy header only when allowed
Make sure the eo and legacy headers are only included when the matching defines
are enabled.
2016-08-03 15:03:37 +02:00
Stefan Schmidt fea0c92bc9 elm: fileselector: add guards to include eo and legacy header only when allowed
Make sure the eo and legacy headers are only included when the matching defines
are enabled.
2016-08-03 15:03:37 +02:00
Carsten Haitzler f23788dcb0 elm image - store smooth scale var in object as intended
this fixesa bug reported by davemds and kuuko in python bindings test
suite where setting smooth flag != getting it right after.
2016-08-03 18:27:57 +09:00
Jean-Philippe Andre 9b2980e1b1 widget: Fix propagation of events on hold
Because of the translation between legacy and eo key
events, the on_hold flag state could sometimes be lost.

Symptom:
 elementary_test -to Focus
 Click on a button inside the scroller
 Up/down would jump to the end of the scroller, rather than
 the next button.

Thanks a lot to Woohyeon for the very good bug report.
2016-08-03 18:08:31 +09:00
Carsten Haitzler abeeb11b19 elm theme - don't use empty env vars eina_prefix handles anyway
in 14ec825aa9 cedric added trying
ELM_DATA_DIR env var explicitly for looking for themes. first if this
is NULL then we look in a bogus directory (null). secondly eina_prefix
already takes care of env vars like thsi as part of figuring out
prefix with correct namespace etc. so this just is a bug as opposed to
anything useful and the CORRECt implementation is already done in
eina_prefix.

@fix
2016-08-03 17:27:42 +09:00
Davide Andreoli 7c01254ba7 edje: fix color class broken by b543f4c896.
T4270

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-08-02 16:54:33 -07:00
Jean Guyomarc'h 57f95de890 ecore_audio: use the correct module wrapper
This was code for sndfile. sndfile module should have been
used instead of the pulseaudio one.
It led to a build break when having sndfile but not pulseaudio.

Ref: 879d93377b
2016-08-02 21:12:33 +02:00
Derek Foreman 871a9cff03 ecore_drm2: Fix a condition where no outputs are enabled
If the first output we test is disconnected but has the crtc of
the primary display assigned then we'll fail to assign the crtc
to the connector it's really connected to later.

This is a quick hack as trying to sort this out properly may be
too invasive for the upcoming 1.18 and isn't really important until
1.19 supports multihead anyway.
2016-08-02 13:29:09 -05:00
Tom Hacohen bf772125e8 Eo: Move Eo back into beta.
Eo should now be considered beta again. This commit puts it back in beta
and makes it necessary to define EFL_BETA_API_SUPPORT before including
Eo.h.
2016-08-02 16:34:35 +01:00
Vitalii Vorobiov dde1299182 edje_edit: delete swallowed object before unswallowing (for part type GROUP)
unswallowing set swallowed_object to NULL inside of
_edje_real_part_swallow_clear
so it is impossible to delete object anymore.
And so, changing sources leaves fantoms and undeleted objects.

@fix
2016-08-02 17:01:33 +03:00
Hermet Park ea2b5e4048 elementary widget: fix a wrong disabled behavior.
This is a corner case bug I spontaneously found.

* Scenario.

A. Disable A widget.
B. Add a child B widget to A.
C. Now B Widget theme will be followed to A that is performed by
   elm_widget_theme_apply()
D. This elm_widget_theme_apply() calls elm_widget_disabled_set() (originally.)
E. Now B widget will be logically disabled.
D. Let's enable A widget again.
E. After going through widget disabled sequence, elm_widget_disabled_eval()
   will be called in the last
F. In this function, A widget tries to enable its children. But B widget won't
    be enabled because its logically disabled!

Acutally, nowhere widget change children's disabled states logically,
but it propagates its state to children within volatile way so that
A widget perfectly keeps the disabled/enabled state with its children and
recover the children's enable/disable state once their relationship is cut off.

@fix
2016-08-02 22:49:33 +09:00
Carsten Haitzler 7a70d41541 elm scroller accel was broken by default confgis setting it to 0. fix
now set default wheel scroll accel to 7 as epr the confgi upgrade code
and also improve the acceleration to "rely on itself" and feedback
loop. this is so much better now i can scroll through things in a
whisk with the wheel.

fixes T4263

@fix
2016-08-02 17:32:19 +09:00
Carsten Haitzler 879d93377b efl runtime dynamic lib loading - make errors consistent and useful
so drop trying to appease the openbsd packages and stick to "upstream
so major versions" and let users fix their systems with symlinks. also
report what we are looking for so they have a chance to symlink to
make efl happy.

at some point we should make a single simple runtime lib linker
subsystem in efl so all these errors are reported in the same way,
input libray names are listed in a simple consistent way etc. etc.

for now we have 3 locations in efl that do this and they are roughly
similar. we can unify it later.
2016-08-02 11:23:34 +09:00
Cedric BAIL dd1d3f0d2d autotools: since it has been broken for some times and nobody noticed, let's remove per directory support. 2016-08-01 13:36:47 -07:00
Romain Naour 02c14d10a3 elementary: remove *.eo.h files from includesub_HEADERS
Otherwise *.eo.h files will be installed twice, so it can break a
parallel install on fast machines, whereby two make jobs may run
concurently, trying to install the same files.

With elementary 1.17.1:
/usr/bin/install -c -m 644 elm_sys_notify.eo.h
/usr/bin/install -c -m 644 elm_sys_notify.eo.h
 usr/bin/install: cannot create regular file 'elm_sys_notify.eo.h': File exists

Fixed in Buildroot:
https://git.busybox.net/buildroot/commit/?id=bba82cbfe4caaa01366fc74fb3b6f4c41587a28b

While applying the fix on latest master (1.18.0-beta1), the only
remaining *.eo.h file is efl_ui_text.eo.h.

Fixes:
http://autobuild.buildroot.net/results/7e9/7e9caffe442dcf40ee41da56fd3f55ffedf3a291

Signed-off-by: Romain Naour <romain.naour@gmail.com>
2016-08-01 18:12:53 +02:00
Carsten Haitzler 37735d8b4f ecore-imf - fix stupidity of loading ALL modules even if not needed
eocre-imf loaded all input modules even though an env var was set to
tell it to use a specific one. this just wastes memory and slows down
startup time. this uses the env var to choose ro auto-guesses wayland
or xim input if the right env vars are set, and if it doesnt know
falls back to "load all" as before. this saves 28kb of dirty pages.
this helps address T4227

@fix
2016-08-01 21:12:24 +09:00
Carsten Haitzler 1d0b500fa8 edje - reduce memory footrpint by dlopening ephysics on demand
this saves about another 80Kb or so in dirty pages by only loading
ephysics when needed. This removed ephysics and bullet library dirty
pages from the process space. this is another patch to address T4227.

@fix
2016-08-01 19:11:39 +09:00
Carsten Haitzler d27f5fcab7 ecore_audio - save 232k of real RAM by dlopening depednecies
so libpuls and libsndfile suck in dependencies. they suck in so much
that by the time linking is done we've written to about 230kb of
PRIVATE MEMORY as dirty pages in symbol tablesm global veriables etc.
etc. - this is just horrible. especially if an app never makes any
sound... it's just wasted memory. this stuff is invisible to normal
memory debug tools. so this begins to address things. please see
T4227. my numbers now put me at:

1780Kb total dirty writable mapped from library file pages. down from
2012Kb.

This fixes some memory bloat reported in the above ticket, but there
is more to fix for sure.

@fix
2016-08-01 14:41:15 +09:00
Subhransu Mohanty 7af272d93c edje: Fix handling of polygon and polyline node.
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4203
2016-08-01 13:23:44 +09:00
Jean-Philippe Andre 58c3808231 ecore_evas: Register animators for inline image ee
In ecore_evas_object_image_new, register animator tick del/add
catchers, so that animators can work. This fixes mouse scroll
in an inline window.
2016-08-01 10:29:24 +09:00
Jean-Philippe Andre b3293408a4 scrollable: Avoid useless connect to animator
If scrolling Y no need to register X animators. And vice
versa. It's a minor optimization.
2016-08-01 10:29:24 +09:00
Daniel Hirt 0d9ddc4514 Canvas text: fix range geometry calculation for RTL
Fixes T3627.

@fix
2016-07-31 10:33:30 +03:00
Stefan Schmidt 3bd4c19f55 eina: promise: fix memory leak in error path
If we would not get a promise back here the allocated array would leak when we
return. Make sure we also free it in this case.

CID: 1360468
2016-07-29 14:53:36 +02:00
Stefan Schmidt 461c5d2787 ecore: xcb: make sure length_name is always initialized
lib/ecore_x/xcb/ecore_xcb_icccm.c: In function ‘ecore_x_icccm_name_class_set’:
lib/ecore_x/xcb/ecore_xcb_icccm.c:320:11: warning: ‘length_name’ may be used uninitialized in this
function [-Wmaybe-uninitialized]
         s += length_name + 1;

Looking at the code this is indeed possible so better play safe here.
2016-07-29 14:20:16 +02:00
Stefan Schmidt 61edc87787 elm: object_item: add guards to include eo and legacy header only when allowed
Make sure the eo and legacy headers are only included when the matching defines
are enabled.
2016-07-29 12:04:13 +02:00
Stefan Schmidt f9ff0cd6dd elm: sys_notify: add guards to inlcude eo and legacy header only when allowed
Make sure the eo and legacy headers arte onl yincluded when the matching defines
are enabled.
2016-07-29 12:04:13 +02:00
Stefan Schmidt f752288666 eldbus: make sure eldbus model is hidden behind the BETA API flag
Make sure we keep this in beta for now until our EO based interfaces are ready.
2016-07-29 12:04:13 +02:00
Woochan Lee 6e325ee691 multibuttonentry: Fix wrong definitions.
Summary:
There is no "ELM_MULTIBUTTONENTRY_EVENT_CHANGED"
Because of this, MBE's Internal entry did not get a changed callback.

And MBE does not have changed smart callback.

Those things made by someone during EO interface working i think.

Test Plan: elementary_test

Reviewers: Hermet, cedric, jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4195
2016-07-29 14:36:17 +09:00
Carsten Haitzler 5f224a6671 efl - elm genlist - clean up sanghyeon's patch to be less code
use if not while, no first, and timing checkis already done at end so
remove from if/while. cleaner now.
2016-07-29 11:57:10 +09:00
Carsten Haitzler 518c59166c fix warnings in sanhyeons's patch/fix 2016-07-29 11:52:02 +09:00
Jonghee Choi 09b01de58a [CONFIG] call elm_rescale() only when scale value is changed
Summary: it doesn't need to call elm_rescale() in _config_flush_get() when the scale value is not changed.

Reviewers: jaehwan, cedric, raster

Subscribers: minkyu

Differential Revision: https://phab.enlightenment.org/D4186
2016-07-29 11:44:40 +09:00
SangHyeon Lee 8d8d08effa genlist: fix memory-leak in filter queue and refactoring queue iteration
Summary:
There are critical memory-leak in filter queue process.
         It looks typo so I fix it and refactoring queue iteration logic to spend
		 less time in for and while loop.

Test Plan: Tested by filter elementary test

Reviewers: shashank0990

Reviewed By: shashank0990

Subscribers: raster, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4170
2016-07-29 11:29:25 +09:00
Carsten Haitzler 742fbc5717 evas canvas destruction - detect zombie objs and hack at them with axes
ok. so here's the issue at least now. we have eo objects in the canvas
and they have a refcount of 2 user_refcount is 0. the calls stack does
NOT show we are calling callbacks at that time on these objects. they
are not in the backtrace (the canvas is, the objects themselves are
not).

SOMETHING is keeping 2 eo "internal" refs on these objects and i have
no idea what/how/who. it's a royal pain in the butt to find out as the
only way is lots and lots of logging and you get drowned in the
logging...

so what I have now done is a super ugly workaround that detects these
zombie objects that refuse to die and just FORCES them to die when the
evas canvas frees and clears out layers.
ac10a00acc doesn't really cause the
issue, it just brings it out in the open for all to see far more
easily. but something is deeply wrong SOMEWHERE with SOME objects and
our refcounts.

this fixes T4187
2016-07-29 00:02:03 +09:00
Amitesh Singh ba060fe932 entry: allow force recalc on "size,eval" "elm" signal
Summary:
In some use cases, font (style) of elm.text in elm entry is changed
on focus and unfocus. user must send "size,eval",elm signal to entry to
force recalc, but this was not happening. This patch fixes that issue.

fixes T4233

Reviewers: tasn, herdsman, raster

Subscribers: cedric, seoz, jpeg

Maniphest Tasks: T4233

Differential Revision: https://phab.enlightenment.org/D4196
2016-07-28 15:22:07 +05:30
Jean-Philippe Andre 28aa0ba79f win: Fix evas framespace under X
Mouse inputs would not work if the window is rotated,
because the framespace was invalid.

Fixes T4132
2016-07-28 16:30:41 +09:00
Carsten Haitzler 1c7663e311 edje entry - check all minor struct callocs and on fail report + unwind
lots of unchecked malloc/calloc returns, so check these, unwind safely
and complain (highly unlikely to happen unless the system is about to
fall over). this should fix T4230
2016-07-28 11:00:35 +09:00
Vitor Sousa 7efa27faed elementary: fix legacy path set/get for Fileselector specializations
Fix legacy functions elm_fileselector_path_get and
elm_fileselector_path_set.
Make these functions call the correct function when called with a
specialization of Elm.Fileselector (instead of the base class function).

Create internal versions of path set/get functions to avoid warnings
about deprecated function calls.

Fix T4198

@fix
2016-07-27 18:09:23 -03:00
Derek Foreman f975cdf513 ecore-drm2: Silence compiler warning
We probably can't actually use this variable uninitialized, but
let's init it anyway to keep gcc happy.
2016-07-27 15:23:12 -05:00
Chris Michael 4431ff01ff ecore-drm2: Fix issue of VT-Switching going blank on returns
As it turns out, when we vt-switch Back to a running Enlightenment,
it ends up processing all outputs and causes Evas to create a giant
canvas to cover all outputs. This new canvas causes a blank screen as
the pageflipping fails (due to fb being too large). As we do not yet
support output on more an one screen anyway, temporarily disable any
output which is not marked as primary.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-27 15:35:42 -04:00
Chris Michael 1bbc23b086 ecore-drm2: Add API for vt-switching
This commit adds a function we can call from inside Enlightenment in
order to fix an issue with VT-Switching. The problem was when a client
application is open, the compositor does not pass along the key-combo
for vt-switch but rather sends it to an application. This patch (along
with upcoming Enlightenment one) fixes the issue.

NB: This late API add approved by Stefan ;)

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-27 13:28:10 -04:00
Chris Michael 3754ad0477 elementary: Reduce variable usage
As we don't use the framespace x, y here then there is really no need
to have them.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-27 12:02:51 -04:00
Chris Michael 3b82375835 elementary: Fix issue of wrong minimum size for some E dialogs
When we are calculating minimum size hints for the window object, we
should be adding framespace to maximum size, not subtracting it...

Honestly this just looks like a brain-dead typo.

Fixes T44225

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-27 11:12:23 -04:00
Vitalii Vorobiov b07a0c523c edje_edit: avoid such values like 2.77556e-17
using spinner to change double values means that sometimes
if set such weird values while should go to 0.0

@fix
2016-07-27 15:18:07 +03:00
Chris Michael bf414d8c54 elementary: Avoid possibly setting opaque region twice
Previously, if the window had no frame object, then this could would
have been setting opaque region twice (for the alpha case). We can
avoid this if we move the alpha check to below the frame check.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-27 08:08:00 -04:00
Jean-Philippe Andre ccac110d71 elm: Fix extra mouse,in events in layout_content_unset
Problem: crash in assert() in terminology.

Scenario:
 Open Terminology,
 Split V by keyboard,
 Move mouse to split 2,
 Create tab by keyboard
 --> abort() in terminology

Cause:
 An extra mouse,in event happens during edje_object_unswallow
 inside elm_layout_content_unset.

Root cause:
 efl_part() in elm_layout had a side effect: edje_recalc on the
 edje object. Causing its geometry to be "properly" defined and
 the mouse event to trigger callbacks.

Solution:
 Avoid calling recalc... somehow.

Conclusion:
 Without adding any new API, edje edit provides internally the
 information that we want: type of an edje part (for box & table).

Fixes T4221
See T4028
See T3509
2016-07-27 16:48:45 +09:00
Carsten Haitzler bd91ebbbd7 efl - ecore-x - work around e's badness in makeing an x image for all wins
so e is being stupid and creating an ecore-x image forevery single
window if in x11 mode if it needs it or not. this results in having ti
allocate an actual x image and shm segments. work around this and get
bit order from somewhere else than the x image itself thus avoiding
the allocation until a real get or put is done.

@fix
2016-07-27 10:32:41 +09:00
Derek Foreman 3d5dbbfcd0 elput: Use correct filename in unlink
We switched from mkstemp to eina_file_mkstemp() but ended up unlinking
the template filename, which didn't exist on the filesystem.
2016-07-26 12:38:24 -05:00
Chris Michael ed55b1f733 ecore-wl2: Add safety check for valid compositor
As we cannot create a new wl_region without a valid compositor, add a
safety check.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-26 12:43:24 -04:00
Chris Michael acbba9b03b ecore-wl2: Remove error message during connect/reconnect
Since session recovery can cause apps to constantly try and reconnect
to the display server, we probably should not be filling logs here. On
the other hand, any failures on first connect are now not going to
display any error messages.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-26 10:55:31 -04:00
Stefan Schmidt 3f4b2a2c90 edje: remove now unused variables
Commit e3ed888aa9 removed the code where these
variables have been used before.
2016-07-26 12:41:19 +02:00
Jean-Philippe Andre 365a322f01 edje: Remove invalid call to recalc in efl_part
What a mess... Assuming efl_part() had no side effect on the
object it took me hours to figure out that there was a wrong
call to _edje_recalc_do in the efl_part() function itself.
That was bad, and existed because efl_part() used to be
efl_content_get().

efl_part() should not have any side effect.

Also, fix a return value in content_remove.

Fixes T4214 (invalid redraw and crash in terminology).
2016-07-26 18:57:38 +09:00
Carsten Haitzler 4b145afcfe elm cnp windows - remove unused vars 2016-07-26 16:49:03 +09:00
Carsten Haitzler b3d40d393e elm cnp win32 - do one side at least of unix newlines to windows newln
this PARTLY addresses T3556 ... this handles our own conversion of
makrup to string then to a windows newlined string. this half. i wrote
the conversion code for the other way but it's unused as i am unsure
where exactly to plug in it. following the cnp code makes me not sure
where it goes so for now - not there, but ready to go.

to be clear. out API is unix text. utf8 strings at our api with UNIX
newlines. that is our api. that is the text we accept and produce. if
you deal with another file or interface that does not provide this
then the job of conversion is AT THAT POINT. eg elm_cnp.c has to do
this. as would file loads of text files (and saves) etc. - anything
else like forgivingly handling anything at the api level makes it
totally unclear what our api is and what should go in and come out.

to be portable we have to define what it is and the most portable
thing to do is at the api level within a process we define one and
only one format. UNIX \n format.

@fix - partial
2016-07-26 16:44:10 +09:00
Carsten Haitzler 1b8643b9a0 efl ui image - fix view size get to NOT apply scaling
this fixes T3254
2016-07-26 15:24:13 +09:00
Subhransu Mohanty e3ed888aa9 edje: fixed issue with applying transformation and stroke width
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4192
2016-07-26 14:33:15 +09:00
Subhransu Mohanty 0023f20d85 efl/interface: fixed the shape interpolation implementation.
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4188
2016-07-26 14:19:59 +09:00
Jean-Philippe Andre 9f04590bbf edje: Minor fix (return proper bool value) 2016-07-26 14:19:59 +09:00
Jean-Philippe Andre 3590010003 edje: Use eo_del instead of eo_unref where needed
This fixes the following error message:
Object '0x40000002f0000030' still has a parent at the time of destruction.

Though I actually wonder why ref == 0 and there was a parent.
Something is still a bit fishy here.
2016-07-26 14:19:59 +09:00
Carsten Haitzler 93a683daad evas and ecore_x shm segment management - fix over allocation and perms
so our sysv shm segments were both over-permissive (nothing bad
really, just other users could read and write to/from our pixel data
destined for the screen... they could do this to x11 directly anyway
so no real issue), but be more restrictive and use 0600 as xserver
runs as root so can read/write anyway and we only want our own uid
access. but even more - fix our shm segment flushing to not keep lots
of segments floating about like a bad smell when we don't need them.
we had a cache but it wasnt flushed when it should be since async
rendering turned up. this fixes that and we're back to agressively
flushing them out when idle.

@fix
2016-07-26 13:21:50 +09:00
Minkyu Kang 5a7535cc4c elm_bg: fix typo in doc
Summary: Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>

Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: seoz, jpeg

Differential Revision: https://phab.enlightenment.org/D4184
2016-07-26 10:25:14 +09:00
Sungtaek Hong d40d469bce elm_conform: set data pointer to obj from NULL.
Summary:
 - In the callback for ELM_PLUG_EVENT_IMAGE_DELETED,
   it tries to get elm_conform's data from NULL.
@fix

Reviewers: Hermet, woohyun, cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4177
2016-07-26 10:25:14 +09:00
Jean-Philippe Andre b2b980a737 evas: Fix inefficient updates with no_render
is_visible returns 0 if no_render is true, so should
was_visible as well. Yeah, there will be problems if
no_render changes on the fly. Don't do that.

Fixes T4193
2016-07-26 10:25:14 +09:00
Chris Michael b32e1ace46 ecore-wl2: Reduce debug noise on key events
This is annoying to see key events flooding a terminal ... so comment
out this debug statement. If a developer really needs this, then
enable it locally.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-25 12:18:48 -04:00
Stefan Schmidt a17d59c7c3 Revert "access: add API to get access object of given part"
This reverts commit 57d77c9041.

We are in freeze right now and this is a new feature. Considering the access
API is still in beta I might have let this slip by but its does not even build

../../../src/tests/elementary/elm_test_popup.c:27:1: error: conflicting types for ‘elm_object_part_access_object_get’
 START_TEST (elm_object_part_access_object_get)
 ^
In file included from ../../../src/lib/elementary/Elementary.h:240:0,
                 from ../../../src/tests/elementary/elm_test_popup.c:6:
../../../src/lib/elementary/elm_object.h:521:54: note: previous declaration of ‘elm_object_part_access_object_get’ was here
 EAPI Evas_Object *elm_object_part_access_object_get(const Evas_Object *obj, const char *part);
                                                      ^
../../../src/tests/elementary/elm_test_popup.c: In function ‘elm_object_part_access_object_get’:
../../../src/tests/elementary/elm_test_popup.c:39:47: warning: passing argument 1 of ‘elm_object_part_access_object_get’ makes integer from pointer without a cast [-Wint-conversion]
    access = elm_object_part_access_object_get(popup, "access.title");
                                               ^
../../../src/tests/elementary/elm_test_popup.c:27:1: note: expected ‘int’ but argument is of type ‘Evas_Object * {aka struct _Eo_Opaque *}’
 START_TEST (elm_object_part_access_object_get)
 ^
../../../src/tests/elementary/elm_test_popup.c:39:13: error: too many arguments to function ‘elm_object_part_access_object_get’
    access = elm_object_part_access_object_get(popup, "access.title");
             ^
../../../src/tests/elementary/elm_test_popup.c:27:1: note: declared here
 START_TEST (elm_object_part_access_object_get)
 ^
../../../src/tests/elementary/elm_test_popup.c:39:11: error: void value not ignored as it ought to be
    access = elm_object_part_access_object_get(popup, "access.title");
           ^
Makefile:43996: recipe for target 'tests/elementary/tests_elementary_elm_suite-elm_test_popup.o' failed
make[5]: *** [tests/elementary/tests_elementary_elm_suite-elm_test_popup.o] Error 1

If you still want this in make sure it actually can compile the tests you added.
2016-07-25 18:01:37 +02:00
Stefan Schmidt d922a556b4 evas: filters: add return value in all cases
Function with non-void return value so we need to add a return in all cases.
Thanks to gcc for complaining here.
2016-07-25 18:00:42 +02:00
Chris Michael 8be8f8cbd3 elementary: Fix formatting
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-25 11:54:32 -04:00
Marcel Hollerbach f94d349f52 ecore_wl2: also add the del control code
otherwise we are sending the controlcode for delete, which is wrong.

This fixes the backspace on delete problem.
2016-07-25 17:45:13 +02:00
Chris Michael 32af25ebb9 elput: Fix issue of losing mouse input when removing a device
When we are adding new input devices, if we already have an existing
one (keyboard, pointer, touch, etc) then we should just be
incrementing the device count and returning from the init function.
Previous code here would increment the device count, then continue on
and create a new internal representation of the device. This was
causing issues when a device gets removed.

Fixes T4192

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-25 10:55:57 -04:00
Shinwoo Kim 57d77c9041 access: add API to get access object of given part 2016-07-25 22:05:24 +09:00
Carsten Haitzler 96fbea9dae elm table and box resize themselves on sizing eval - fix this - dont resize
thsi fixes T3031

@fix
2016-07-25 19:13:15 +09:00
Shinwoo Kim 1fbc491904 elm_access: fix typo of atspi action 2016-07-25 19:02:21 +09:00
Carsten Haitzler 8c9adcb616 efl ui image async locking -fix CID 1356199 - locked data cant be messed with
this addresses a coverity issue that in theory looks right

fix CID 1356199

@fix
2016-07-24 18:44:15 +09:00
Carsten Haitzler 8b20d8dd0d efl ui video - fix coverity CID 1356997
really minor lack of check if emotion init succeeds. check and
complain if it fails.

@fix
2016-07-24 18:44:15 +09:00
Carsten Haitzler 35e39f4145 edje entry - fix coverity CID 1357752
fix potential crash if calloc fails and sel is NULL

@fix
2016-07-24 18:44:15 +09:00
Carsten Haitzler 10f7641dda evas cache2 - fix coverity CID 1357754
@fix
2016-07-24 18:44:15 +09:00
Carsten Haitzler 1c6bb48c11 evas image updates - optimize by over-rendering less with hidden content
so if an img obj had some update regions and was opaque, it didnt del
an update region first before adding the updates, thus possibly
letting update regions pass through the opaque image area

@fix
2016-07-24 18:44:15 +09:00
Thiep Ha b72214ab03 elementary: change cursor types for cocoa
Map more cursor types for cocoa.
Fix T3352
2016-07-22 13:27:22 +09:00
Marcel Hollerbach 348f6b428a ecore_wl2: be compatible with x input
This commit introduces a new state per input, this state is just for the
keymap and no modifieres, the state is used to get the keysym from a
keycode. This is done to stay compatible with x since keyname in efl is
the characters which are describing the key which is pressed, without
the transformation of shift etc.

This also escapes keycodes from beeing a utf8 character, and passes out
a keyname instead of the utf8 symbol.

fix T3976
fix T4184
2016-07-21 22:10:54 +02:00
Mike Blumenkrantz 80f91290c0 elm_win: move window contents back to 0,0 when deleting frame object
fix T4092
2016-07-21 13:51:16 -04:00
Mike Blumenkrantz 9b11b227a3 elm_win: simplify borderless_set when reapplying the same state 2016-07-21 13:51:16 -04:00
Chris Michael ce2160ab5d elementary: Remove logically dead code
In all code paths leading to this goto statement being called,
'iter_array' variable will already be NULL, so checking it's validity
is just logically dead code.

Fixes Coverity CID1357392

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-21 13:21:25 -04:00
Chris Michael 4309050fec elput: Use proper variable type
The 'getenv' function returns char * ... not a const char *, so adjust
variable type to match

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-21 13:18:57 -04:00
Chris Michael 89234ce6bc eina: Fix null pointer derefernce
Coverity reports that eina_safepointer_get returns a NULL promise here
(checked 20 out of 21 times). As eina_safepointer_get can return NULL,
we should check the validity of 'promise' here before trying to
derefernce it later.

Fixes Coverity CID1356625

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-21 13:07:26 -04:00
Chris Michael a89186069e elementary: Remove logically dead code
Coverity reports that this is logically dead code. As we check the
validity of 'model' above this function, then testing 'model' for
validity again in this expression is just logically dead.

Fixes Coverity CID1356617

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-21 12:58:03 -04:00
Chris Michael 30ab0a89be elementary: Remove logically dead code
Coverity reports that this is logically dead code. As eo_item has been
dereferenced on all paths leading here, and it is also set above, then
it cannot be NULL at this point, thus this check is logically dead.

Fixes Covierty CID1355585

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-21 12:53:13 -04:00
Chris Michael fb09df7977 eldbus: Check return value and error out if necessary
Coverity reports that we do not check the return value of
_eldbus_model_proxy_load here. We likely should be checking that in
case the model proxy fails to load so we can return proper values here.

Fixes Coverity CID1355233

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-21 12:50:19 -04:00
Chris Michael 4555f5d594 edje: Fix unchecked return value
Coverity reports that we call _circular_dependency_find here without
checking the return value

Fixes Coverity CID1349867

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-21 12:29:35 -04:00
Chris Michael 3bc6e30d63 evas: Fix missing breaks in switch
Coverity reports that we are missing breaks in the switch blocks here,
so add missing breaks.

Fixes Coverity CID1347413 and CID1347414

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-21 12:25:02 -04:00
Jean-Philippe Andre 6a559a6fff eo: Prevent eo_override to be called on an already overridden object
I don't see the point of it but can't be bothered to argue.
For Tom.
2016-07-21 13:49:37 +09:00
Mike Blumenkrantz fad8e90f5e Revert "elementary: Make wl frame borders above content"
This reverts commit 46904e19a7.

this breaks stacking entirely and prevents a large number of widgets from
ever becoming visible
2016-07-20 12:02:42 -04:00
Carsten Haitzler b07b40cf4a elm flip - make it not crash and interactive mode work again
elm flip has been broken for a while - interactive mode was broken and
it was causing crashes. this fixes that.

@fix
2016-07-20 14:24:23 +09:00
Carsten Haitzler 0e5d9980b2 evas image updates - reduce overhead with bordered images not scaled
this fixes over-rendering (where we render the whole image) if it has
a border set. do proper region updates if the image has a border but
is not scaled and the fill is at 0 0 and sams size as the object etc.
etc. so this is simple and doable.

this fixes T4123
2016-07-20 13:13:41 +09:00
Carsten Haitzler ba5e3ec2fb evas objkect image - make opaque rect getting code more readable
this just makes it more obvious where its handling the opaque middle
fill case.  see T4123 - i was just reding the code and this seemingly
does the right thing.
2016-07-20 11:34:01 +09:00
Mike Blumenkrantz adbdc335d9 elm_win: handle elm,action,menu signal for wl clients
trigger the xdg-shell method for this when the signal is received

fix T3460
2016-07-19 14:15:15 -04:00
Mike Blumenkrantz d335617941 elm_win: simplify opaque region updating during fullscreening
already handled during _elm_win_frame_del
2016-07-19 13:23:40 -04:00
Mike Blumenkrantz f368a720a9 elm_win: update opaque region when frame is deleted
fix T4092
2016-07-19 13:23:40 -04:00
Daniel Kolesa 0d126eab35 elua: enable module lookups in apps location
This will allow for better organization of the docgen script.
2016-07-19 16:19:42 +01:00
Stefan Schmidt 7d443f30e2 ecore_wl2: dnd: fix leak of event resource when not used
In the else branch the allocated event is never used. Make sure we free the
resource before returning.

CID: 1357753
2016-07-19 14:52:28 +02:00
Chris Michael 1c832a1b12 Revert "elementary: Fix issue of toggling border state causing visual jumps"
This reverts commit fb24955782.

While this patch did fix the issue of toggling window Borderless state
in EFl-Wl client applications, it is "Enlightenment's" stance that it
will not change to match this fix, so this has to be reverted else
internal E dialogs show up with no border (due to them using SSD).

This is going to re-open T4092 sadly :( and now leave that bug with no
possible fix.

ref T4092

Fixes T4126

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-19 08:17:00 -04:00
Daniel Hirt 979338978a Ui text: remove unused variables 2016-07-19 14:08:48 +00:00
Jean-Philippe Andre 2c7f9481ed textblock: Prevent crash in evas_object_textblock_cursor_new(NULL)
This happened in expedite
2016-07-19 18:32:32 +09:00
Jean-Philippe Andre 3029227fa1 eo: Change eo_override to avoid struct passing and GCC construct
This is a (minor) API & ABI break in Eo.h!

I say minor as eo_override shouldn't be used yet (EO is unstable
and this patch includes all the use cases in EFL).

I'm not very happy about the new form of the macro, but it avoids
two things:
- passing in a struct (valid in C, but never used in EFL)
- using a GCC construct to create structs on the fly

It was inspired by the event array define, but I don't think
we need the runtime memcpy here.

See also:
https://gcc.gnu.org/onlinedocs/gcc/Compound-Literals.html
2016-07-19 17:55:07 +09:00
Jean-Philippe Andre a9d4d7e836 drm2: Fix shadow variable
int ret is not even needed here.
2016-07-19 17:55:07 +09:00
Carsten Haitzler d143becfe1 edje lang set - fix coverity harmless complaint
fix CID 1357755
2016-07-19 16:41:06 +09:00
Jean-Philippe Andre d5166657e2 efl: Add support for efl_event_flags() to hold events
This fixes the following ERR message:
ERR<30400>:eo /home/jpeg/e/core/efl/src/lib/eo/eo.c:462 _eo_call_resolve()
 in ../src/lib/evas/canvas/efl_event_input.eo.c:3: func 'efl_event_flags_get'
 (1483) could not be resolved for class 'Efl_Event_Hold'.

This is an EO-API only fix.
2016-07-19 16:12:05 +09:00
Jean-Philippe Andre 0e6b6c4828 efl: Hold event (EO API) should implement instance_get
This fixes the following ERR:

ERR<23969>:eo /home/jpeg/e/core/efl/src/lib/eo/eo.c:462
  _eo_call_resolve() in ../src/lib/efl/interfaces/efl_event.eo.c:5:
  func 'efl_event_instance_get' (1479) could not be resolved for class 'Efl_Event_Hold'.
2016-07-19 16:12:05 +09:00
Carsten Haitzler ac10a00acc evas - on shutdown avoid potential invalid memory access
i don't know for sure if this fixes T4103 but in theory i think it
might given a reading of the backtrace and a guess at what might
happen, so try this fix. it doesn't hurt and can only help.

@fix
2016-07-19 15:43:22 +09:00
Carsten Haitzler ad1bfac960 eina rbtree iterator - fix leak found while debugging other problems
there was a leak of elements on  the itrator stack when the stack was
flushed still having some items on it, thus losing their pointers and
never freeing them.

@fix
2016-07-19 15:43:22 +09:00
Jean-Philippe Andre 38a32e98fb evas: Avoid proxy subrender if size is 0
See also D4159. This is an alternative to the proposed patch.

Fixes T3949 (I hope!)
2016-07-19 14:43:33 +09:00
Al Poole 8e7253996e ecore_con: fix lookup of libcurl on OpenBSD.
@fix T4130

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-07-18 11:22:28 -07:00
perepelits.m 77afcb596d edje: fix definition of viewport in edje-3d
We now use eo_do() and EFL_CANVAS_SCENE3D_CLASS macro to create viewport

Reviewers: raster, Hermet, cedric

Subscribers: jpeg, artem.popov

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-07-18 10:42:59 -07:00
Jean-Philippe Andre d2fcfafb46 win: Set window alpha when changing theme
This sets the window alpha back to 0 when switching from a theme
with alpha to one without. Thanks @bu5hm4n for asking about this.
2016-07-18 18:11:37 +09:00
Jean-Philippe Andre cae939e208 eo: Fix leak in eo_override and allow NULL to reset
eo_override would leak the vtable if called multiple times, this
fixes that. Also, it is now possible to revert back to the original
class' vtable by passing in { NULL, 0 }

I believe it is thus possible to incrementally override more
functions on an object. Absolutely not recommended, but should work.
But it is not possible to selectively revert back to the original
class implementation on a single method. Use eo_super for that,
or revert back the entire object overrides.

PS: Is it normal that we pass in a struct? We never do that in EFL...
2016-07-18 17:55:58 +09:00
Jean-Philippe Andre f18747e6dd Evas GL: Use [u]int64_t directly in all APIs
This removes the need for khronos_[u]int64_t as well as the special
typdef EvasGL[u]int64.

Hopefully this should work on all platforms (note: [u]int64_t is
used in Eina APIs, so it is already required for EFL apps).

Fixes T3200
2016-07-18 15:09:19 +09:00
Jean-Philippe Andre 5faf536f51 evas: Also fix was_opaque for rect & image
I believe the function is not used, so it doesn't really
matter.
2016-07-18 13:54:27 +09:00
Jean-Philippe Andre e1ff000704 evas: Some more opacity check fixes
This should fix T3309

Snapshot objects are image objects, so the function is_opaque
exists. No need to bypass it. Also, alpha rectangles are not
opaque. Assume that anything with a filter is not opaque.

All of this fixes T3309 but the main point was on snapshot
objects (probably because the only point of a snapshot is
to apply a filter on it).
2016-07-18 13:38:05 +09:00
Jean-Philippe Andre 9248d3a5ac evas: Fix cutout regions with transparent images
This should fix rendering issues with E theme and
transparent borders.

Fixes T3309
2016-07-18 11:57:38 +09:00
Jean-Philippe Andre f13b0a4d5f win: Set proper flag when EDC specifies win "alpha" 2016-07-18 10:51:51 +09:00
Marcel Hollerbach cfaf332468 elementary: only call ecore_wl2 if wayland is enabled
fix T4125
2016-07-16 13:19:05 +02:00
Cedric Bail 57226d86ff eio: handle failure due to lack of access right. 2016-07-15 17:07:49 -07:00
Cedric Bail adff89dfc0 eio: make it possible to force fallback monitor for testing purpose. 2016-07-15 17:07:49 -07:00
Cedric Bail e93d6f90db eio: avoid access after death of eio handler due to inotify triggering IN_IGNORED event. 2016-07-15 17:07:49 -07:00
Cedric Bail bf369ba661 eio: cleanup thread pointer on thread finish. 2016-07-15 17:07:49 -07:00
Chris Michael fb24955782 elementary: Fix issue of toggling border state causing visual jumps
This commit partially fixes a phab ticket where toggling window border
state (elm_test -to "Window States") would cause the frame to be
destroyed thus making the window contents appear to jump around

ref T4092

NB: I call this a 'partial' fix because while it does fix the issue of
efl client apps, there is still some breakage in Enlightenment that
needs investigating.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-15 15:35:23 -04:00
Derek Foreman 55c59d3c40 ecore_drm2: Allow enabling outputs in drm events
Previously a drm event could create a new output or disconnect an output,
but could not re-enable an existing output.

This results in failure to properly wake from screen blanker.
2016-07-15 12:15:09 -05:00
Jee-Yong Um 5a3c015e9e edje: add required attribute in Edje_Part
Summary:
When using EDC written by another person, developer usually
does not need to know all specified parts in EDC but editable
like swallow, text or textblock parts.
The required flag tells whether the part is intended to be used outside EDC.

Reviewers: jpeg, cedric, raster, Hermet

Reviewed By: jpeg, raster

Subscribers: raster, NikaWhite, kimcinoo, jpeg

Differential Revision: https://phab.enlightenment.org/D3579
2016-07-15 16:34:34 +09:00
Derek Foreman f8e07c4d7c ecore_drm2: Try to mmap gbm buffers
We're currently doing screenshots in E under wayland by copying data
out of the framebuffer, mmaping gbm buffers makes screenshots work
again when rendering with GL.
2016-07-14 16:25:05 -05:00
Tom Hacohen 8c6effae8e Evas font: Fix width query for OpenType fonts. (rewrite)
This is essentially a cleaner redo of ef817f15f0.
Logic should be exactly the same as there, the different is that this
one shares the code between OT and non OT.

Please refer to that commit for more information.
2016-07-14 17:32:01 +01:00
Tom Hacohen 281043e357 Revert "Evas font: fix width query for OT"
This was not done correctly. This split the code, which is essentially
the same for both OT and non OT. It's the same logic with some minor
additions for OT, so most of the code should be together.

This reverts commit ef817f15f0.
2016-07-14 17:24:38 +01:00
Marcel Hollerbach d2926f74ff elm_cnp: use defined charset before falling back to default
the chance is very high that some glyphs are not fitting into the
default (US-ASCII) so better falling back here on specified utf8.

@ref T3972
2016-07-14 13:58:26 +02:00
Daniel Hirt ef817f15f0 Evas font: fix width query for OT
Fixes T4068.
Simply querying the last glyph to determine the width of the glyph sequence
won't always work, as OT can have negative offsets (adjusts the placement of a
specific glyph better).

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

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

@fix
2016-07-14 12:22:44 +00:00
Carsten Haitzler b1f2c335e6 evas headers - remove duplicate declarations of the same function
this should fix T3027
2016-07-14 13:32:13 +09:00
Hermet Park c54cd41316 elementary tooltip: --printf 2016-07-14 12:10:09 +09:00
Carsten Haitzler 04c6313114 ecore - add more ecore main loop checks that were missing in some places
so 1 ecore_exe func was missing a main loop check... just to be sure.
2016-07-14 08:55:03 +09:00
Carsten Haitzler 4bbe5ee058 eina thread create - use pthread_sigmask as this can be called from thread
@fix
2016-07-14 08:39:31 +09:00
Sungtaek Hong cebbf43881 elm_colorselector: selected item is updated when color is changed.
Summary:
 - Previously, mode change, color change updated
   sd->selected, but did not send signals to edje of the item.
 - Also, mode change in colorselector set sd->selected to
   the first item even when palette is visible in previous mode.
 - Now, when mode is changed, sd->selected is set NULL and send
   unselected signal if palette is invisible, and keep sd->selected
   if palette is visible.
 - sd->selected is set NULL when color is changed in picker and
   color bars because previous selected item is not current color of
   colorselector

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

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

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

Reviewers: woohyun, Hermet, jpeg, cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-07-13 16:07:15 -07:00
Cedric BAIL 03915fc07b elementary: switch code accordingly to use new ref version. 2016-07-13 16:06:30 -07:00
Cedric BAIL d85c07e4a7 eo: rationalize naming to follow other use of ref and wref in our API. 2016-07-13 16:05:58 -07:00
Cedric BAIL fd5d31696d ecore: early destruction of animator allow for tick end to always be triggered.
T4043
2016-07-13 15:32:15 -07:00
Chris Michael 46904e19a7 elementary: Make wl frame borders above content
This commit just readds the layer setting code which made the frame
border be above content. This does make sense in some contexts

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-13 15:13:17 -04:00
Marcel Hollerbach 67917c27fe ecore_wl2: clear out read_data and len
they are passed to the event struct, and later freed in there.
2016-07-13 17:52:46 +02:00
Marcel Hollerbach a393a90ccc ethumb: tell the user if the connection to the deamon failed
otherwise the user just gets no thumbnails, and no error message what
actually happened.
2016-07-13 17:52:46 +02:00
Chris Michael 2437d53278 elput: Cleanup erroneous errors when trying to get output name
When we make calls to get an Input device's output name, if the device
does not have an output name it's not actually an error so just return
NULL with less noise

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-13 11:41:09 -04:00
Chris Michael 0e4b9afeb0 elementary: Fix issue of minimum resizing in wayland
This patch fixes an issue where if you tried to resize a window to
it's minimum size, the contents of the window would draw outside the
window frame. Basically, when we are setting min/max size hints to the
window object we need to account for framespace.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-13 09:40:22 -04:00
Ivan Furs 4387f34b54 [Bug] EFL memory leak on Windows(handler continuously increasing)
Summary:
Fix: event need to clese  when create event:
  event = WSACreateEvent();

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

Reviewed By: raster

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

Differential Revision: https://phab.enlightenment.org/D4157
2016-07-13 21:01:50 +09:00
Carsten Haitzler 7fda68dc47 elm tooltips - fix positioning and more to be sane and have less bugs
the tooltip geometry code was extra complex and iffy with certain
situations. this cleans it up and also fixes the below bug

this fixes T3980

@fix
2016-07-13 18:38:53 +09:00
Jean-Philippe Andre 4d9de121d1 eina_safepointer: Fix coverity warning
I guess the overflow was badly handled. Fixing it by using
explicit int intermediate value.

Fixes CID 1356616 and 1356619:

Operands don't affect result
Logically dead code
2016-07-13 16:25:01 +09:00
Jean-Philippe Andre 9cf72fe80a gfx: Add NULL check to silence coverity
realloc() can return NULL if size is 0. It's like free().
So, the usage here is correct, and there are probably no
points to interpolate between anyway. I wonder if there
can be commands without points, though.

Fixes CID 1293004
2016-07-13 16:18:54 +09:00
Jean-Philippe Andre 1b6825d3fe edje: Fix coverity warning
CID 1355234 Logically dead code

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

Solution: use explicit range within valid values with <= and >=
rather than excluded values with > and <
2016-07-13 15:44:58 +09:00
Jean-Philippe Andre cdc8d15a5c edje: Add missing 'break' in edje_embryo switch
Fixes CID: 1352521 1352522 1352523 1352524 1352525

See 4ed9b8325
2016-07-13 15:34:17 +09:00
Chris Michael e0ed943936 elementary: Properly swallow wayland clients
This patch fixes an issue where wayland windows would not swallow
clients properly. Basically, we should be swallowing the elm window
layout directly rather than use a rectangle (as was previous). This
commit also waits until the internal elm theme has been applied to the
sd->edje object before adding the wayland window frame.

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

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-12 09:44:14 -04:00
Tom Hacohen fdc0eef770 Eo add ref: Fix a bug causing leaks and wrong refcount in some cases.
When using eo_add_ref, it was increasing the refcount before the user
context in the addition has fully ended. This means the object had its
reference increased while still not finalized, which means it was
sometimes passed with an increased refcount to unsuspecting class code.
The correct behaviour is to increase the reference count just before
returning the object to the user at the end of eo_add so the reference
count is only increased for whoever asked for it.

Breaks ABI!

@fix
2016-07-12 11:09:40 +01:00
Tom Hacohen a5eb66edd4 Eo refcount: Split the refcount to private and public (user).
This commit changes the way refcount is dealt with internally. Before
this commit, there was one refcount shared between Eo internals and
users. Now there is a refcount for eo operations (like for example,
function calls) and one for user refcount (eo_ref).

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

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

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

@feature
2016-07-12 11:09:40 +01:00
Carsten Haitzler 9f2ba9834e elm config - fix previous commit missing strdup
oops - accidentally removed the strcpy. fix
2016-07-12 18:23:12 +09:00
Carsten Haitzler 1ec9ee2a92 elm config - use eina_str_tolower not tolower from libc 2016-07-12 18:20:34 +09:00
Carsten Haitzler 2936834d31 elementary - fix focus switching again after break
this fixes T4053

this was due to everal widgets haveing changed their class names and
are using the new names for mapping to keybinding config that used
legacy names to match binding to widget.
2016-07-12 18:06:13 +09:00
Daniel Hirt a7cb1eb502 Ui text: track changes made in text object
This is required when a user uses the Efl.Canvas.Text API to change the content.
2016-07-12 11:01:45 +00:00
Daniel Hirt f9deaa9be9 Canvas text: add "changed" event
We need to keep track on changes of content.
2016-07-12 11:01:45 +00:00
Daniel Hirt 0c38846e33 Canvas text: fix annotation set
The cursor position was not set correctly to the respective fnode, causing
annotation to not be applied correctly with text that has more than one
paragraph.
2016-07-12 11:01:45 +00:00
Daniel Hirt 113f828b3c Ui text: bring back selection handlers support 2016-07-12 11:01:45 +00:00
Daniel Hirt fe69830261 Ui text: cleanup some port leftovers 2016-07-12 11:01:45 +00:00
Daniel Hirt 491b323d06 Ui text: instantiate canvas text obj before smart_add 2016-07-12 11:01:45 +00:00
Daniel Hirt 51e4ec2d5c Ui text: bring back some atspi support 2016-07-12 11:01:45 +00:00
Daniel Hirt 420d9373cf Ui text: cleanup ifdef 2016-07-12 11:01:45 +00:00
Daniel Hirt 2bc943d3bb Ui text: make scroller work 2016-07-12 11:01:45 +00:00
Daniel Hirt 1032198946 Ui text: use the right clip 2016-07-12 11:01:45 +00:00
Daniel Hirt 7ff05af885 Ui text: don't null-check for free() 2016-07-12 11:01:45 +00:00
Daniel Hirt dac18347c4 Ui text: remove old edje callbacks 2016-07-12 11:01:45 +00:00
Subodh Kumar e0251ad46f Edje entry: Do not update anchors outside viewport.
Summary:
Do not update anchors outside viewport.

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

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

Reviewers: tasn, raster, herdsman

Subscribers: thiepha, raster, cedric, jpeg

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D3543
2016-07-12 10:50:53 +00:00
Shinwoo Kim c52eda0bf1 edje: the repeat_events property of swallowed object probably should follow the repeat_events property of swallow part object
Summary: Need discussion about the repeat_events property

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

Reviewers: Hermet, cedric, raster, jpeg

Reviewed By: raster, jpeg

Subscribers: jaehwan, seoz, woohyun

Differential Revision: https://phab.enlightenment.org/D3580
2016-07-12 10:53:32 +09:00
Youngbok Shin 982ef0b9d0 Edje calc: Fix Evas Text width calculation with ellipsis
Summary:
To keep consistency with Evas Textblock part in edje,
text.min has to work logically even if ellipsis is enabled.
If a Text part has minimum width, maximum width and "text.min: 1 X;",
Text part should be expanded until its width reaches to the maximum width.
Then, ellipsis will work. Singleline Textblock is also working like this.
@fix

Reviewers: cedric, herdsman, raster, tasn

Subscribers: Blackmole, z-wony, jpeg

Differential Revision: https://phab.enlightenment.org/D3587
2016-07-12 10:48:17 +09:00
Chris Michael 5fc4b971dc ecore-wl2: Fix issue of misleading 'if' statement
Gcc reports that this 'if' statement is misleading due to indentation.
We should only be sending the 'finish' call if the dnd version
supports it, however we should always be sending 'destroy'

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-11 11:56:17 -04:00
Chris Michael ce9379398f edje: Fix issue of null pointer dereference
Coverity reports that 'text' here is a null pointer dereference so
check for valid 'text' variable before trying to use it.

Fixes Coverity CID1267490

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-11 11:20:23 -04:00
Daniel Hirt 0c23985626 Canvas text: fix corner case in range geometry calc
The trivial case of [pos,pos] (i.e. range of length 0) didn't work if there is a
format item in 'pos'.
The condition was fixed to not include such items. The reason it was not
apparent for text items is that these have further handling in the rest of the
code and would've been disposed of.

@fix
2016-07-11 16:39:51 +00:00
Prince Kumar Dubey 8fbb6dbbbb If there is situation when server is closed prior to client, the client pointer pointing to server must be reset and check must be there during client deletion
Summary: During mobile product testing, we got a crash with callstack which suggest server is getting deleted prior to client. On valgrind analysis we found invalid write operation with same callstack. callstack is pasted in comment section.

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

Reviewers: raster, cedric

Subscribers: govi, rajeshps, jpeg

Differential Revision: https://phab.enlightenment.org/D4152
2016-07-11 22:29:04 +09:00
Carsten Haitzler 52f752f73d evas render2 region - handle if src region is empty correctly on add
fix coverity CID 1313542
2016-07-11 22:16:06 +09:00
Carsten Haitzler 485074df3a evas engine cache - drop useless iff that assert already checked
CID 1267465 pointed this out - assert(eim) already checked this so no
need to do it again - looks confusing
2016-07-11 22:09:12 +09:00
Carsten Haitzler 2b413d3f87 evas cache - avoid possible deref of null pointer
this fixes CID 1267472
2016-07-11 22:06:16 +09:00
Carsten Haitzler 2d003e2503 ecore pipe - fix close of pipe that doesnt set fd to invalid
this should fix CID 1267459
2016-07-11 22:02:45 +09:00
Carsten Haitzler 679af3271f eet - fix possible integer overflow in ptr diff on parse
coverity spotted this - with silly long strings (like 1gb in size or+)
it might happen. fix CID 1256196
2016-07-11 21:54:57 +09:00
Carsten Haitzler 98a02fc17c evas scale cache - address possible coverity deadlock
this should fix CID 1106338  where we don't lock and unlock caches in
the same order.
2016-07-11 21:45:39 +09:00
Carsten Haitzler 1e6375cbe3 ecore x xrandr - fix possible divide by zero
fixes CID 1039437 , 1039438
2016-07-11 21:17:39 +09:00
Carsten Haitzler aa11fef218 evas object freeing - fix missing null check for layer
fix CID 1039409
2016-07-11 21:14:51 +09:00
Subodh Kumar 4aa0590ebd Edje entry: Add link press effect
Summary:
Add link press effect

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

Reviewers: tasn

Subscribers: shilpasingh, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3629
2016-07-11 18:26:29 +09:00
Marcel Hollerbach 38554b652a elput: check for a special return value
sd_pid_get_session returns ENODATA or ENXIO if it was unable to fetch
the session data for the given pid, reason for that is mostly that the
pid is not running is a session. Adding this as the error value can help
the user debugging the problem without the need of gdb´ing into the
function and checking the return value.
2016-07-11 11:02:52 +02:00
Marcel Hollerbach f0325fc190 ecore_wl2: Make offer destroy more secure
Check if it is NULL and NULL after each destroy call
2016-07-11 11:02:52 +02:00
Marcel Hollerbach 75bb8060b3 ecore_wl2: split of cnp_selection_data_ready and
dnd_selection_data_ready

before there was the case that both handlers are called even if just dnd
data arrived.
2016-07-11 11:02:52 +02:00
Marcel Hollerbach 63e88bdcfa ecore_wl2: only destroy source when not needed anymore.
Otherwise we are destroying the source before getting dnd_finished or
cancled events, which is a problem.
2016-07-11 11:02:52 +02:00
Marcel Hollerbach c300678391 ecore_wl2: buffer reading of the data
Otherwise callbacks can go out even if the selection data is not ready
to read.
2016-07-11 11:02:52 +02:00
Marcel Hollerbach cf5a79ea60 ecore_wl2: delay the destruction of the offer or do it in the read 2016-07-11 11:02:52 +02:00
Youngbok Shin 64e0dc341d Evas textblock: Apply scale factor to <linesize>, <linegap> formats
Summary:
Font size is scaled according to scale factor.
The linesize, linegap formats also have to be scaled properly.
@fix

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

Reviewers: woohyun, Jieun, tasn, herdsman

Reviewed By: tasn

Subscribers: raster, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3688
2016-07-11 17:57:40 +09:00
Carsten Haitzler 743880a175 elm main - fix indentation whitespace since iw as the last to touch it 2016-07-11 17:35:25 +09:00
Youngbok Shin df40586f65 Edje entry: Skip codes for updating cursor when cursor position is not changed
Summary:
When ever a Edje's cursor function is called, "cursor,changed" signal is
emitted. Even if the position is not changed. And, in Elementary, the signal
will trigger evas_smart_objects_calculate() from elm_widget_show_region_set().
It causes bad performace.
@fix

Test Plan: N/A

Reviewers: tasn, herdsman, cedric, woohyun

Subscribers: jpeg, z-wony, Blackmole

Differential Revision: https://phab.enlightenment.org/D3902
2016-07-11 17:09:36 +09:00
Minwoo, Lee d22850848d Evas Text: Fix width of BiDi text
Summary:
BiDi text is truncated because the way we find the last visual item in text object is wrong.
This patch is similar with _line_native_last_visual_get function in textblock.

Reviewers: cedric, tasn, herdsman

Subscribers: id213sin, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3947
2016-07-11 16:26:19 +09:00
Jiwon Kim 5e2b1dde68 elm_calendar: provides way for configuration of weekend text color
Summary:
Suggest new mark_type for elm_calendar_mark_add().
The mark names are "weekend/day1", "weekend/day2".
It can be used for each country.
Some country can apply to "weekend/day2" to friday if day rest only a day for a week.
Until now, there is no way to separate holiday, saturday and sunday.

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

Reviewers: CHAN, cedric, raster

Reviewed By: raster

Subscribers: raster, akanad, id213sin, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4148
2016-07-11 16:10:35 +09:00
Benjamin Jacobs e03d4142ef ecore_x: NULL derefs.
Reviewers: raster, devilhorns

Subscribers: raster, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4018
2016-07-11 14:20:00 +09:00
Carsten Haitzler 899d2d957a edje - language emit - handle null language and convert to none
cleans up an emit string being edje,language,(null) if no language is
set. use none instead of (null).
2016-07-11 13:46:21 +09:00
Youngbok Shin 8e93b88175 edje: update a style when a style is added as class's member
Summary:
If there is no member styles when a text_class is updated,
newly added styles can't be updated.
So, newly added styles as member of text_class should be updated.
@fix

Test Plan:
Test case is included.

1. Run "elementary_test -to "font overlay""
2. Press Next button. Check the font size.
3. Press Prev button.
4. Put font_size as 50
5. Click Apply button.
6. Press Next button. Check the font size is not changed.

Reviewers: cedric, tasn, herdsman, raster

Subscribers: jpeg, z-wony, Blackmole

Differential Revision: https://phab.enlightenment.org/D4125
2016-07-11 13:13:39 +09:00
Shilpa Singh 5b791420ea Accessibility: Read pre-edit text.
Summary:
Edje_entry:  In order to read pre-edit characters as well,
send entry_change_info with preedit,changed
Elm_entry: In order to read pre-edit characters as well,
send text to screen reader on preedit,changed.

Test Plan:
1. Change keyboard language to korean/enable prediction
2. Check the reading, text should be read even before committing

Signed-off-by: Shilpa Singh <shilpa.singh@samsung.com>

Reviewers: thiepha, jihoon, cedric, raster

Reviewed By: raster

Subscribers: raster, kimcinoo, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4145
2016-07-11 10:36:39 +09:00
Carsten Haitzler de9277460a elm view list - fix allocation of werong type size
the code allocated a much bigger data struct than needed. it used the
wrong sizeof() type. this fixes CID 1355013
2016-07-09 12:23:06 +09:00
Carsten Haitzler 116993504a edje edit - api was broken with incorrect l r t b ordering for border
this fixes ordering to match everywhere else ANd usage of the get
func. this was broken already where top/bottom border would swap -
plese see coverity scan CID 1355590 for an example of problems this
created.
2016-07-09 12:17:46 +09:00
Carsten Haitzler f6d8ae3123 ecore animator - remove dead code
fix CID 1356618
2016-07-09 12:09:41 +09:00
Carsten Haitzler 3990032330 evas textblock - fix deref before null check shown by coverity
fixes CID 1356927
2016-07-09 12:07:10 +09:00
Carsten Haitzler 9c80c2b070 elput - simplify and fix handling of string overflow with xdg runtimedir
this addresses an issue pointed to by CID 1357168
2016-07-09 12:01:51 +09:00
Carsten Haitzler 870c81fd72 elput - remove pointless code in handling touch event
i commented the pointless code out. this fixes CID 1357145
2016-07-09 11:57:30 +09:00
Carsten Haitzler 891ae89d16 elm atspi bridge - fix resource leak
previous fix brought out a new leak not found before by coverity.

fix CID 1353602
2016-07-09 11:49:59 +09:00
Cedric Bail 1be63c1b66 edje: fix build without ephysics.
T4050
2016-07-08 14:16:39 -07:00
Jee-Yong Um 399bb5a0ba edje: add a helper for recursive searching in hash
Summary:
If color class of an edje part is defined as "aaa/bbb/ccc/ddd",
edje will search for color class by the following sequence.
   "aaa/bbb/ccc/ddd"
   "aaa/bbb/ddd"
   "aaa/ddd"
   "ddd"
So, without additional lookup table, edje classes (color, text, size)
can have the functionality like inheritance.

Reviewers: jpeg, raster, cedric

Subscribers: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-07-08 10:50:20 -07:00
perepelits.m 52df6171e9 edje_player: create scene in the edje_player if there are some 3D-components
Summary: check if the size of scene is bigger than 0x0 and build 3D scene in the edje_player in this case and use "opengl_x11"

Reviewers: Hermet, jpeg, cedric

Subscribers: NikaWhite, Oleksander, artem.popov, cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-07-08 10:49:49 -07:00
Chris Michael cb2ab38421 elput: Fix horrid typo
Not sure how this happened, but use a ; not a : ;)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-08 08:54:45 -04:00
Chris Michael ee72059219 elput: Fix insecure temporary file
Fix using mkstemp directly without securely setting umask first by
making use of eina_file_mkstemp which does set unmask.

Fixes Coverity CID1357165

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-08 08:51:54 -04:00
Wonki Kim 19b2915863 elm: Fix potential null point dereferences.
Summary:
If every assigning logics to enginelist is not performed some how,
system will crash because the first parameter of strcmp is null.

Test Plan: N/A

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, Hermet, raster, jpeg

Differential Revision: https://phab.enlightenment.org/D4149
2016-07-08 21:28:18 +09:00
Hermet Park 9873358f68 edje: fix the map state issue.
While the part state switching, map won't gonna be disabled again,
due to the incorrect state checking.

If there param1 indicates the current state with map off.
then it should disable the map obviously.
But It assumed the param1 is the previous state, not the current!,
so the map didn't go disabled state.

It was intended to avoid the duplicated map state setting.
So to keeping the intention, now it disable the map, only if
the map is actually enabled.

So both are fine.

@fix
2016-07-08 21:22:44 +09:00
Carsten Haitzler 25c63f726e eina thread - fix window build with sigprocmask
fixes T4048
2016-07-08 21:11:21 +09:00
Chris Michael 5a482e9af4 ecore-drm2: Perform input device calibration based on output name
When a new input device gets added, device calibration may need to be
performed. In order for that to be done properly, we need to know
which output this input device is associated with. This patch makes a
function call to Elput in order to retrieve that output name and
perform the proper calibration.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-08 08:05:20 -04:00
Chris Michael e0cde40475 elput: Add API function to return output name associated with input
device

This patch adds a new API function which we can call from Ecore_Drm2
which will return the name of an output which is associated with a
given input device. This output name can then be used to find a
matching output, and perform any device calibration that is needed.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-08 08:05:14 -04:00
Carsten Haitzler 46b97aba78 evas module load - make coverity happy but not a bug
silence CID 1357364
2016-07-08 18:59:21 +09:00
Carsten Haitzler e3b6b74aa6 eio model - fix leak found by coverity
fix CID 1355012
2016-07-08 18:15:05 +09:00
Carsten Haitzler f4568beab6 ecotr gl - fix leak found by coverity
fix CID 1347412
2016-07-08 17:08:37 +09:00
Carsten Haitzler eb4ee72a23 elm map - fix coverity found leak in xml parsing
fix CID 1352814
2016-07-08 17:00:48 +09:00
Carsten Haitzler 9b05497d3c elm map - fix mem leak in xml parsing found by coverity
fix CID 1352815
2016-07-08 16:59:27 +09:00
Carsten Haitzler 1ff099a539 atspi bridge - fix leak on error found by coverity
fix CID 1353602
2016-07-08 16:00:29 +09:00
Carsten Haitzler bb34df4b47 atspi bridge - fix leak on error found by coverity
fix CID 1353604
2016-07-08 16:00:29 +09:00
Carsten Haitzler bfbb7b15f2 edje edit - fix leaks spotted by coverity
fixes CID 1356630
2016-07-08 16:00:29 +09:00
Carsten Haitzler 4bc6ba4ff0 elm cnp - wl - fix memory leak
fix memory leak specified in CID 1357160 , 1357159 , 1357158 , 1357157
2016-07-08 16:00:29 +09:00
Jean-Philippe Andre 85d45ee9b1 elm: Fix cnp crash on WL
See D4144.

Original author: @slotus.lee

SEG_FAULT happens when the object which has selection is deleted,
and new selection is done at another object.
Reason: loss_cb is not removed when the object which has selection is deleted.
When new selection is set for new object, the loss_cb is called for deleted
object. As result, SEG_FAULT happens.
This issue was also happened in X11 (https://phab.enlightenment.org/D2763)

Test plan:
(on wayland environment) Run elementary test, open Entry, do selection,
close Entry window, open Entry one more time, do selection.
2016-07-08 14:34:26 +09:00
Jean-Philippe Andre 86dc7e0c87 evas: Fix warning about unused function
I kept it here for the record. It was useful, could be useful
again.
2016-07-08 12:27:29 +09:00
Jean-Philippe Andre 73c96c0136 eo: Fix warnins (return NULL instead of bool) 2016-07-08 12:27:29 +09:00
Jean-Philippe Andre b32a8d3a0f ecore: Fix warning about err_no
Double warning, yay:
 explicitly assigning value of variable of type 'int' to itself
 variable 'err_no' is uninitialized when used here

See 1abbfdd1f7
2016-07-08 12:27:29 +09:00
Carsten Haitzler 1e4b63e885 evas regions in render2 - work around coverity complaints
CID 1352392 is a false positive as the ptr is not dereferenced, but
not making coverity confused it good.
2016-07-08 12:05:08 +09:00
Carsten Haitzler 57e8e662b3 elm view list - just be less obviously a possible bug to coverity
CID 1355014 is a false positive, but it's god to not confuse it too
often. clean up.
2016-07-08 11:54:57 +09:00
Carsten Haitzler 28dc4e64e2 elm conform - fix leak on jproperty change
this fixes CID 1353606

@fix
2016-07-08 11:36:23 +09:00
Carsten Haitzler 1e4c425bea elm layout - fix possible leak
fixes CID 1357365 (new!)
2016-07-08 11:02:41 +09:00
Carsten Haitzler 1abbfdd1f7 ecore - be paranoid about storing errno from select immediately
in theory another libc call could overwrite errno between select
exiting and errno being used for errors. be paranoid. i know of no
real bug that this causes though.
2016-07-08 11:00:55 +09:00
Carsten Haitzler e57084d5c5 evas event handling4- fix more corner cases where bounding is bad
so smart object bounding box wasnt updated properly in several other
cases. fix those other cases too by dirtying bounding box region.

this continues on from:

f6b3c31561
25d77bc1d2
9f0fd66ab8

this fixes T4017

@fix
2016-07-08 10:17:56 +09:00
JEONGHYUN YUN 5ada22613f elm_panes : modified to keep panes content left size after orientation changed
Reviewers: woohyun

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4141
2016-07-08 09:49:51 +09:00
Vitalii Vorobiov 1017b0ceba edje_edit: on save_all firstly save all cached group, then all other
this will fix case when aliased group was changed and alias-group was loaded,
so then on saving alias-group WON'T rewrite all changed to aliased group

@fix
2016-07-07 20:31:01 +03:00
Stefan Schmidt 488dfa3c3e elm: efl_ui_frame: add back last efl_ui_frame_eo.h header
During the rename this header got lost and distcheck broke for me due to
problems when generating the files from eo. I fixed a similar problem after
the rename ro efl_ui_flip in commit c3c344da41

Subhransu, please keep this in mind when renaming another one so I do not have
to do another of these fixes. :)
2016-07-07 12:22:12 +02:00
Carsten Haitzler f8fd74f8d2 eo base - add weak object refs as per jpeg needs
so after some discussion with jpeg, weak referenced keys are also a
good idea. these need del track handling to be weak, so i made strong
reffed keys also do del tracking again as it's just nice to do this
and be more robust. also added and improved the test suites for this
key value stuff.

@feature
2016-07-07 18:41:23 +09:00
Subhransu Mohanty 9be9da17bf edje/svg: added _edje_svg_node_free() function
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4143
2016-07-07 16:29:21 +09:00
Subhransu Mohanty 80413dda8c svg/loader: use stringshare instead of malloc for storing string.
Reviewers: cedric, jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4142
2016-07-07 16:27:17 +09:00
Jean-Philippe Andre 570a398e29 ecore_drm2: Fix mouse pointer when using absolute coords
Running E wl2 in KVM led to the following issue: integrated mouse
pointer would always be stuck at (0,0).

The reason was that calibration would never happen, and it's
required* for absolute pointing devices, such as the qemu mouse
integration.

Fix: Listen to device add and calibrate based on the first
output. No idea if we could calibrate on any other output,
or how this should be done in case of multiple screens.

[*] I believe calibration might actually not be required, as
    the absolute position is already the correct one when
    received from libinput.
2016-07-07 16:15:59 +09:00
Carsten Haitzler f6b3c31561 evas event handling3 - fix yet more corner cases for clipped objects
this is a continuation fix from
25d77bc1d2 and
9f0fd66ab8

this fixes yet more corner cases after the above 2 fixes. our clip
cache tracking code seems to be broken somewhere and not updating - at
least when events are processed so i did ti the slightly slower way
and recursed through clippers to figure it out in this path. it all
works now it seems but it's got a small speed hit. better be right
than a little faster.

@fix
2016-07-07 14:12:22 +09:00
Hermet Park a099b6d2b3 Revert "elm_entry: remove unnecessary text clearing in text_set"
This reverts commit 38db4b4c03.

This changes entry behavior that introduce enventor break.
Can't accept it until that break is reasonable.
2016-07-07 11:15:12 +09:00
Cedric BAIL cdf04241db ecore: on first arguments event notify the needs to initialize the process state. 2016-07-06 15:51:25 -07:00
Cedric BAIL 005375176d evas: fix initialisation and shutdown of eet and eina by mesh loader and saver. 2016-07-06 13:26:15 -07:00
Subhransu Mohanty 522b82b026 edje: fix parsing and and visualizing gradients.
Reviewers: jpeg, cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-07-06 12:55:44 -07:00
Taehyub Kim ddeab76da0 elc_popup: move the code making buttons buffer for readability
Summary:
The code of making buttons buffer is away from related codes.
@fix

Reviewers: Hermet, Jaehyun_Cho, jpeg, raster, cedric

Subscribers: Blackmole

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-07-06 12:50:39 -07:00
Jiwon Kim 50b549faa2 elm_calendar: fix first week is not changed
Summary: @fix

Test Plan:
1. elm_calendar_first_day_of_week_set(cal, ELM_DAY_MONDAY);
2. First week string should be changed to "Mon"

Reviewers: tasn, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-07-06 12:49:45 -07:00
Jiwon Kim 38db4b4c03 elm_entry: remove unnecessary text clearing in text_set
Summary:
When text_set is called for entry, it sets to empty text
before calling _entry_text_append().
but, _entry_text_append() has 'set' parameter.
Therefore text is set in that function, and clearing is not needed.

It can fix "changed" smart callback is invoked multipe times
when a short text is set to entry.

In addition, if text length is larger than ELM_ENTRY_CHUNK_SIZE,
set text directly as amount of chunk size and idler will append
about remain text.

@fix

Test Plan:
1. elementary_test -to "entry5"
2. click "set 10000" button
2-1. changed message should be printed 1 time
3. click "set 10001" button
3-1. changed message should be printed 2 times

Reviewers: tasn, Hermet, id213sin, cedric

Reviewed By: cedric

Subscribers: woohyun, cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-07-06 12:48:59 -07:00
Cedric BAIL 323000c83b elementary: clear callbacks before destroying object to avoid crash.
@fix

T3188
2016-07-06 10:39:23 -07:00