Before this patch, the key would always be zero and the hash would solely
rely on the rbtree to be efficient. This improve the situation by using the pointer
as the key during hash computation.
Summary:
Some parameter's name are different in annotations and statements,
so it occurs doxygen warning.
To fix it, rename that parameters.
Test Plan: API Doxygen Revision
Reviewers: raster, cedric, jpeg, myoungwoon, Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D5327
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Putting local variable "d" under preprocessor flag "EINA_SAFETY_CHECKS" to avoid below warning, if "EINA_SAFETY_CHECKS" is disabled.
1. local variable "d" is assigned but not used.
2. If warning 1 is resolved then variable "d" will be unused.
Reviewers: raster, cedric
Reviewed By: cedric
Subscribers: jpeg, rajeshps
Differential Revision: https://phab.enlightenment.org/D5321
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: assignment to local variable "ret" has no meaning as it is not used after assignment. So, removing assignment operation to avoid warning.
Reviewers: raster, cedric
Subscribers: jpeg, rajeshps
Differential Revision: https://phab.enlightenment.org/D5303
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
#finally
For now we focus the widgets of a item, the item content can be cycled
by tab / Ctrl + tab. up/down/right/left are for now handled by gengrid
and move the focused item (everything else feels super weird with
multiple contents in a item)
ref T6181
this can be used in a container that has his own item management api,
Each item management call results in a dirty call, once we are called to
prepare for logical movement we can simply flush the order. So we reduce
the spam of order calls, which also safes runtime.
Summary:
Some parameter's name are different in annotations and statements,
so it occurs doxygen warning.
To fix it, rename that parameters.
Test Plan: API Doxygen Revision
Reviewers: raster, cedric, jpeg, myoungwoon, Jaehyun_Cho
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D5313
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
Some parameters' name are different in annotations and statements,
so it occurs doxygen warning.
To fix it, change it appropriately.
Test Plan: API Doxygen Revision
Reviewers: raster, cedric, jpeg, myoungwoon, Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D5316
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
if 'evas_object_smart_data_get' return null somehow,
logic that dereference the smart data pointer will cause problems.
This patch prevent a potential bug in advance.
Reviewers: jpeg, woohyun, cedric
Differential Revision: https://phab.enlightenment.org/D5290
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary: Unsigned integer should not be compared less than zero.
Test Plan: NA
Reviewers: cedric
Subscribers: shilpasingh, jpeg
Differential Revision: https://phab.enlightenment.org/D5274
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
thats just a little helper, where the logic to find and fetch the
provider is bound to the position in the widget tree, this means that
for example gengrid could change the way the logical parent is
evalulated. (For example to map the logical parent to a item)
eina_strbuf_append_strftime()
eina_strbuf_insert_strftime()
eina_strbuf_prepend_strftime() - macro
We need these functions for implementing generic format function
interface especially for calander.
Ref T6204
Efl.Animation and Efl.Canvas.Object need each other, and introduce a
cyclic dependency. Eolian doesn't complain... but C++ fails to compile,
as one header must be included before the other, and vice-versa.
Do we have other cyclic dependencies? I remember we lifted the
limitation in eolian itself, but can't remember exactly how it should be
handled...
Ping @q66 @felipealmeida
Simply pass in the strbuf and don't expect the callee to own it. This
makes things simpler and safer (it'll crash only if the callee frees
said strbuf, and shouldn't leak). efl_ebug_name is new in the upcoming
release, EFL 1.21.
Realised this after talking with Amitesh. Thanks.
See 999dbd9764
And c4769ff898
This is really several inseparable commits mashed together, as doing this
a piece at a time would introduce broken intermediate revisions.
Double buffer incoming "configure" state from the compositor so it's held
back during asynchronous render and processed at frame completion.
Hold off on certain requests if their API has been invoked during async
render.
This should fix a lot of races, cosmetic issues, issues where weston can
kill our clients for acking configure (or not) at bad times, etc.
This adds the concept of a "false commit" that just sends a surface
commit without changing any other state.
This is intended to be used by ecore_evas to request a frame callback
from the compositor
Seems my brain missed the efl release and started tagging new API
incorrectly in the doxy.
This is all beta API that should probably only be used by other EFL
internals anyway, but I suppose it's a good idea to try to be somewhat
correct.
Efl.Interpolator class is to interpolate a value.
Efl.Interpolator class has the following interpolation function classes
as its subclasses.
Efl.Interpolator.Linear
Efl.Interpolator.Accelerate
Efl.Interpolator.Decelerate
Efl.Interpolator.Sinusoidal
Efl.Interpolator.Divisor
Efl.Interpolator.Bounce
Efl.Interpolator.Spring
Efl.Interpolator.Cubic_Bezier
Efl.Animation.Group.Sequential is a class for animations started in
sequence.
Efl.Animation.Object.Group.Sequential is a class which provides
methods for an object of Efl.Animation.Group.Sequential.
The objects added into the sequential group animation object start
in sequence.
Efl.Animation.Group.Parallel is a class for animations started in
parallel.
Efl.Animation.Object.Group.Parallel is a class which provides methods
for an object of Efl.Animation.Group.Parallel.
The objects added into the parallel group animation object start in
parallel.
Efl.Animation.Object is a class which starts or cancels animation.
Efl.Animation.Object instance is created by Efl.Animation instance.
So Efl.Animation.Object instance contains animation properties from
Efl.animation instance.
Animation properties are set by using Efl.Animation instance and the
animation is started or cancelled by using Efl.Animation.Object.
This region has little to do with focus, as it's more of a region of
interest within the widget, and not directly related to the highlight
geometry, for instance. It's related to focus in the sense that only
widgets with focus would really care about this region.
I decided to change this name after talking with @bu5hm4n.
Note that gengrid uses this but is also completely broken (the focus
highlight floats around and you don't even see the focused item).
Note: This is very close to show_region but I'm not sure those can be
merged safely (since the default "focus_region" is NULL while the
default "show_region" is the widget's geometry).
Ref T5363
This is modifying how a rarely used environment variable that sets the
DPI used for font sizing is parsed. The previous form remains valid, of
course. Note that EFL tends to use "scaling" instead of this DPI. The
font DPI is useful for me to open up a terminology window with almost
the same size as my IDE's code viewer.
Use case:
export EVAS_FONT_DPI=95x94 terminology
Note:
I still don't get a 1:1 match with Qt's rendering, and in fact
94x95 works better than what 95x94 (which is reported by xdpyinfo).
Interesting though :)
@feature
These timestamp functions are not currently being called, perhaps they
were intended for something later?, but for now just #if 0 them out as
they are not used
Signed-off-by: Chris Michael <cp.michael@samsung.com>
they are not anymore needed, before they existed for keeping the focus
in the window, even if the keystrokes should be focus movements. This is
already working without this.
the focus rectangle is basically just a normal efl.canvas.rectangle, but
with the focus interface implemented.
This fixes alot of errors which gets called when the root_focus manager
is used, with the submanager as mixin.
I kept the safety error message for easier debugging.
Test scenario:
elementary_test -to "Window Inline"
Click on an entry. Press Shift+Tab.
Ping @bu5hm4n
This makes EAPI evas_object_del() and EO API efl_del() work the same on
evas objects, i.e. a del() implies an immediate call to hide() and mark
the object as "delete_me".
If the refcount remains > 0 the object won't be actually deleted, thus
EFL_EVENT_DEL won't be triggered. I think it would probably be a good
idea to have a new event "del,request", to signal reference owners that
this object "wants" to die.
Ping @raster @zmike
Summary:
There is no effect of assingning a variable while clean up.
@fix
Reviewers: raster, cedric
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5272
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
There is no effect of comparing with same expression.
@fix
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5271
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
Unsigned integer should not be compared to less than zero.
@fix
Reviewers: cedric
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5270
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
Unsigned integer should not be compared to less than zero
@fix
Test Plan: NA
Reviewers: cedric
Reviewed By: cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D5269
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
If you call focus_set(m, o) where o is a logical child, then the focus
will go to any none logical child of o, or if there is nothing in the
children of o, then the focus will remain on the now focused element.
This reverts commit 7a98f617e9.
this commit breaks compiling things against efl badly. i'm on holiday
and haver only a mini screen and keyboard wwith me so any serious wok
in hunting these issues isn't going to be fun or easy. as this causes
bad build brreaks this is worth a revert IMHO. please re-submit wwhen
you've tested against efl by building things against it. also our
public headers just should not have such ifdefs/if's that change api
presented based on how efl is cnfigured. we expose the same api and
macros and types regardless of internal config.
Summary:
Wrong camparision with less than zero for unsigned integer.
@fix
Test Plan: NA
Reviewers: raster, cedric
Reviewed By: cedric
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5262
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Variable assigned is not used anywhere else, making it unused.
@fix
Test Plan: Na
Reviewers: raster, cedric
Reviewed By: cedric
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5263
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Unsigned interger should not be compared to less than zero.
@fix
Test Plan: Na
Reviewers: cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D5264
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Passing NULL to variadic funtion may lead to undefined behaviour.
@fix
Test Plan: NA
Reviewers: lukasz.stanislawski
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5265
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
As 'flags' can be supplied by application, in case application is supplying
a big string(error case), it can cause crash in some version of glibc.
Setting maximum possible input (0x64) length as width specifier
Fix for static code analyzer warnings
- scanf without field width limits can crash with huge input data on some versions of libc
Signed-off-by: Godly T.Alias <godlytalias@yahoo.co.in>
Test Plan: Run SonarQube
Reviewers: cedric, raster, Princekrdubey, rajeshps
Reviewed By: cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D5266
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
since fd9cf1d3b6, All Eo canvas objects remain
visible by default.
but elm_hover doesn't want to be shown in combobox constructor.
showing elm_hover in constructor occurs unexpected behavior.
this fixes that bug.
Test Plan:
1. elementary_test - Combobox
2. Click the combobox to Expand the list.
Reviewers: jpeg, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5267
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Realization of audio data playback through WASAPI (Windows Audio Session API).(minimal)
WASAPI model:
1. Find a playback device (in the default system)
2. Register the client on the playback device.
3. Create a playback format for audio data.
4. Initialize the client with the created format, and access mode, ....
5. Take the object-rendering from the client for play the data stream.
6. Play data stream
ecore_audio model:
1. create a object for play the data stream(out object)
2. create a object to receive the data stream(in object)
3. register in the out-object the in-object
4. play data stream
Necessary:
Realize the ecore_audio object to play the data stream using the WASAPI model.
How implemented:
1. The object ecore_audio_out_wasapi is implemented
2. object ecore_audio_out_wasapi - the object constructor is find a playback device (in the default system)(WASAPI)
3. _ecore_audio_out_wasapi_ecore_audio_out_input_attach - register in the out-object the in-object
3.1 Register the client on the playback device.(WASAPI)
3.2 Create a playback format for audio data.(WASAPI)
3.3 Initialize the client with the created format, and access mode, ....(WASAPI)
4. _write_cb - play data
4.1 Take the object-rendering from the client for play the data stream.(WASAPI)
4.2 Play data stream(WASAPI)
Reviewers: cedric, vtorri, raster, an.kroitor, NikaWhite, FurryMyad, rimmed, t.naumenko, Jaehyun, bowonryu
Reviewed By: vtorri, NikaWhite
Subscribers: artem.popov, cedric, jpeg
Tags: #windows
Differential Revision: https://phab.enlightenment.org/D5029
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
elput_input_pointer_rotation_set may be getting called before input
devices are actually added, so we need to be able to set pointer
rotation when a device actually gets added.
To fix this, we will store the requested input rotation value, and
apply it at the time of input device creation.
NB: The current case is that the wl_drm module will apply existing
output rotation before Input has completely initialized, thus any
calls to set the pointer rotation there will not succeed as input
devices have not been created yet.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Test Plan: run on XP
Reviewers: jpeg, cedric, ajwillia.ms
Reviewed By: ajwillia.ms
Subscribers: ajwillia.ms
Differential Revision: https://phab.enlightenment.org/D5245
Keep the legacy code path when using edje_object_part_text_set.
Fixes e's notification that got broken after
3642b3ae67.
Also, limit new efl_text_markup set to TEXTBLOCK parts.
there can be cases where the call to such a function is never going to
be directed to the actual implementation. In those cases the FallackCall
will be called.
Summary:
There was missing info when text is deleted by _edje_entry_imf_event_delete_surrounding_cb().
@fix
Test Plan: N/A
Reviewers: kimcinoo, raster, cedric, jpeg, herdsman
Differential Revision: https://phab.enlightenment.org/D5240
Summary:
Evas should add font when only FcPatternGet function gives matched result.
@fix
Test Plan: N/A
Reviewers: raster, cedric, herdsman, jpeg
Differential Revision: https://phab.enlightenment.org/D5236
fix CID 1379920 - event_flags is actually never NULL or undefined in
the function logic. it's always set to point to the specific event
flags field depending on struct type or the function will return
before using the pointer.
Also implement markup_set/get for:
- Efl.Ui.Frame
- Efl.Ui.Slider
Users may choose between text_set/get and markup_set/get, depending on
whether they want to escape their text or not.