Commit Graph

13585 Commits

Author SHA1 Message Date
Taehyub Kim 94d3fd3d82 win: implement efl_provider_find for EFL_UI_WIN_CLASS
Summary:
Implement efl_provider_find function for efl_ui_win class.
This will support to search window class by efl_provider_find function.

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

Reviewed By: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D5045
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre a1509ab98d frame: Implement text set/get (EO only)
This is required for the default style which has a title.
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre 1990104b5f evas: More debug_name information 2017-08-04 10:24:03 +09:00
Jean-Philippe Andre 0353eb5b7f evas: Add debug_name to image objects 2017-08-04 10:24:03 +09:00
Jean-Philippe Andre b290cb5de0 eina_slstr: Fix leak in an error case
This function takes ownership of the incoming strbuf
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre 999dbd9764 eo debug name: Use strbuf instead of slstr
This should be a little bit more efficient, even if more "risky"
in terms of leaks. The final API still looks exactly the same.
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre 569ad0bac4 evas/edje/elm: Override debug_name in core classes
This is really only a demonstration of what kind of information
we can print with efl_debug_name_get(). Hopefully this can help
debugging with printf/ERR logs and even help with live debugging
inside gdb.

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

@feature
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre c4769ff898 eo: Add debug_name read-only property to ease debugging
This will include the following information, by default:
 - class name
 - whether the class is an override
 - eo id (pointer)
 - refcount
 - name if one was set (Efl.Object property)

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

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

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

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

@feature
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre 0834511067 Eo: Allow multiple functions overrides
This allows two things:
 - adding new override functions on an object that already has
   overrides
 - resetting a specific function (or list of functions) to the
   parent class implementation by passing NULL as implementation

Fixes T5580

@feature
2017-08-04 10:24:03 +09:00
Jean-Philippe Andre fd9cf1d3b6 evas: Make all EO canvas objects visible by default
All legacy objects remain invisible by default. Any call to
visible_set() will prevent the automatic show() to happen.

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

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

@feature
2017-08-04 10:24:03 +09:00
Chris Michael 0bd8259da8 ecore-wl2: Rename local function and make it static
As this function is not called from anywhere outside of
ecore_wl2_window.c file, this can be declared static.

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

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-08-03 10:15:41 -04:00
Jean Guyomarc'h 9368eedd35 efl: terrible kludge so avoid termination crash on osx
Currently, elementary programs crash on termination on macOS (seems
Sierra-specific). This is very nasty, looks like deep memory corruption...
Without valgrind (or like) support on Sierra, it is difficult to
pinpoint the origin of the problem.

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

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

Ref T5245
2017-08-03 10:31:26 +02:00
Carsten Haitzler 256450d294 eina debug - remove other swap and comment on the weirdness of this 2017-08-03 09:08:04 +09:00
Cedric BAIL eed23765f9 eina: failing to load a module is actually an ERR that user should see. 2017-08-02 16:16:33 -07:00
Guilherme Iscaro 48443fda8f Eina_File: Avoid using munmap() on file->global_map.
When a virtualized file is created the file->global_map will not
point to a mmapped region, thus it's not safe to use munmap() during
the file cleanup. Only use munmap() if the file is backed by a FD.

Fixes: T5234.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-02 16:03:20 -07:00
Guilherme Iscaro c61ac48f1a Efl_Copier: Add efl_wref_del() for pd->job.
In order to perform IO operations the copier will create futures using
efl_future_use(&pd->job, ...), which will set pd->job to NULL once the
future is destroyed. However this may lead to problems, because in some
cases the copier may be deleted at the _efl_io_copier_job() function,
which is the future's callback. Since the copier may be deleted before
the future, the area pointed by pd->job will have disappeared by the time the future
tries to set pd->job to NULL. To avoid this problem the copier must
explicily call efl_wref_del().

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-08-02 16:03:11 -07:00
Carsten Haitzler 470b48d63c eina debug - new debug infra - comment out and make a note on bad endian
bad endian... code... see the comment in the src about why i think
this is bad as obviously the buffer pointed to is a 64bit type always
that is a pointer to something...
2017-08-02 22:41:54 +09:00
jiin.moon 49bb102d16 evas: Add safety code for smart object
Summary:
If user use the evas_object_smart_callback_add with no smart object,
it should be returned

@fix

Test Plan: self

Reviewers: jpeg, cedric, jypark

