Commit Graph

52072 Commits

Author SHA1 Message Date
Chris Michael 101c772412 ecore-wl2: Add flag to indicate pending configure
With the change to xdg_shell v6 we need to indicate that a window has
a pending configure event, and not show the window if a configure is
pending. In order to handle this, we add a flag to the window
structure and can check it inside ecore_evas.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-01-10 11:27:10 -05:00
Chris Michael 19946e6035 ecore-evas-wayland Fix formatting
NB: No functional changes (yet), just formatting cleanup so this is
more readable.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-01-10 09:44:53 -05:00
Chris Michael 90ab99cba6 ecore-wl2: Use correct serial value
When we get a configure event, we should be using the current display
serial to set as the window configure serial value. Previous code
would always end up setting the window configure_serial to 0 as
win->display->serial was not getting updated.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-01-10 08:51:33 -05:00
Andy Williams 6d4f1501bf elm_code: Selections of word break on quotes too 2017-01-10 12:53:21 +00:00
SangHyeon Lee 30445b6ea6 gengrid: fix highlight bug in disabled item
Summary:
if item is disabled, item must be not highlighted by touch events.

Signed-off-by: SangHyeon Lee <sh10233.lee@samsung.com>
2017-01-10 13:59:46 +09:00
Stephen 'Okra' Houston 277865c410 Elm theme: Center previews again in the luncher theme. 2017-01-09 14:50:12 -06:00
Davide Andreoli 2cee30b0bc cpu + mem gadget: implemented vertical layouts 2017-01-09 20:59:55 +01:00
Derek Foreman 24b277a040 dmabuf: Make failure a DBG instead of an ERR
It's not really an error - fallback to shm will be attempted.
2017-01-09 08:30:25 -06:00
Carsten Haitzler bd2f189d4c ecore_con - move libproxy to a slave binary with stdin/out msging
so here's the ugly problem. libproxy. yes. we've discussed memory
usage (e.g. it may have to execute javascript and pull in lots of deps
etc.) but we dlopene'd on the fly. ok... but this didn't solve another
issue i hit:

libproxy was causing enlightenment to abort(). some internal bit of
libproxy was raising a c++ exception. this wasn't caught. this causes
an abort(). takes down your entire desktop. FANTASTIC. this is bad. i
wouldnt' expect a library we depend on to be THIS anti-social but
libproxy seemingly is. it SHOULd catch its error sand just propagate
back to us so we can handle gracefully.

there reall is no way around this - isolate libproxy. it's even worse
that libproxy can load arbitrary modules that come from anywhere sho
who knows what issues this can cause. isolation is the best solution i
can think of.

so this makes an elf+net_proxy_helper we spawn the first time we need
a proxy lookup. we re-use that binary again and again until it exits
(it should exit after 10 seconds of being idle with no requests coming
in/pending). it'll respawn again later if needed. this involves now
the efl net threads having to marshall back to mainloop to do the
spawn and to write to the proxy process (reading is done by async exe
data events and the data is passed down a thread queue to the waitng
efl net thread). if the exe dies with pending requests unanswered then
it's respawned again and the req's are re-sent to it... just in case.
it has a limit on how often it'll respawn quickly.

this seems to work in my limited testing. this ALSO now isolates
memory usage of libproxy to another slave process AND this process
will die taking its memory with it once it's been idle for long
enough. that;s also another good solution to keeping libproxy impact
at bay.
2017-01-09 15:29:33 +09:00
Jihoon Kim 5bb9294966 ecore_imf: remove unnecessary exported symbols in immodules
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2017-01-09 10:22:58 +09:00
Chris Michael f026055630 evas-gl-common: Fix incorrect expression
Coverity reports this as in incorrect expression because it was
checking cache_entry width <= 0 twice. Fairly safe to assume that the
proper check should be width || height.

Fix CID1368336

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-01-08 19:48:26 -05:00
Davide Andreoli dfd0e5d665 New theme for the new cpu gadget 2017-01-08 20:32:27 +01:00
Davide Andreoli 127c1c88aa mem gadget: update to use a single msg from c code 2017-01-08 19:06:32 +01:00
Davide Andreoli 979416fc3c A new theme for the new E memory gadget
hope you will like the new design
2017-01-08 17:56:37 +01:00
Stephen 'Okra' Houston 0cf00dbcdf E module themes: Improve sizing wrt to text. 2017-01-07 11:29:13 -06:00
Carsten Haitzler 46a1bc2d22 ecore_drm2 - work with broken kernels that EBUSY on drm page flip
so thelatest rpi kernels available e.g. in raspbian contain no fixes
for this yet so thatmeans basically ALL users would be affected, so
best to have a small workaround in ecore_drm2 to try the page flip a
few times until it works. this actually works. i try a usleep for 100
then try again. up to 500 times max then give up. actual numbers show
that betwee 1 to about 60 tries gets the flip to happen when these
glitches happen. log an error when this happens so we know it's
happening and a workaround is kicking in.

