Summary:
Without this, selection can get cleared when changing focus.
For example, if we have 2 entries:
The first entry is focused and has a selection.
When we focus the second entry, we want to select all the text.
But the old selection gets unfocused and sends a clear signal
to the new focused entry and it gets unselected.
This should fix T2739.
Reviewers: raster, tasn, devilhorns
Subscribers: herdsman, thiepha, cedric
Maniphest Tasks: T2739
Differential Revision: https://phab.enlightenment.org/D3127
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
i found that intel drm device gives BROKEN timestamps vs system clock
- it is off by about 0.3 to 0.4ms - this means the vsync event is in
the future vs when we actually wake up and do processing - this leads
to bizare timelines and likely odd event and animation handling.
fix this by detecting it and figuring out an average delay and
offsetting events by that in future, but until then, use "now" when
the drm thread wakes up as the timestamp.
@fix
Summary:
Assigning to NULL has no effect in the function calling this. So changed it to void.
Some compiler complain about this kind of construct. It is better to use the (void)
construct for silencing unused parameter with different kind of configure option.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Differential Revision: https://phab.enlightenment.org/D3180
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
The assigned value has no effect outside the function. So removing it.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Differential Revision: https://phab.enlightenment.org/D3181
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
If realloc fails, lst would be NULL. So handling it.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Differential Revision: https://phab.enlightenment.org/D3182
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
The assignment to size has no effect on the caller and compiler
complain about it. Do shutdown compiler complain in a more reliable
way.
Signed-off-by:
Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3156
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
_ecore_x_modifiers_get() causes multiple XGetModifierMapping requests to the
server through _ecore_x_key_mask_get() function. _ecore_x_key_mask_get()
requests XModifierKeymap pointer every time it gets executed.
This can be optimized by a single XGetModifierMapping request in the
_ecore_x_modifiers_get() function itself and then passing the XModifierKeymap
pointer thus retrieved to the _ecore_x_key_mask_get() function.
Reviewers: raster, Hermet, tasn, zmike
Subscribers: yashu21985, alok25, sachin.dev, singh.amitesh, cedric
Differential Revision: https://phab.enlightenment.org/D3166
Summary:
Xprint has been deprecated since 2008.
It's recently (August 2015) been removed from debian.
Reviewers: zmike, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3150
this is a less invasive solution for retrieving a keysym. X keysyms are
not portable, and so this function should not be used for any code which
is meant to run on other platforms.
@feature
Summary:
Previous implementation used mouse_handler to create mouse events from touch
events if the device was grabbed and no emulated mouse events were emitted by X server.
However the same functionality could be achieved by using multi_handler with
additional condition on grabbed devices.
Test Plan: elementary_test -> Multitouch
Reviewers: cedric, raster, devilhorns
Subscribers: seoz, cedric
Differential Revision: https://phab.enlightenment.org/D2700
If ecore get the mouse cancel event(ex: display off, or window stack change) from below, we need to deal with.
Currently, evas also generates up event using evas_event_feed_mouse_cancel function when window hide is called.
if cancel event occurs, ecore also call evas_event_mouse_feed_cancel like window hide situation.
cancel event means all button or touch event should be canceled, but in the future, if we need to deal each cancel event according to touch point,
we need to add api like evas_event_feed_multi_cancel
@feature
Summary: The _ecore_x_input_grabbed_is function is only used if we
have support for XI2_2, so move the defines around a little to fix a
compiler warning.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
we can use XI_TouchXXX defines after xi2_2. So we don't need check XI_TouchXXX defines.
I think it is simple only using the ECORE_XI2_2 define instead of using XI_TouchXXX defines.
Summary:
we can use XI_TouchXXX defines after xi2_2. So we don't need check XI_TouchXXX defines.
I think it is simple only using the ECORE_XI2_2 define instead of using XI_TouchXXX defines.
Reviewers: raster, cedric, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2637
Summary:
EFL currently supports pointer grabbing. This patch introduces new API
allowing to grab all slave touch devices registered in X server
Grabbing is performed by XIGrabDevice function from XInput 2.0.
By default ecore_x_input_touch_devices_grab grabs all XISlavePointer devices,
having XITouchInfoClass. Function returns EINA_TRUE if at least one touch device
was successfully grabbed. ecore_x_input_touch_devices_ungrab ungrabs all
previously grabbed devices.
To process events correctly change has been done in x_input_handler to emulate
mouse pointer events. If XITouchEmulatingPointer flag is set on touch events and
device is grabbed framework will generate mouse events. This is required
due to X Server design in which mouse events are no longer send to client when device is
detached (grabbed) from virtual core pointer.
@feature
Reviewers: cedric, raster, devilhorns
Subscribers: seoz, cedric
Differential Revision: https://phab.enlightenment.org/D2568
when using glx it's necessary to share a Display* object, and this object
may be created externally
no tests provided since they would not be run, would require direct linkage to xlib,
and is literally a 2 LoC change from regular ecore_x_init()
@feature
using a sync grab here causes the device to be frozen in the xserver,
preventing any event processing on the device until the grab ends. it also
prevents new grabs, such as the ones which would be created by xkill when
launched from a keybinding; this means that as long as the grabbed key is
held, the pointer is effectively dead to the world.
I attempted to find the reason for using sync pointer grabs here,
but the original commit message was:
aaaahmmm.. no.. this.. oops
see https://git.enlightenment.org/legacy/ecore.git/commit/?id=f62faeae288fc8211d5f97b43d3b81de87db0942
fix T2228
this frees the axis data coming in if struct alloc fails - should
basically never happen, but if it does we don't lose axis data as
caller asumes this data will be freed in the event
related to CID 1256115
Some fields (eg. data) may not be properly initialized.
Use calloc() instead of malloc() will ensure proper initialization
even if we add more fields.
These fields (data) would even be passed down to Evas as
Evas_Event_Key_Down for instance.
Summary: This deprecates the old misspelled screensaver_suspend API
function and adds a new one.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
eina_inarray_new returns NULL if malloc fails. This check was not performed. So have added the check for the error case and returning NULL if any of it fails.
@fix
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1807
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>