Add ecore_thread_promise_run function that returns a Promise
and runs function in another thread which you can set the
value on a Eina_Promise_Owner.
Eina_Promise* promise;
Ecore_Thread* thread = ecore_thread_promise_run
( &function_heavy, &cancellation_function, private_data,
sizeof(ValueType), &promise);
This calls function_heavy on another thread and returns
the Ecore_Thread and a Eina_Promise as an out-parameter.
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Add a promise object that will allows Eolian interface to include promises
as a way to have asynchronous value return and composibility.
To understand better, let see the coming usage in a .eo file:
class Foo {
methods {
bar {
params {
@inout promise: Promise<int>;
}
}
}
}
Which will create the following API interface:
void foo_bar(Eo* obj, Eina_Promise** promise);
and the equivalent declaration for implementation.
However, the API function will instantiate the Promise for the user
and the implementer of the class automatically. So the user of this
function will treat it as a @out parameter, while the developer of the
function will treat it like a @inout parameter.
So, the user will use this function like this:
Eina_Promise* promise; // No need to instantiate
foo_bar(obj, &promise);
eina_promise_then(promise, callback);
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
This patch adds an xcb implementation for missing
ecore_x_randr_crtc_panning_area_set function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing
ecore_x_randr_edid_display_interface_type_get function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing function
ecore_x_randr_screen_backlight_level_set
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing API function
ecore_x_randr_edid_dpms_off_available_get
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing
ecore_x_randr_edid_dpms_standby_available_get function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing
ecore_x_randr_edid_display_serial_get function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing
ecore_x_randr_edid_display_ascii_get function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing API function
ecore_x_randr_edid_dpms_standby_available_get
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing function
ecore_x_randr_edid_dpms_available_get
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for missing API function
ecore_x_randr_edid_manufacturer_serial_number_get
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for ecore_x_randr_edid_model_get
function which was missing from ecore-xcb.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an xcb implementation for
ecore_x_randr_edid_manufacturer_model_get function
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
ecore_x_randr_edid_manufacturer_name_get
This patch adds an implementation inside ecore-xcb for missing API
function ecore_x_randr_manufacturer_name_get
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds an implementation for
ecore_x_randr_edid_info_has_valid_checksum which was missing in the
ecore-xcb codebase.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch adds definition of missing API function
ecore_x_randr_output_crtc_set.
NB: This function also has no code in the xlib implementation
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
As portions of this code have been derived from existing code in
Weston, we should also be including their copyright/license text to
give credit.
Fixes T3421
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This allows doing ugly things such as setting a clipper/mask
on any smart object, without having to worry about seeing a
white rectangle cover the whole screen.
While the above scenario is not a great idea (bypass elementary in
its handling of the clipper), having a big white rect covering the
entire UI seems even worse.
I wonder if elm objects shouldn't simply allow user clippers, and
somehow manage them along with the smart object internal clipper.
AFILL should be used only for certain images, which are
actually native external or dynamic content images.
All normal image don't need the AFILL flag, since they should
have proper argb and alpha flag.
this now allows vpath files to be looked uop using app directory
resources like @app.data/file.jpg ... if the object uses vpath to do
its hunting.
@feature
this inits a new vpath object and adds it at priority 0 to the vpath
manager so you can use the vpath manager to create vpath file objects
and look things up.
@feature
this adds a core vpath subsystem to efl that allows paths like:
~/file.jpg
~user/file.jpg
(:tmp/file.jpg
(:config/file.jpg
(:videos/file.mp4
(:pictures/file.jpg
(:app.config/mycfg.cfg
etc. to be translated/looked up. it is desitgned to be async and call
event callbacks when ready. the reason for this complexity is fo in
future also handle:
file:///whatever/file.jpg
http://blah.com/file.jpghttps://blah.com/file.jpg
ssh://blah.com:~/file.jpg
etc.
@feature
Summary:
Popup has the main layout to show popup view, but it is not resize object of popup.
As the result, we cannot emit the signal to the main layout when we want to change the state of the popup.
So, popup inherited a layout signal emit and redirect the signal to the main layout.
Test Plan:
1. add the custom signal in elm/popup/base/default layout
2. send the custom siganl in application code
Reviewers: woohyun, raster, cedric, Hermet, singh.amitesh
Reviewed By: singh.amitesh
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D3852
We're supposed to allocate a large pool at startup and use it for
resizing to save pool allocations. However, this was broken and
we ended up allocating both a large pool and a proper sized pool
every resize.
This restores correct behaviour.
eng_window_use() uses outbuf->redirect, so the clever code in
eng_outbuf_reconfigure that avoided setting it to NULL to check
if we needed to recreate the redirect was not very clever at all.
Previous redirect to texture approach broke multiple window applications
by having only a single redirect per context. This approach allows
multiple redirections.
This patch implements missing API functions (in ecore xcb) for
ecore_x_window_keygrab_set, ecore_x_window_keygrab_unset,
ecore_x_e_keyrouter_set, ecore_x_e_keyrouter_get. These
were missing from the initial commit of keygrab/keyrouter code.
Fixes T3377
ref 5c3a08433a
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
As Ecore_X_Window is an 'int' type, we should not be initializing it
to NULL. This causes compiler warnings about initialization makes
integer from pointer without a cast.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This follows commit f10672dd74
which apparently forgot some changes in xlib and eglfs.
I hope there are no remains of the old native bind/unbind
functions. Also... I can't build everything, so I'm just hoping
this works. Note: GL and SW native images are not using the
same internal api prototypes.
Programs crashed on a segmentation fault when the last window was
closed. The eng_output_idle_flush() function was removed... but
since gl_cocoa does not properly use *_generic modules, the
output_idle_flush() function called by the render engine was
garbage (hence the segfault).
Now nothing is done... but at least we don't crash anymore.
if gif has example 4 colors in colormap, pixels provided still can
hold values higher than 3 (4, 8, 255 etc.) ass a pixel is still a
byte. it should not, but it could. technically it'd be nice for gitlib
to pad its palette out to 256 entires to ensure this cant be a
problem, but it doesn't have to , so make a local copy of the cmap
when decoding pixels and pad out to 256 entires (using color 0 as any
value > pallette ize is invalid anyway so any color will do).
this fixes a possible security attack vector in reading memory out of
bounds of an allocated array. not very far out of bounds - but enough
to cause a crash - ie a dos attack, (not to inject code though).
@fix