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
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
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>
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
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
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
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
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
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
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
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
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
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
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
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.
this doenst change functionality but just cleans up the file
whitespacing and formatting and removed commented out junk, 80 column
wrapping/overflow etc.
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.
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
On windows platform file path contain '\\' instead of '/'.
Test plan:
- on windows platform launch elemntary_test -to fileselector.
- type something into search entry.
@fix
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
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.