Differential Revision: https://phab.enlightenment.org/D5056
2017-08-02 20:28:09 +09:00
Jean-Philippe Andre b10be4e2ed evas filters: Disable extra debug
Forgot to remove that! It's better to disable for the release,
DBG() and XDBG() are disabled anyway.

CID 1308611
2017-08-02 20:15:58 +09:00
Jean-Philippe Andre de99a71c43 evas filters: Shut up coverity
Add some safety checks.

CID 1374271
2017-08-02 20:15:57 +09:00
Jean-Philippe Andre 4299905996 evas: Rename calculate property to calculating
Recently introduced by @cedric
I think the name is not very clear, and is clashing with the
actual method of the same name.
2017-08-02 19:12:13 +09:00
Carsten Haitzler ed947fad81 efl_wl - fix warning for possible uninitted list access
could potentially be an issue in one theoretical case. less warnings
is better anyway
2017-08-02 18:48:06 +09:00
Andy Williams 91293d3b25 elm_code: small optimisation for large files 2017-08-02 10:32:13 +01:00
Carsten Haitzler cae354d299 eina hamster count - use a fixed version, revision etc. so builds repro
this should help with repdocucable builds by having our hamsters
constant for a build of a specific code revision.

@fix
2017-08-02 17:12:28 +09:00
Carsten Haitzler 7718b4c0ea ector - fix coveirty fix - vmin is -vmax not -vmin 2017-08-02 17:01:12 +09:00
Jiyoun Park c3d8a1d9f4 efl_ui_win: add error hanling code for malloc fail 2017-08-02 16:42:04 +09:00
Jean-Philippe Andre 5c8670fb2b ecore_x: Avoid crash on NULL
This happens in E with software compositing, since E's commit
5702f0975e890f07cfb. E should be fixed shortly but segv is not
acceptable. Without segv E is still massively broken so it's
not like the bug would be hidden (large black areas in windows,
after switch vdesks with enough windows).
2017-08-02 13:34:45 +09:00
Cedric BAIL ea5675a6a0 evas: add a way to know if we are already computing smart object calc. 2017-08-01 13:17:10 -07:00
Mike Blumenkrantz f6c465dc59 Revert "evas: Always call show/hide intercept"
This reverts commit 936ea58cb9.

this is an ideal change, but it breaks previously-expected behaviors
for interceptors and thus enlightenment is completely broken
2017-08-01 13:29:46 -04:00
Marcel Hollerbach aca00f8502 ecore_x: init XEvents before passing to x
it turns out that xlib is going to copy the complete struct into
something internal. This might lead to the condition that a uninitalized
value might be part of the struct, and when later the struct is read
again the code might do wrong stuff since that value could be set now to
a randomly other meaningfull value.

This turned out on me in e as i could not write any letters like ßöäü,
since that lead to a not returning call to _XReply internal of xlib.
Dugging that showed that xlib was waiting on a reply of a call that
never got executed, and the XEvent it is waiting on just contians a
randomly correct value.

@fix
2017-08-01 18:16:23 +02:00
Jean-Philippe Andre 3b8c60954e Revert "elm gesture layer - use fabs not abs when actually comparing floats"
This reverts commit 2d4d836018.

Don't pretend to fix an issue found by a static analyzer by
introducing another issue that even clang warns about.

