crashes too in real life. try with valgrind again some tiome. rp's
(parts) freed before callbacks called thus cb data is invalid by the
time its called.
SVN revision: 72090
NOTE: VIRTUAL part are almost like rectangle except they don't create any object
on the canvas. This part can't be visible, nor have any color, nor be used as a
clip, nor receive any event.
SVN revision: 71674
Subject: [E-devel] [Edje]: Bug Fix: Edje draggable jumps when external
events is used.
Please find attached bug fix patch for edje draggable jump issue when
external event area is used.
Bug: When an external event area is used for edje draggable and when
after mouse move if immediate mouse down
is done then the draggable jumps back to its original position.
Analysis: In _edje_mouse_down_signal_cb When an external event area
is set i.e., when rp->events_to is set.
tmp.x value is set to 0, need_reset is set to 1 and also
_edje_recalc_do is called including emitting "drag" signal. this code
is
unnecessary/buggy and instead it causes the jump.
1. In mouse down only drag->down.x and drag->down.y needs to be set
which is being set below and tmp value need not be reset to
0 as tmp value is calculated in mouse move based on drag->down.x and
drag->down.y values.
2. need_reset is already set in mouse up hence need not be set in
mouse down again.
3. edje_recalc_do is the function which actually causes the movement
of draggable based on tmp value hence need not be called in mouse down.
because of the above code race condition happens and as tmp value is
being set to 0 and need reset is also enabled the draggable jumps back
to where it
started.
4. "drag": is sent even before "drag,start" [ should not /need not be
sent in mouse down ]
All the above code is added only when external event area is set and
the above code is not even related to whether external event is set or
not.
Solution: When an external event area is set directly equating rp =
rp->events_to and sending mouse,down would be enough, as down.x and
down.y is set below
including sending drag,start. Recalc_do should be called only in mouse
move as its responsible for movement including setting tmp value.
need_reset is already set in mouse up. drag should not be sent from
mouse down.
Change Description:
Bug Fix: Edje Draggable jumps when mouse down is done immediately
after mouse move when an external
event area is used.
demo edc pasted below to reproduce the issue.
Please find attached bug fix patch for edje draggable jump issue when external event area is used.
Bug: When an external event area is used for edje draggable and when after mouse move if immediate mouse down
is done then the draggable jumps back to its original position.
Analysis: In _edje_mouse_down_signal_cb When an external event area is set i.e., when rp->events_to is set.
tmp.x value is set to 0, need_reset is set to 1 and also _edje_recalc_do is called including emitting "drag" signal. this code is
unnecessary/buggy and instead it causes the jump.
1. In mouse down only drag->down.x and drag->down.y needs to be set which is being set below and tmp value need not be reset to
0 as tmp value is calculated in mouse move based on drag->down.x and drag->down.y values.
2. need_reset is already set in mouse up hence need not be set in mouse down again.
3. edje_recalc_do is the function which actually causes the movement of draggable based on tmp value hence need not be called in mouse down.
because of the above code race condition happens and as tmp value is being set to 0 and need reset is also enabled the draggable jumps back to where it
started.
4. "drag": is sent even before "drag,start" [ should not /need not be sent in mouse down ]
All the above code is added only when external event area is set and the above code is not even related to whether external event is set or not.
Solution: When an external event area is set directly equating rp = rp->events_to and sending mouse,down would be enough, as down.x and down.y is set below
including sending drag,start. Recalc_do should be called only in mouse move as its responsible for movement including setting tmp value. need_reset is already set in mouse up. drag should not be sent from mouse down.
Change Description:
Bug Fix: Edje Draggable jumps when mouse down is done immediately after mouse move when an external
event area is used.
demo edc pasted below to reproduce the issue.
Please find attached bug fix patch for edje draggable jump issue when
external event area is used.
Bug: When an external event area is used for edje draggable and when
after mouse move if immediate mouse down
is done then the draggable jumps back to its original position.
Analysis: In _edje_mouse_down_signal_cb When an external event area
is set i.e., when rp->events_to is set.
tmp.x value is set to 0, need_reset is set to 1 and also
_edje_recalc_do is called including emitting "drag" signal. this code
is
unnecessary/buggy and instead it causes the jump.
1. In mouse down only drag->down.x and drag->down.y needs to be set
which is being set below and tmp value need not be reset to
0 as tmp value is calculated in mouse move based on drag->down.x and
drag->down.y values.
2. need_reset is already set in mouse up hence need not be set in
mouse down again.
3. edje_recalc_do is the function which actually causes the movement
of draggable based on tmp value hence need not be called in mouse down.
because of the above code race condition happens and as tmp value is
being set to 0 and need reset is also enabled the draggable jumps back
to where it
started.
4. "drag": is sent even before "drag,start" [ should not /need not be
sent in mouse down ]
All the above code is added only when external event area is set and
the above code is not even related to whether external event is set or
not.
Solution: When an external event area is set directly equating rp =
rp->events_to and sending mouse,down would be enough, as down.x and
down.y is set below
including sending drag,start. Recalc_do should be called only in mouse
move as its responsible for movement including setting tmp value.
need_reset is already set in mouse up. drag should not be sent from
mouse down.
Change Description:
Bug Fix: Edje Draggable jumps when mouse down is done immediately
after mouse move when an external
event area is used.
demo edc pasted below to reproduce the issue.
Please find attached bug fix patch for edje draggable jump issue when external event area is used.
Bug: When an external event area is used for edje draggable and when after mouse move if immediate mouse down
is done then the draggable jumps back to its original position.
Analysis: In _edje_mouse_down_signal_cb When an external event area is set i.e., when rp->events_to is set.
tmp.x value is set to 0, need_reset is set to 1 and also _edje_recalc_do is called including emitting "drag" signal. this code is
unnecessary/buggy and instead it causes the jump.
1. In mouse down only drag->down.x and drag->down.y needs to be set which is being set below and tmp value need not be reset to
0 as tmp value is calculated in mouse move based on drag->down.x and drag->down.y values.
2. need_reset is already set in mouse up hence need not be set in mouse down again.
3. edje_recalc_do is the function which actually causes the movement of draggable based on tmp value hence need not be called in mouse down.
because of the above code race condition happens and as tmp value is being set to 0 and need reset is also enabled the draggable jumps back to where it
started.
4. "drag": is sent even before "drag,start" [ should not /need not be sent in mouse down ]
All the above code is added only when external event area is set and the above code is not even related to whether external event is set or not.
Solution: When an external event area is set directly equating rp = rp->events_to and sending mouse,down would be enough, as down.x and down.y is set below
including sending drag,start. Recalc_do should be called only in mouse move as its responsible for movement including setting tmp value. need_reset is already set in mouse up. drag should not be sent from mouse down.
Change Description:
Bug Fix: Edje Draggable jumps when mouse down is done immediately after mouse move when an external
event area is used.
SVN revision: 71277
NOTE: know issue, in elementary_config the size of the icon
change after a theme reload. I don't know what information is
lost between to reload. If someone can point at them, thanks.
SVN revision: 71235
NOTE: now you can change theme dynamically in elementary apps more reliably.
This doesn't handle the case where the swallow was done in a parent object and
the reswallow should happen in a another group. I don't how to fix that use
case.
don't see yet how to handle that
SVN revision: 70901
For the moment only edje_player use it. This means that when used with
edje_watch, you don't need any more to type any kind of command line
when you are testing value in your theme. As a side effect, this means
that their is a real use case to make edje_cc faster !
SVN revision: 70890
This make it possible to completly disable signal broadcasting as this
new behaviour broke Edje 1.0 file. It's also now possible to use the
same group in different part in the same parent group without any issue.
I am tempted to backport this patch to 1.1 branch as it would make it
play nicely with file coming from Edje 1.0.
Another issue that this patch fix is that I did increment the minor version
as we really have add a lot of addition since Edje 1.1 and Edje file build
with trunk may not play well anymore on Edje 1.1.
SVN revision: 67936
This patch try to prevent the broadcasting of targeted message. This should minimize
the problem generated on edje sub GROUP that didn't expect to see that much message
coming to them. It just a minimization of the problem, as message that don't target
explicitly a part are still propagated and can still break your edje usage from 1.0
to 1.1 version.
SVN revision: 67830
edje_object_text_insert_filter_callback_add, a filter function
should check the type(format, text, or markup) of text for correct
filtering. But in markup filter function(added by new API), text is
always markup so no need to check the type of text.
SVN revision: 67724
This should probably become the new standard for coords as it doesn't
clash with the damn y1 posix function.
Thasks to Gustavo for the naming.
SVN revision: 67325
Long time ago, in
http://www.mail-archive.com/enlightenment-devel@lists.sourceforge.net/msg32795.html
mail thread and IRC,
I talked with about problem of asynchronous event API such as
ecore_imf_context_commit_event_add,
ecore_imf_context_preedit_changed_event_add, so on.
In short, The problem is that key event and text_set APIs are processed
immediately, but commit event and preedit changed event is processed
asynchronously because those APIs add each event to ecore event queue.
To fix these problems, I've decided to create synchronous event APIs such
as ecore_imf_context_event_callback_add, del and call.
For considering compatibility, sync and async event callback functions are
used in xim and scim immodule.
SVN revision: 67290
be 1.1 (or 1.5) for the last release. too late. THIS is why i'm sick
and tired of all the bloody separate libs that have to be versiioned
and build and released separately. :( too many places to go fix up per
release.
SVN revision: 67284
Global shadow warnings are annoying and thus will be ignored at the moment,
There are other issues as well though, for example, not using cpp_token_file.
I don't know if that's intended or not, so I won't just suppress the warning.
SVN revision: 67242
allows us to multiple a minimim size explicitly for min size calc so
we can do things like have content slide open/closed properly.
SVN revision: 67197
This is so that future scripts will still work with old libraries,
and lets us add the "host can provide Lua API" feature soon.
Also some more comments.
SVN revision: 66961
NOTE: it's just a partial revert of previous patch by
raster. Without that, some text were flickering going
on and off for sometime. I didn't take the time to
understand why, but by forcing the recalc it permanently
solve the issue.
SVN revision: 66903
NOTE: I am still wondering what is the cost difference between
forcing a request to eet_open and calling stat. If someone has some
time to benchmark, feel free to do so and report on e-devel ml.
SVN revision: 66902