technically this would be much nicer if swapping had a dedicated
thread that could stall in this case and keep trying, but the odd
times it happens (seems to happen on average maybe once every 30
seconds) it wouldnt stall the mainloop or rendering and JUSt stall a
dedicated swapper thread. this requires a lot mor work to implement
though and we'd have to then ensure swaps ARe async with the swap
result coming back as an event etc... so a lot more work.

this at least makes rendering on the rpi stable and i can dig into
other issues like libproxy throws exceptions and causes a whole
process abort() as a result, or the latest mesa pkgs have totally
broken partial gl rnedering with all non-rendered areas being black
(it used to work though... until i updated).

@fix
2017-01-07 13:23:02 +09:00
Cedric BAIL 78bd2ea6f5 ecore_con: use the right type for prototype. 2017-01-06 15:58:46 -08:00
Cedric BAIL cf501ee7eb cxx: fix example with recent change. 2017-01-06 15:58:46 -08:00
Cedric BAIL 95e1cefb40 eina: add test for all float/double util function. 2017-01-06 15:58:46 -08:00
Cedric BAIL 8519ae4481 eina: include forgotten test file in release tarball. 2017-01-06 15:58:46 -08:00
Cedric BAIL 8e7d7d9d58 eina: move to use memcmp and rename eina_{flt,dbl}eq to eina_{flt,dbl}_exact. 2017-01-06 15:58:46 -08:00
Cedric BAIL 89f429c0e7 eina: switch to equal FP_ZERO with fpclassify. 2017-01-06 15:58:46 -08:00
Cedric BAIL 8f1c071d6a eina: rename EINA_{FLT,DBL}_CMP to EINA_{FLT,DBL}_EQ. 2017-01-06 15:58:46 -08:00
Stephen 'Okra' Houston f9928b75c8 Elm Theme: Add style alias for no inset shadow on scroller. 2017-01-06 17:15:07 -06:00
Stephen 'Okra' Houston 85e8adafbf Theme: Add necessary theme files for the new sysinfo gadget. 2017-01-06 16:09:16 -06:00
Mike Blumenkrantz 16d28c6bc8 eina: add macros for determining whether floats are nonzero
this is a commonly-used functionality, so make it faster to write

@feature
2017-01-06 12:57:08 -05:00
Mike Blumenkrantz 1b4c26be8e eina: add functions for warningless exact comparisons of floats
in some cases a user does want to check exact values, so these functions
should be used to indicate this intent

needs windows support

@feature
2017-01-06 12:57:08 -05:00
Chris Michael 6cf290faec evas-wayland-shm: Fix formatting
NB: No functional changes, just reformatting so that this insane
one-liner wraps to 80...

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-01-06 09:33:58 -05:00
Marcel Hollerbach 04c0e5609c eina: fix up last commit
i am sorry. I missed that i just freed the string and not the complete
buf. This now really frees the buf.
2017-01-06 13:02:37 +01:00
Marcel Hollerbach 4d6d177ff7 eina_buf: replace eina_strbuf_free_return with eina_xXxbuf_release
The api name free_return wasnt a good choice so it is changed to
release. This also moves the implementation to binbuf template so it is
available in all buf types.
2017-01-06 12:45:27 +01:00
Carsten Haitzler c7d23534d9 eina - fix redefinition of word size if already defined 2017-01-06 19:25:50 +09:00
YeongJong Lee 13730d7a75 elm_code: Add 2 spaces auto indent after keywords
Summary:
When insert newline, check the previous line has keyword.
If so, insert 2 spaces indent more.

Test Plan:
1. run elementry_test - Code Editor or Edi.
2. Type some code with keywords.
3. Type <Return>.
4. Check that the indentation of newline is correct.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4543
2017-01-06 10:16:41 +00:00
Carsten Haitzler bb6c324e73 evas gl - avoid a possible crash of tex upload of invalid sized image
so i had a crash where my bt said the image size is 1x1 but the img
struct said its 0x0, so put in protection to not upload a texture from
a 0x0 image... just for now... because this is odd - the image data is
a real ptr i can access and there should be at least 1 pixel... but i
can't be sure this fixes it as this is one of those "one offs" i cant
reproduce...

@fix
2017-01-06 17:46:13 +09:00
Carsten Haitzler 0690d47880 evas image preload - fix race condition that stops preloads
so if you queue a preload while a cancel is still pending the new
preload never happens. this fixes that. now it does but checking for
leftover tasks in the cancel cb and rescheduling a preload thread.

@fix
2017-01-06 17:46:13 +09:00
Mykyta Biliavskyi a3426a38ac edje_edit: fix set the images set as image.normal value.
Added ability to set the images set by name into image
part image.normal attribute.
Add search the images set id for case when the image id doesn't find in
image entries list.

@fix
2017-01-06 10:36:57 +02:00
Jiyoun Park 8ee0c30eb0 evas_image_main: fix memory leak of camera app -PLM[P161206-03545]
In gl engine, image objects try to unload image's pixel data after creating or updating the texture.
but image entry's reference is still 1, it is added to the pending_unloads list,
and it is cleaned when evas render function.

