Commit Graph

11511 Commits

Author SHA1 Message Date
Gustavo Sverzut Barbieri 5e006baacf ecore_fb: allow ecore_fb to not setup VT.
Some systems won't allow VT to be setup due permissions to KDSETMODE
to KD_GRAPHICS.

Introduce $ECORE_FB_NO_VT envvar to allow skip that setup.
2017-01-03 12:44:54 -02:00
Gustavo Sverzut Barbieri 806be7adc0 ecore_fb_init(): use 'name' parameter similar to ecore_evas_fb_new().
Instead of assuming /dev/fb/0 or /dev/fb0, use the given 'name'
parameter in a similar way to ecore_evas_fb_new(): a number to be
parsed with 'strtoul()'.

Without this calling ecore_evas_fb_new() or ecore_evas_new() with
'display=1' will produce incorrect results.

@fix
2017-01-03 12:44:54 -02:00
Jaeyong Hwang 3f84aac424 evas: Add code to change the object's chage flag in evas_object_image_data_set
Summary:
When using evas_object_image_data_set(obj, data), if you give the value of data to NULL, the image data is free.
However, Since you have not set a flag in the image object to be modified, it will not be processed in the next render loop.
Eventually, the image data is erased, but you see the image before it was erased.
If evas_object_image_data_update_add() is used to solve this problem, the operation of the function is skipped because the values of w and h in image are 0.
So, If data is NULL, I modified it to call evas_object_change() in evas_object_image_data_set().

Test Plan:
Sample code

{F61599}
{F61601}

Reviewers: Hermet, jiin.moon, eunue, jpeg

Reviewed By: jpeg

Subscribers: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D4520
2017-01-03 17:42:12 +09:00
SangHyeon Lee e1b6e9b18a gengrid : enable layout sizing eval and content min limit feature in gengrid
Summary :
As the child of layout and scroll interface user,
gengrid need to support content min limit feature to set min size
by layout sizing eval.

Test Plan :
Set elm_scroller_content_min_limit to gengrid and get min size off
gengrid object.

Signed-off-by: SangHyeon Lee <sh10233.lee@samsung.com>
2017-01-03 17:35:39 +09:00
Jiwon Kim 090ee28ca4 evas: fix adjustment logic about image border
Summary:
If border left+right >= image width, center area does not rendered.
Although adjusement logic, _draw_image()'s src_w can be a 0.
This commit try to secure center area at least 1 pixel.

This should fix T5057

@fix

Reviewers: raster, jypark, jpeg

Subscribers: cedric

Maniphest Tasks: T5057

Differential Revision: https://phab.enlightenment.org/D4538
2017-01-03 10:59:49 +09:00
Jee-Yong Um 6d0a2398ad Elm.Widget: rename "event.*" methods to solve name conflict
Summary:
Elm.Widget.event_callback_add conflicts with Efl.Object.event_callback_add.
To solve this problem, "widget_" prefix is added to methods starting with
"event".

Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4521
2017-01-03 10:59:49 +09:00
Daniel Kolesa 4fddc11e64 eolian: correctly set the empty/auto flags in implements 2017-01-02 16:25:26 +01:00
Daniel Kolesa 45e6a3e86a eolian: disallow duplicate implements 2017-01-02 16:09:04 +01:00
Daniel Kolesa 3dc9d28279 eolian: fill ctor class early on 2017-01-02 15:28:45 +01:00
Daniel Kolesa bd21080c82 eolian: no need to fill func in eolian_implement_function_get
All implements are now filled in the previous stage.
2017-01-02 15:28:45 +01:00
Daniel Kolesa 0b2c070b06 eolian: partially clean up implement filling logic 2017-01-02 15:28:45 +01:00
Daniel Kolesa 692d445dcf eolian: require specification of either get or set in property impls 2017-01-02 15:28:45 +01:00
Carsten Haitzler 2cb621fe4a evas loader - don't stat NULL file paths
something i found valgrinding my recent async improvments. statting
null path. fix it.
2017-01-02 22:58:24 +09:00
Carsten Haitzler 9e01cf2698 evas image async preload - add option to also make header load async
to date if you use async preload we still load the header
synchronously and this can be horrible especially with generic
loaders. there is no way to farm this off to the preload thread. now
there is. youhave to set it as a skip head load option before doing a
file_set AND you need to issue a preload ... but now it's possible.