Fixes:
elm_gesture_layer.c:2533: warning: using floating point absolute value
  function 'fabs' when argument is of integer type [-Wabsolute-value]
        if ((fabs(st->info.mx) > ELM_GESTURE_MINIMUM_MOMENTUM) ||
             ^
2017-08-01 20:03:20 +09:00
Shinwoo Kim 391a777c01 elementary: access overrides Accessible.state_set.get
The elm_access a widget makes primitive object accessible. If a primitive
object is not visible, then the elm_access should NOT have state VISIBLE, and
SHOWING. From now the elm_access is checking visibility of primitive object.
2017-08-01 19:52:38 +09:00
Carsten Haitzler fd52344b03 eldbus - make file local func added in fix static
better to keep the func local unless needed elsewhere too
2017-08-01 11:23:20 +09:00
Jihoon Kim 15250fb8cf ecore_imf: check return value of memory allocation
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2017-08-01 10:27:37 +09:00
Derek Foreman acc76cadd3 ecore_drm2: Stop making dumb fbs and mmapping for gbm fds
We were doing this so E could do screenshots in a hackish way,
E has been fixed so this hack here no longer needs to live.
2017-07-31 11:12:05 -05:00
Derek Foreman df658a6d15 ecore_drm2: Remove dead code in blank time get
When I added the fallback block I left an if statement that could
never evaluate to true.  Remove it.
2017-07-31 10:57:56 -05:00
Shinwoo Kim a238272f00 eldbus: check message serial before using
Summary:
Whatever the dbus_connection_send_with_reply returns, the serial value
should be checked, because if the seral value is invalid a process could be aborted.

There is backtrace as below.

The dbus_connection_send_with_reply could return TRUE
even though it has a problem. Please refer to following comment:

   /* Refuse to send fds on a connection that cannot handle
      them. Unfortunately we cannot return a proper error here, so
      the best we can do is return TRUE but leave *pending_return
      as NULL. */

Test Plan:
There is not a exact reproduce step. If the Tizen login manager is relaunched
repeatedly, then the dbus and other service processes are relaunched.
If a service process tries to use dbus when the dbus has problem as above,
then it could be possilbe to get above backtrace.

Reviewers: raster, zehortigoza

Subscribers: cedric, jpeg

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

@fix
2017-07-31 15:53:58 +09:00
Jiyoun Park ca625aa323 efl_ui_win: add EFL_UI_WIN_SOCKET_IMAGE type check
elm_win_socket_listen api only work for EFL_UI_WIN_SOCKET_IMAGE type window.
    So it is better to add type check code.
2017-07-31 15:20:02 +09:00
Carsten Haitzler c5a5302e06 evas - handle devices that on deletion delete other devices on shutdown
this fixes a whole bunch of warnings that just recently turned up...
2017-07-31 15:07:28 +09:00
Carsten Haitzler 968e1dfb37 elocation - fix return of status, address, position to actually ret data
the data was never returned! fix fix fix.

found by PVS studio

@fix
2017-07-31 12:18:00 +09:00
Carsten Haitzler d371ece4a9 ecore x - convert to using unsed instead of dummy state,ents after ret
found by PVS studio
2017-07-31 12:12:40 +09:00
Carsten Haitzler b1e9d46bcc elm code - handle alloc failure for line split
this culd optentially use large offsets before accessing the ptr thus
it may not segv inthe first page but actually work if positionoffsets
are large enouh, so handle this case explicitly.

@fix

found by PVS studio
2017-07-31 12:01:41 +09:00
Carsten Haitzler d639063b50 elm code - handle alloc failure for line split
this culd optentially use large offsets before accessing the ptr thus
it may not segv inthe first page but actually work if positionoffsets
are large enouh, so handle this case explicitly.

@fix

found by PVS studio
2017-07-31 12:00:45 +09:00
Carsten Haitzler 6e82f90807 evas mem - remove redundenty unused evas mem absraction
was never used as was not practical to do so so it effectively does
nothing so remove it to reduce analyser warnings

found by PVS studio
2017-07-31 11:53:59 +09:00
Carsten Haitzler 0efb70e317 elm theme - remove redundent check
found by PVS studio
2017-07-31 11:38:42 +09:00
Carsten Haitzler 26e93caec7 evas textblock - remove redundant check
found by PVS studio
2017-07-31 11:34:41 +09:00
Carsten Haitzler 6ac4ea2080 evas cache2 - remove excess file and key checks - only check file
no need for key as no key is handled and no file is handled too. cleaner
code.

found by PVS studio
2017-07-31 10:58:04 +09:00
Carsten Haitzler 2d4d836018 elm gesture layer - use fabs not abs when actually comparing floats
2 abs uses should have been fabs as they compe a src float with
anot her float.

found by PVS studio

@fix
2017-07-31 10:41:39 +09:00
Carsten Haitzler 573d0cf586 eina debug - set length after freeing/iterating over the keys
found by PVS studio
2017-07-31 10:03:59 +09:00
Carsten Haitzler ae79052376 elm calendar - fix gmtime call to use an actual value
e85c92662b added this bug. before it was
always set to 259200 (first sunday after epoch).

found by PVS studio
2017-07-31 10:00:00 +09:00
Carsten Haitzler 2c1e2db876 ecore_drm2 - fix startup if edid blob is null.. assume all 0's
this causes a crash when no edid is available. survive and dont crash.
this causes e wayland to not work at all on my baytrail laptop.

@fix
2017-07-30 23:27:56 +09:00
Carsten Haitzler 3de08599bf eldbus lower error print levesl from ER to WRN in get all props
this is generally unnecessary noise as the majority of the time i see
this it's because the message was canceled by the caller... thats not
an error though then... it's intended. less debug noise to sift through.
2017-07-30 23:04:35 +09:00
Carsten Haitzler 2b91a48d72 ector software - fix min/max int range for fixedpoint math
min value bitshifts are negative and thus not portable. just tax max
(as its 1 more than min it if we do -max) as the limit as its within
range. this should fix it

@fix

found by PVS studio
2017-07-29 13:49:33 +09:00
Carsten Haitzler 29eebb44fc evas render - remove obj null check in proxy clip as obj not null
obj is never null. so this check is pointless. not a bug though.

found by PVS studio
2017-07-29 12:26:49 +09:00
Carsten Haitzler 3c27869c93 evas object textblock - fix append if cur node is null
then it will appeand totally as it should be. small buglet found. fixed

found by PVS studio

@fix
2017-07-29 12:20:12 +09:00
Carsten Haitzler 7620d5d957 ecore-x - remove useless extra assignments of value to itself
usless code that does nothing - not a bug though

found by PVS studio
2017-07-29 11:22:54 +09:00
Carsten Haitzler 7abf4715f2 efl ui text - remove useless else + free
string is null so no need to free. not a bug but cleaner and analysers
dont like it.

found by PVS studio
2017-07-29 11:11:21 +09:00
Carsten Haitzler fe781b284c edje entry - remove extra else and free as sdtring is null there
string is null so no need to free. not a bug but cleaner and analysers
dont like it.

found by PVS studio
2017-07-29 11:08:46 +09:00
Carsten Haitzler cfe4f19f54 eina simple xml parser - remove pointless memcmp of 0 bytes
no point - all we are doing is having a final fallback of any tag that
starts with ! that isnt a special one like !DOCTYPE, !-- comment and
![CDATA stuff... analysers dont like these pointless calls.

found by PVS studio
2017-07-29 11:03:01 +09:00
Carsten Haitzler 8b6e72bfad els box - remove rudundant double check
not a bug but checking something twice in a row isn't too useful

found by PVS studio
2017-07-29 10:56:53 +09:00
Carsten Haitzler 20333c7905 elm code - remove unneded extra check from copy and pasta it seems
extra check already done in if above - no need. looks like copy &
paste of the checks from above thus why it's there, but not needed.
not a bug, byt analysers dont like it so remove

found by PVS studio
2017-07-29 10:56:53 +09:00
Carsten Haitzler 08a69d2284 eeze_disk - remove redundant if check already done
removes redundant fi check. not a bug but analysers dont like it and
it is redundant

found by PVS studio
2017-07-29 10:56:53 +09:00
Carsten Haitzler ff26991220 efl net - fix ipv6 getsockname to use the proper struct to do it
struct sockaddr_storage *addr;

AS the actual storage ( a ptr to store the whole data). kind of...
wrong. it should be:

      struct sockaddr_storage addr;

see examples of this kind of usage of getsockname:

http://www.masterraghu.com/subjects/np/introduction/unix_network_programming_v1.3/ch04lev1sec10.html

found by PVS studio

@fix
2017-07-29 10:56:47 +09:00
Carsten Haitzler d532f28284 eeze disk - remove uneeded extra check for test var
test for non null already done above, so test must obviously be null
here so no need to check. analysers dont like this but it's not a bug.
make them happy thought

found by PVS studio
2017-07-29 10:37:51 +09:00
Carsten Haitzler d6785cfeb6 eina debug - if calloc for session struct failed - return NULL
makes analysers happy but really doesnt change anything - moves the
abort/crash/exit somewhere else.

found by PVS studio
2017-07-29 10:37:44 +09:00
Carsten Haitzler 9c507faf2a elm list - remove harmless extra null set to keep analysers happy
this was totally harmless and not an actual bug but it keeps analysers
happy.

found by PVS studio
2017-07-29 09:42:43 +09:00
Carsten Haitzler e85694f33b elm dayselector - remove double set of content var
this looks like a leftover from legacy to eo porting. it was harmless
but analysis hates it

found by PVS studio
2017-07-29 09:08:40 +09:00
Carsten Haitzler 5a1f8fdf41 elm code - remove double set of textlen
analysis doesnt like it, but not a bug

found by PVS studio
2017-07-29 09:08:40 +09:00
Carsten Haitzler 1670ee2766 edje edit - remove pointless setting attr_mount to 0
static analysers dont like it bug not a bug at all

found by PVS studio
2017-07-29 09:08:40 +09:00
Carsten Haitzler 302731e1af evas events - remove set of list to null then back to value - confusing
eina_list_free always returns NULL. it's meant as a design pattern to
follow like the append/prepend that ensures a freed list is NULL, but
it can be confusing to analysers so remove the assing. not a bug
actually.

found by PVS studio
2017-07-29 09:08:40 +09:00
Carsten Haitzler b944fc7c9b eina evlog debugging - when freeing debug buf with mmap 0 size after
munmap would not munmap the memory with  a size of 0... so zero the
size after the munmap.

found by PVS studio

@fix
2017-07-29 09:08:40 +09:00
Carsten Haitzler e9ab26ae53 evas obj smart - remove pointless if
s is already checked for null... so no need to check again

found by PVS studio

@fix
2017-07-29 09:08:40 +09:00
Carsten Haitzler e9123a5a58 edje edit - when adding size class set max width and height to -1
since we're not using size class yet.. we hvent had to debug this...
but it is a bug.

fond by PVS studio

@fix
2017-07-29 09:08:40 +09:00
Carsten Haitzler 16abe895c6 efl net ssl constructor - remove double set of same var
all struct vars are set... one 2x. not a bug but pointless code in the
src

found by PVS studio
2017-07-29 09:08:40 +09:00
Carsten Haitzler 51cc2e0ec6 ephysics - fix stacking comparsion correctly if 1 smaller than 1
this fixes a pretty trivial comparison issue..

found by PVS studio

@fix
2017-07-29 09:08:40 +09:00
Carsten Haitzler fec726e7e5 evas legacy event mask - cast to unit64_t before bitshift
this fixes a bit wraparound in the shift as the 1 is an int (32bit)
type that then gets shifted .. then after that cast to 64bit.

found by PVS studio

@fix
2017-07-29 09:08:31 +09:00
Carsten Haitzler 091146fa34 eina inarray accessor - use right type in parameter
this actually wasn't a bug that would cause a crash. cloning an array
access would fail as the magic check would find its an accessor not an
array. indeed a bug... but we never used this anywhere i can find.

this was cast to the correct func ptr callabck in the accessor struct
as the clone method though.. thus everyhting was happy with it
seemingly.

found by PVS studio

@fix
2017-07-29 08:55:27 +09:00
Derek Foreman 33439865de elput: Fix synthetic relative motion events based on abs events
libinput won't actually give us this info, and logs an error instead.
We can't synthesize based on pointer position due to pointer
warping.

So we must track abs reports and use previous abs reports to
synthesize rel events.
2017-07-28 16:48:38 -05:00
Derek Foreman 0584fc81a2 ecore_drm2: Add a fallback method for vblank waiting
We can't depend on vblank waits being implemented by the driver, but we
can count on page flips functioning, so add a fallback that does a page
flip and waits for it.
2017-07-28 15:35:03 -05:00
Mike Blumenkrantz 6bb56b3f56 ecore-wl2: implement support for aux hints
this is a direct copy of a feature from tizen git with no modifications other
than what was required for compilation and functionality

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

fix T5780

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

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

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

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

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

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

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

Fixes T5803.
2017-07-28 12:36:07 +03:00
Guilherme Iscaro 45a767632d Ecore_Conn: Enable CLOEXEC by default.
This flag should be enabled by default in order to avoid socket leaks.
2017-07-27 16:54:34 +02:00
Guilherme Iscaro 97f6803be1 Ecore_IPC: Preserve Ecore_Con legacy behaviour.
This patch sets some Ecore_Con flags that were missing after
the EO migration. These flags must be set in order
maintain the Ecore_IPC behaviour before Ecore_Con EO was implemented.

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

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

see weston commit 8f5acc2f3a29c3831af4ddd6bed57f703c98dc77
and subsequent regression in commit 72dea06d7952e3ce8dd8057f7106186da4fa2678
and pending fix in https://patchwork.freedesktop.org/patch/168992/
2017-07-25 16:59:11 -05:00
Jean-Philippe Andre d4b2eb1e7f elm: Move calls to efl_destructor(efl_super()) to the end
When destroying any object, its parent class destructor should
be called after the subclass destructor has been called. Only
some extremely limited work may be done after the super call.

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

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

This is a somewhat dirty hack to rough that in.

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

fix T5770

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

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

@fix
2017-07-24 18:53:33 +09:00
Carsten Haitzler fd9e6b305d efl net server udp - report erro on alloc failure
unwind nicely and complain
2017-07-24 17:44:22 +09:00
Carsten Haitzler 143709faba ecore con proxy helper - complain when realloc fails
so you know why things might be failing... complain about out of
memory errors.
2017-07-24 17:35:13 +09:00
Carsten Haitzler fe6dc2000d ecore exe - pisix - handle malloc fails
handle malloc fails better
@fix
2017-07-24 16:59:53 +09:00
Carsten Haitzler 829d0bc3f9 ecore win32 exe handling - check realloc and malloc returns
handle out of memory errors better
@fix
2017-07-24 16:57:22 +09:00
Carsten Haitzler b47cbdcb65 ecore_exe - handle realloc failures by complaining and rolling back
@fix
2017-07-24 14:10:17 +09:00
Andy Williams 292e9e9ecf elm_code: Fix crash with long lines
Also fixes issue where widget would sometimes blank when scrolling
@fix
2017-07-23 21:30:35 +01:00
Carsten Haitzler 17d33c7138 efl ui grid - handle invalid 0x0 fully if the grid size fails to do it
if efl_pack_grid_size_set is overridden and somehow allows 0x0 to
still happen then handle this caase and skip the layout.

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

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

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

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

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

This is a little inefficient as it gets the device via elput twice before
it can be used - this will be addressed later as the changes are a little
more invasive to optimize.
2017-07-21 16:46:00 -05:00
Derek Foreman 57e826db69 ecore_drm2: Open elput manager before drm device
We're going to need to access the device as part of the find process,
so we need a manager.
2017-07-21 16:46:00 -05:00
Jean-Philippe Andre dcf751bd3d hover: Return valid slot for main_menu_submenu
Fixes T5760
2017-07-21 16:18:36 -04:00
Mike Blumenkrantz 5070ecc99a elm_win: instantiate csd frame after creating pointer surface
csd attempts to create sw cursors if the pointer surface doesn't exist,
so create the pointer surface before the csd to avoid duplicate cursors

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

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

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

 #IGot99TicketsBut1x1AintOne
2017-07-21 16:17:53 -04:00
Carsten Haitzler b8a760ed58 efreet - dont complain if INTERNAL x extension hash of desktop is NULL
asking for an x- field from a desktop shouldnt result in null safety
checks IF the x hash is null - it's fine if it's null - that field
just doesn't eixst. if other fields were in the x hash but the desired
one wasn't it'd not complain, so why complain if there is just no x
hash?
2017-07-21 17:02:43 +09:00
Carsten Haitzler 0f73f10a42 efreet - remove noisy debug printfs 2017-07-21 06:06:59 +09:00
Daniel Hirt 01a693412f Evas textblock: add definition to 'cursor_equal'
This is a follow-up to c4ea25cbdb to fix
legacy API.
The definition was missing, so adding it.
2017-07-20 19:20:36 +03:00
Marcel Hollerbach 344a049ddb elm_widget: do not check for the visibility
it seems like the visibility is evalulated from different parent
relations, Just because the box (that is a container of a element) is
not visible, does not mean that the element in it is also not visible,
this somehow comes back to the box beeing deleted, the children beeing
reparented in evas, but not in elm. This is for now just a quickfix,
since those calls are just for optimization.

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

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

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

The crash was in eolian_suite during the second eina_init (called
from eolian_init).
2017-07-20 17:47:51 +09:00
Hosang Kim 05e3e450e5 slider: fix jumping handler bug.
Summary:
Actual slider value is not changed.
So when user release mouse or touch, slider value is returned
to the value by user set.

This is a partial revert of f41e276160

Fixes T5745

Test Plan: elementary_test -> slider

Reviewers: jpeg

Subscribers: cedric

Maniphest Tasks: T5745

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

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

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

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

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

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

Fixes T5680
2017-07-20 14:59:25 +09:00
Jean-Philippe Andre bbfdf8909b evas focus: Fix crash when shutting down with errors
Example test: add many evas_object_ref() to a window and click
on its X to close it.
2017-07-20 14:46:49 +09:00
Jean-Philippe Andre dccdd20335 elm: Fix a safety error message
Happens when shutting down E
2017-07-20 14:46:49 +09:00
Jean-Philippe Andre 7231a3295b eo: Fix deadlock due to the shared mutex
Explicit lock / unlock of the shared mutex mixed with implicit
lock / unlock when accessing the internal Eo_Object data lead
to uncaught issues such as these.

This was found by trying to run E with gfx filters under eo_debug.
2017-07-19 15:44:49 +09:00