If elm image use preload feature, preload_done flag is true, so this image data cannot be removed from
pending_unloads list, it cause memory leak.

I think it is better to free image's pixel data in evas_cache_image_unload_data,
(not add to the pending_unloads list)
but it it complicated to modify.

so I'll remove the code to check preload_done flag in  evas_common_rgba_pending_unloads_cleanup function.
this flag check was added because of gl preloading, but now gl preloading feature is disabled.
this flag is related with https://phab.enlightenment.org/D2823

I tested photocam, but crash doesn't occur anymore, even though removing flag check.
2017-01-06 15:40:09 +09:00
Carsten Haitzler 3842e87d3a evas image skip header - more fixes for when images fail to load
this fixes some more issues i have found in using skip header like if
the file doesn't exist etc. recent feature add so not a fix.
2017-01-06 09:38:44 +09:00
Cedric BAIL 273238d725 eina: try to provide __WORDSIZE to system that don't have it aka OpenBSD. 2017-01-05 16:33:59 -08:00
Derek Foreman 44517fca5c wayland_shm: Yeah I dunno
This doesn't make any sense to me so it can't be right, right?

Fixes session recovery.  If it breaks something else talk to devilhorns. :)
2017-01-05 13:40:31 -06:00
Derek Foreman 4c1227433f wayland_shm: Add a way to update the stored wayland objects
On session recovery the engine needs to be given new copies of the
surface, dmabuf, and shm objects to run in the new connection.

This fixes session recovery breakage introduced when we stopped recreating
the outbuf on reconfigure.
2017-01-05 13:40:31 -06:00
Derek Foreman 7b0f937880 wayland_shm: Add a force flag to surface reconfigure
We're going to need a way to force reconfigure unconditionally to make
session recovery work again.
2017-01-05 13:40:31 -06:00
Derek Foreman bc000f3ad2 ecore_wl2: Fix accidental re-use of tmp var
Oops, same tmp var for a nested inlist traverse.  That won't end well.
2017-01-05 13:40:31 -06:00
Derek Foreman df72ddf43c ecore_wl2: Don't request shell surfaces for all window types
Now that cursors are "windows", this results in a mess.  So skip at least
NONE and DND for now.
2017-01-05 13:40:31 -06:00
Derek Foreman 120063ad76 ecore_wl2: Prevent use after free on input deletion
Window structs keep inputs around, so we should sweep through them
and NULL out any stale ones on a delete.
2017-01-05 13:40:31 -06:00
Derek Foreman 8328d4db89 ecore_wl2: Remove the rest of the cursor frame callback
Oops, I made a clean spot, now I need to clean up the rest of this.

ref 641dfab516
2017-01-05 13:40:31 -06:00
Daniel Kolesa 5355699859 eolian: stricter implement/constructor verification
The system now verifies whether the class of an implement or
constructor exists within the inheritance hierarchy. It also
properly checks duplicates everywhere and prints better error
messages.
2017-01-05 16:00:14 +01:00
Marcel Hollerbach 2f1d0fb189 eina_strbuf: add eina_strbuf_free_return
Summary:
For a function which just composes a string with strbuf its quite
usefull to return the string while its freed.

This makes a function like:

{
   Eina_Strbuf *buf;
   char *path;

   buf = eina_strbuf_new();
   eina_strbuf_append(buf, "test");
   eina_strbuf_append_printf(buf, "%s-%d.edj", "test", 0);
   path = eina_strbuf_string_steal(buf);
   eina_strbuf_free(buf);
   return path;
}

To:

{
   Eina_Strbuf *buf;

   buf = eina_strbuf_new();
   eina_strbuf_append(buf, "test");
   eina_strbuf_append_printf(buf, "%s-%d.edj", "test", 0);
   return eina_strbuf_free_return(buf);
}

Which is a bit more handy.

Test Plan: just run make check

Reviewers: raster, cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4545
2017-01-05 14:08:23 +01:00
JEONGHYUN YUN e998529f2e elm_panel: Add _scrollable_layout_resize internal funcion for refactoring
Summary:
Remove duplicated code in _elm_panel_efl_gfx_size_set
and _elm_panel_scrollable_content_size_set.

Reviewers: jpeg, woohyun, eunue, jypark

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4553
2017-01-05 17:26:32 +09:00
Jean-Philippe Andre b11f371703 colorselector: Switch to Efl.Ui.Box internally
This doesn't change anything (in theory) but was to test the
box implementation. Conclusion: it's not much better than
elm_box. Also, homogenous mode isn't set because the layout
is completely broken (+ sets a min size equal to the object
size, thus can not resize down ever). The palette's objects
have the same size anyway.
2017-01-05 17:26:15 +09:00
Jean-Philippe Andre a6e54c6109 evas: Slightly optimize size hints
Object size hints are stored in a specially allocated struct
(from a mempool) and even a call to size_hint_set(default_values)
will allocate this struct. This patch avoids unnecessary allocations.

Originally I was trying to fix an infinite recalc loop but it
magically vanished...
2017-01-05 17:26:14 +09:00