@feature
2017-01-02 18:53:56 +09:00
Carsten Haitzler b0530aba4f evas cutouts - quickly avoid huge per issues with large nos of cutouts
i found evas_common_draw_context_apply_cutouts() was procsessing 300+
cutouts and as it's O(n^2)/2 to try and merge adjacent rects for
cutouts this really performs like complete junk. we apply cutout rects
a LOT. this is not the best solution, but it's quick and much faster
than doing the clipouts which drop framerate to like 1-2fps or so in the
nasty case i say (tyls -m of photos in a dir with a 2160 high
terminal).

this figures out the target area to limit the count of rects
significantly so O(n^2) is far far better when n is now < 10 most of
the time. and for the few operations where it's a high value this now
uses qsort to speed up merges etc. etc.

@optimize
2017-01-02 18:53:56 +09:00
Sungtaek Hong 5a9c6d393a elm_naviframe: resize previous view before item pop transition.
Summary:
 - In commit rEFL9f5e9ec7ca120242a92ac97fb20016263c152d8e
   previous view is raised after item pop transition
   so that current view's pop animation can be shown.
 - But, previous view has to be in it's proper size
   during transition because some of animation might
   show previous view.

Reviewers: Jaehyun_Cho

Subscribers: cedric, conr2d, jpeg

Differential Revision: https://phab.enlightenment.org/D4535
2017-01-02 15:41:21 +09:00
Jiwon Kim 4a0a9d8ae1 evas: initalize orient property in file_set()
Summary:
Someone calls evas_object_image_file_set() and set orient,
and then re-set another file.
At that time, there is a mismatch between Evas_Image_Data's
cur->orient and engine's orient data.

So, "file_set(a) -> orient_set(90) -> file_set(b) -> orient_set(90)"
is not working now.

Therefore, when a file_set() is finished, initialization is needed.

@fix

Reviewers: jypark, jpeg

Reviewed By: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D4515
2017-01-02 15:22:04 +09:00
Sungtaek Hong a3ac151591 elm_index: apply mirrored layout for index box
Summary:
 - When mirrored is set, horizontal box packs item
   reversely, from right to left. However, index box
   packs index item the same as before, from left to right.
   This commit changes index box custom layout to sync
   with other box.

Test Plan:
 - enable mirrored UI, or use elm_config_mirrored_set(EINA_TRUE);
   run elementary_test, "Index Horizontal".
 - Observe index item packs in a same direction with box contents.

Reviewers: cedric, Hermet, jpeg

Subscribers: conr2d

Differential Revision: https://phab.enlightenment.org/D4512
2017-01-02 15:19:52 +09:00
Hosang Kim fc05adbb47 evas_events: add checking NULL logic to source mouse event.
Summary:
When the proxy's source is updated, the proxy's event list will be
updated, too. But there is no way now. So add defensive code for
protecting segment fault.

@fix

Reviewers: woohyun, raster, jpeg

Reviewed By: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D4508
2017-01-02 15:17:40 +09:00
Alok Mishra b1f1cd14c2 elm_config: fix for dereferencing after comparing to NULL
Summary:
arr has been checked earlier so as to avoid when it is NULL.
If there is a possibility of being NULL earlier
then it should be checked even when freeing.
So added the NULL check before free.

@fix

