See D4144.
Original author: @slotus.lee
SEG_FAULT happens when the object which has selection is deleted,
and new selection is done at another object.
Reason: loss_cb is not removed when the object which has selection is deleted.
When new selection is set for new object, the loss_cb is called for deleted
object. As result, SEG_FAULT happens.
This issue was also happened in X11 (https://phab.enlightenment.org/D2763)
Test plan:
(on wayland environment) Run elementary test, open Entry, do selection,
close Entry window, open Entry one more time, do selection.
in theory another libc call could overwrite errno between select
exiting and errno being used for errors. be paranoid. i know of no
real bug that this causes though.
so smart object bounding box wasnt updated properly in several other
cases. fix those other cases too by dirtying bounding box region.
this continues on from:
f6b3c3156125d77bc1d29f0fd66ab8
this fixes T4017
@fix
this will fix case when aliased group was changed and alias-group was loaded,
so then on saving alias-group WON'T rewrite all changed to aliased group
@fix
During the rename this header got lost and distcheck broke for me due to
problems when generating the files from eo. I fixed a similar problem after
the rename ro efl_ui_flip in commit c3c344da41
Subhransu, please keep this in mind when renaming another one so I do not have
to do another of these fixes. :)
so after some discussion with jpeg, weak referenced keys are also a
good idea. these need del track handling to be weak, so i made strong
reffed keys also do del tracking again as it's just nice to do this
and be more robust. also added and improved the test suites for this
key value stuff.
@feature
Running E wl2 in KVM led to the following issue: integrated mouse
pointer would always be stuck at (0,0).
The reason was that calibration would never happen, and it's
required* for absolute pointing devices, such as the qemu mouse
integration.
Fix: Listen to device add and calibrate based on the first
output. No idea if we could calibrate on any other output,
or how this should be done in case of multiple screens.
[*] I believe calibration might actually not be required, as
the absolute position is already the correct one when
received from libinput.
this is a continuation fix from
25d77bc1d2 and
9f0fd66ab8
this fixes yet more corner cases after the above 2 fixes. our clip
cache tracking code seems to be broken somewhere and not updating - at
least when events are processed so i did ti the slightly slower way
and recursed through clippers to figure it out in this path. it all
works now it seems but it's got a small speed hit. better be right
than a little faster.
@fix
Summary:
The code of making buttons buffer is away from related codes.
@fix
Reviewers: Hermet, Jaehyun_Cho, jpeg, raster, cedric
Subscribers: Blackmole
Differential Revision: https://phab.enlightenment.org/D4133
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
When text_set is called for entry, it sets to empty text
before calling _entry_text_append().
but, _entry_text_append() has 'set' parameter.
Therefore text is set in that function, and clearing is not needed.
It can fix "changed" smart callback is invoked multipe times
when a short text is set to entry.
In addition, if text length is larger than ELM_ENTRY_CHUNK_SIZE,
set text directly as amount of chunk size and idler will append
about remain text.
@fix
Test Plan:
1. elementary_test -to "entry5"
2. click "set 10000" button
2-1. changed message should be printed 1 time
3. click "set 10001" button
3-1. changed message should be printed 2 times
Reviewers: tasn, Hermet, id213sin, cedric
Reviewed By: cedric
Subscribers: woohyun, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4134
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>