Reviewers: singh.amitesh, bu5hm4n, tasn, cedric, raster, atulfokk, hyunseok, minkyu, Hermet, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4537
2017-01-02 15:14:13 +09:00
Andy Williams 9bdaf07d6e elm_code: remove unneeded init code.
Move elm_code init to the main elementary as that's where it lives
2017-01-01 20:10:07 +00:00
Andy Williams 8b12c7d5d7 elm_code: select when navigating or clicking with shift
test plan: hold shft whilst using a cursor key or mouse click with shift pressed
2017-01-01 18:50:09 +00:00
YeongJong Lee 65dc673ae8 elm_code: refactor auto indent about brace matching
Summary: return value of brace matching function no longer need free().

Test Plan:
1. run elementry_test - Code Editor or Edi.
2. Type some code with braces.
3. Check that closing brace has correct indent.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4540
2017-01-01 14:45:30 +00:00
Jaeun Choi 2b90e193ef elm_panel: decide whether a scrollable panel is open or not only when it has a size
in _state_sync() function, scrollable content's position is used to tell
whether the panel is open or not. in case of a top panel, for example,
it is considered to be open when the content's vertical position equals to zero.
however, this logic has a defect in that the position is always zero
if the content size is zero - not resized properly yet. it caused unwanted results.
this patch added some codes to check
1. if the panel's width or height is bigger than zero
2. if the box which contains panel contents is visible (resizable)

@fix
2016-12-30 16:31:25 +09:00
Marcel Hollerbach f32486ced5 ecore_thread: reset waiter and worker when we have failed
otherwise the func_end and func_cancel can get into a endless recursion.
2016-12-28 12:19:40 +01:00
Carsten Haitzler 6f36434584 eldbus - fix warning for possibly undefined value being sent
this ensures the integer "id" is at least set before using it, though
reality is it will be set, it's better to have less warnings and there
isn't any other way to silence this warning other that setting it.
2016-12-28 18:51:33 +09:00
Carsten Haitzler ef49935f72 evas - clean up whitespace and 80 column wrapping and commented out code
this doenst change functionality but just cleans up the file
whitespacing and formatting and removed commented out junk, 80 column
wrapping/overflow etc.
2016-12-28 13:31:48 +09:00
Carsten Haitzler 8424c2b4a3 evas - use freeq for common and cache images
this makes software rgba images and cache images use freeq to try and
minimize possible bugs and crashes if we hit use of freed data for
images.
2016-12-28 12:40:14 +09:00
Andy Williams 0014d0b99e elm_code: Fix another public API using the wrong order 2016-12-27 22:17:01 +00:00
Andy Williams 5cf5e4bb3c elm_code: Fix filename/path for non-file based instances
And add tests appropriately
2016-12-27 21:12:49 +00:00
Daniel Kolesa 34abcd33c9 eolian: enable cyclic dependencies between classes 2016-12-27 21:53:00 +01:00
Daniel Kolesa 71b217451d eolian: remove old property impl syntax and clean up parsing 2016-12-27 19:37:15 +01:00
Daniel Kolesa 3797a269b6 eolian: allow new property impl syntax with auto/empty 2016-12-27 19:33:12 +01:00
Daniel Kolesa 6d9d15d35c elm: use new property implement syntax everywhere 2016-12-27 19:16:02 +01:00
Marcel Hollerbach 46131ea80c ecore_thread: null out the struct before returning it
it can contain old callback values which are not overwritten in every
case. This just ensures that in both cases, empty trasher or none empty
trasher, are returning the same state of the struct.
2016-12-27 17:55:25 +01:00
Daniel Kolesa ae113f17f0 emotion: use new property impl syntax 2016-12-27 17:48:44 +01:00
Daniel Kolesa 192ea2c9ad eio, edje: use new property impl syntax 2016-12-27 17:47:00 +01:00
Daniel Kolesa 4cb3d22bb2 ecore audio: use new property impl syntax 2016-12-27 17:00:05 +01:00
Daniel Kolesa 5a5707e054 ecore con: use new property impl syntax 2016-12-27 16:58:07 +01:00
Daniel Kolesa fe45965e07 eldbus: use new property impl syntax 2016-12-27 16:39:52 +01:00
Daniel Kolesa 18a0183c37 evas: use new property impl syntax 2016-12-27 16:37:41 +01:00
Daniel Kolesa c4cb70199f ecore: use new property impl syntax 2016-12-27 16:19:06 +01:00
Daniel Kolesa 5d2bb86404 ector: use new property impl syntax 2016-12-27 16:12:25 +01:00
Daniel Kolesa 9056f25b54 efl: move some eo files to new property impl syntax 2016-12-27 16:06:19 +01:00
Daniel Kolesa d48baf533f eolian: require semicolon after get/set in new property impl syntax 2016-12-27 16:05:22 +01:00
Ivan Furs 3df48e281e eio: Correct deletion backend
Summary:

This patch fixes the bug Fileselector.
When backend is deleted need to remove event handler from the list.
This commit adds ecore_main_win32_handler_del for correct clean
handlers for cases when monitor backend was created by
eio_monitor_backend_add(Windows method) or eio_monitor_fallback_add. To
remove them needed to use eio_monitor_backend_del(Windows method) or
eio_monitor_fallback_del. To identify the method which should free
backend was added flag monitor->fallback instead of using static
_eio_monitor_win32_native. This solves conflicts if 2  monitors was
created and the second monitor changed the _eio_monitor_win32_native
variable value. When 1 monitor removed it will be deleted correctly .

@fix

Reviewers: NikaWhite

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4518
2016-12-27 16:20:59 +02:00
Andrii Kroitor ea66c8302a ecore_main: don't wait on marked to delete handlers on Windows
This could lead to greedy wait with 100% CPU consumption because on wait
error we never reach actual handlers deletion.
2016-12-27 15:52:33 +02:00
Mykyta Biliavskyi f967c4dea5 Fileselector: make parse path string windows platform support.
On windows platform file path contain '\\' instead of '/'.
Test plan:
   - on windows platform launch elemntary_test -to fileselector.
   - type something into search entry.

@fix
2016-12-27 10:17:43 +02:00
Carsten Haitzler a6f7b0f834 efreet cache - handle corner case where efreetd keeps disconnecting
so an odd one. there is a socket, but nothing is actually listening on
it, but clients keep spinning launching efreetd's because the launch,
connect, then get a disconnect and try again immediately keeping
things spinning heavily, so add a delay of 0.5 sec before launchnig
another efreetd if the launch + connect fails and gets a disconnect
within 0.5 sec ... so give up for 0.5 sec before trying again to avoid
a runaway system.

@fix
2016-12-26 13:06:35 +09:00
Carsten Haitzler 44a70ab98c Revert "spinner: call changed callback on value set."
This reverts commit 082ea96673.

As per mail from Andrii, and he's right:

From: Andrii Kroitor <an.kroitor@samsung.com>
To: Enlightenment developer list <enlightenment-devel@lists.sourceforge.net>
Subject: [E-devel] elementary callbacks hell
Date: Fri, 23 Dec 2016 18:03:58 +0200

Recently existing callbacks behavior was broken once again. This time by
https://git.enlightenment.org/core/efl.git/commit/?id=082ea9667343b7016d86143a625881a8c4aa30a4
Before that commit "changed" callback was triggered only on user
changes, after - on user changes and changes from code.
I understand that in some cases this flow is needed. But previously you
could simply trigger your callback after setting value to spinner from
code to get desired missing behavior.
On the other side - now you can't distinguish value changes made by code
from value changes made by user without dirty and painful to support
hacks. If you don't want your callback to be
triggered by elm_spinner_value_set you need to add some flag meaning
"change from code", raise it before every call of value_set, check it
inside callback, remove it after the call.
And if you want to call it from spinner "changed" callback..? Good luck
here. This is possible, but requires additional wrappers around
spinner_add and spinner_value_set and replacement with custom signals.

So this change added bigger problems than solved.
2016-12-24 09:50:23 +09:00