Commit Graph

16516 Commits

Author SHA1 Message Date
Gustavo Sverzut Barbieri 75839f61a5 eina_value_stringshare: safer copy, to cope copying user-generated structs.
array, list, struct and others set() now copies the values. These
values can be created by user, in this case string is just a stack
object and not a real eina_stringshare.

To cope with it, add the string instead of referencing it. Bit slower,
but nicer behavior.




SVN revision: 67886
2012-02-13 16:18:47 +00:00
Carsten Haitzler e669719714 make rect_t use int's... no overflow. yay!
SVN revision: 67884
2012-02-13 14:37:41 +00:00
Jihoon Kim e1668198af add edje_object_part_text_imf_context_reset that will use for reseting the input method context
SVN revision: 67881
2012-02-13 11:40:55 +00:00
Hyoyoung Chang 0c74d1c82d From: Hyoyoung Chang <hyoyoung@gmail.com>
Subject: [E-devel] [patch] evas - preventing retard mouse event
process in evas_object_event_callback_call

I made a small patch to prevent retard mouse event process.
At certain circumstance (like as genlist select callback + naviframe
item push),
some events are repeat processed.

If some evas_objects're iterating in evas_event_feed_mouse_up and
mouse_out event's emitted by other interrupt(such as naviframe item
push),
then some evas_objects events are multiple processed by
evas_object_event_callback_call.

More elaborating it with a example.
There are a genlist and a multibuttonentry on genlist item.
When a user clicks multibuttonentry then evas will process mouse down
and up.
in evas_event_feed_mouse_up, it gets evas object list to process mouse
events.
Then in the evas object list, there are two evas objects - rect and
textblock.
Two objects have its own parents.

the rect has below parents.
----------------------------------------
edje  - genlist item
elm_genlist_pan
edje
multibuttonentry
box
entry
els_scroller  (0x2a601788)
rect                                      <== the rect

the textblock has below parents.
----------------------------------------------
edje - genlist item
elm_genlist_pan
edje
multibuttonentry
box
entry
els_scroller(0x2a601788)
edje
elm_pan
edje
textblock                           <== the textblock

(note : two evas object have same parent (els_scroller))

So normally mouse up callbacks event propagates to its own parent.
the rect is processed to genlist item. and the textblock is processed
to genlist item.
but when els_scroller is processed, it's blocked by checking event
type and event id checking.

Mouse Up(rect) ->  Mouse Up(textblock)
event_id (3)      ->   event_id (3)

evas_object_event_callback_call(Evas_Object *obj, Evas_Callback_Type
type, void *event_info, int event_id)
{
   ...
      if ((obj->delete_me) || (!obj->layer)) return;
         if ((obj->last_event == event_id) &&
                (obj->last_event_type == type)) return;
                     <=== blocked
                     
                     However if naviframe item is pushed in the middle
of mouse up processing.
It can break into mouse up. So it's processed like below.

Mouse Up(rect) -> Mouse Out(rect) -> Mouse Out(textblock) -> Mouse
Up(textblock)
event_id (3)      -> event_id(4)         -> event_id(4)
-> event_id(3)
(note Mouse_Out is made by naviframe item push for event freezing)

If that, there's no mechanism to block that repeat processing same
event.
So I suggest this patch.
This patch blocks old events if there's no reason to process.
(It blocks old mouse_up event because mouse_out is processed.)

And I think it also clear the bug in
"[E-devel] event repetition with elm_naviframe/elm_genlist"



SVN revision: 67879
2012-02-13 11:25:23 +00:00
Jihoon Kim 427e4ebce0 scim_immodule: improve maintenability
SVN revision: 67878
2012-02-13 10:55:26 +00:00
Cedric BAIL 1a29f7f309 eio: fix a doc typo.
SVN revision: 67877
2012-02-13 09:06:28 +00:00
윤정현 b297da56de From: 윤정현 <jh0506.yun@samsung.com>
Subject: Re: [E-devel] [Patch] ecore_ipc - remove potential risk in
ecore_ipc_shutdown

I found a problem this infinite loop case.

If server is deleted, then ECORE_IPC_EVENT_SERVER_DEL callback
function will be called in client side.
It will happen infinite loop in ecore_ipc_shutdown if
ecore_ipc_shutdown called in this ECORE_IPC_EVENT_SERVER_DEL callback
function.

For example,
server_del_handler =
ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_DEL, _server_del_cb, NULL);
static Eina_Bool
_server_del_cb(void *data, int type, void *event)
{
   ecore_ipc_shutdown();
   return EINA_TRUE;
 }
      
If server is deleted,
1. _ecore_ipc_event_server_del : svr->event_count++
2. _server_del_cb : ecore_ipc_shutdown called
3. ecore_ipc_shutdown : while (servers) ecore_ipc_server_del(eina_list_data_get(servers))
4. ecore_ipc_server_del : can't eina_list_remove(servers, svr) because event_count != 0
5. infinite loop

I think this while code is very dangerous whether user miss or not.
I modified EINA_LIST_FOREACH_SAFE instead of EINA_LIST_FOREACH refer
to ecore_con.
Please review this patch.



SVN revision: 67874
2012-02-13 06:49:30 +00:00
Jihoon Kim f7ac08317c Add edje_object_part_text_input_panel_show/hide.
These APIs can be used in input panel manual control mode.


SVN revision: 67873
2012-02-13 06:34:47 +00:00
ChunEon Park 839b56769a evas/gl_common - set line color with draw context.
SVN revision: 67870
2012-02-13 05:05:59 +00:00
Jihoon Kim edeccaf614 edje_util.c: remove wrong return
SVN revision: 67868
2012-02-13 04:19:38 +00:00
Jihoon Kim dca83cc17c scim_immodule: set cursor location even though only client_window is provided without evas (ecore_imf_context_client_canvas_set)
SVN revision: 67852
2012-02-12 11:00:48 +00:00
Gustavo Sverzut Barbieri c511fece19 improve documentation of eina model and value.
SVN revision: 67851
2012-02-11 18:04:32 +00:00
Gustavo Sverzut Barbieri 4915aeb8db model: add helper for common pattern
SVN revision: 67845
2012-02-11 00:48:42 +00:00
Gustavo Sverzut Barbieri 5c0041f6ad one day I'll be less stupid...
... or one day we'll move to git so I can rewrite stupid commits :-D



SVN revision: 67844
2012-02-11 00:42:00 +00:00
Gustavo Sverzut Barbieri 1fc6b13d10 eina_value: break usage, but makes it more uniform and correct.
I did a bad decision to steal memory for Array, List, Hash and Struct
types, it was nice to not have to copy it internally, but breaks when
one needs to set a new value that was set elsewhere. What did not
happen with string, integers and other basic types.

This was exposed by Raphael Kubo using eina_model_property_set() with
complex types (Array, List and Hash) and it was not possible to
correctly set such properties.

Now it's all set, but the behavior changed and the memory is not
stolen and released anymore. Test eina_test_value.c was changed to
reflect it.



SVN revision: 67843
2012-02-11 00:34:25 +00:00
Gustavo Sverzut Barbieri 3fbce27e8d value: be safer on reset of existing values.
if user get and then set the same value, we should not crash and this
may happen with previous code as the old
string/array/value/list... were released, then you ended with the
released memory still being pointed.



SVN revision: 67841
2012-02-10 22:03:48 +00:00
Gustavo Sverzut Barbieri 6609523415 value: just setup on new memory!
We should not flush and then setup the memory, instead we leave
vset/pset functions do their own stuff to clean previous data, if any.



SVN revision: 67840
2012-02-10 21:43:55 +00:00
Gustavo Sverzut Barbieri edfd15d9ca value: allow multiple flush.
multiple flush may happen when handling errors. May be used in some cases.




SVN revision: 67839
2012-02-10 21:34:28 +00:00
Gustavo Sverzut Barbieri 0d1b66d44e eina_value: fix convert to string on empty/null cases.
SVN revision: 67838
2012-02-10 21:18:59 +00:00
Gustavo Sverzut Barbieri 63cc1bceea fix test leaks
SVN revision: 67836
2012-02-10 20:39:27 +00:00
Gustavo Sverzut Barbieri e8924c7600 eina_value_hash: must free hash value after it's flushed.
SVN revision: 67835
2012-02-10 20:39:07 +00:00
Gustavo Sverzut Barbieri 817d6234b8 fix memleak in test suite.
SVN revision: 67834
2012-02-10 20:38:28 +00:00
Mike Blumenkrantz 252f6a04b3 fix breakage from r67537 with alias inheriting or somesuch
SVN revision: 67833
2012-02-10 20:34:18 +00:00
Jonas M. Gastal 27f0f4cceb Another example for eina_model.
Patch by: "Jonas M. Gastal" <jgastal@profusion.mobi>



SVN revision: 67832
2012-02-10 17:18:10 +00:00
Cedric BAIL d5cbba52ef edje: told you old man ! broadcasting message to all groups was a bad idea.
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
2012-02-10 16:49:58 +00:00
Cedric BAIL ef1e91430f eet: add support for statistique.
SVN revision: 67829
2012-02-10 15:30:33 +00:00
ChunEon Park f6db68d6f5 evas/evas_events - do not call the up event when obj is freezed and removed useless codes.
SVN revision: 67828
2012-02-10 13:39:15 +00:00
Rafael Fonseca 53e3f54ba5 Ecore_Evas_Cocoa: fix header include name.
SVN revision: 67825
2012-02-10 13:27:46 +00:00
Gustavo Sverzut Barbieri ef2976ec46 thanks vincent.
I just did that mistake to see if you were paying attention... /me liar! :-)


SVN revision: 67822
2012-02-10 11:03:18 +00:00
Gustavo Sverzut Barbieri 687e59a102 eina_model: add xref/xunref, xrefs_get and models_usage_dump!
Let's try to help debug by allowing extended reference management that
takes in account an identifier. This identifier is accounted on xref
and xunref and must match.

xrefs_get will return the list of such references, for debugging purposes.

eina_models_list_get() was added to return all live models, just
tracked when EINA_MODEL_DEBUG is enabled.

eina_models_usage_dump() was added and use the same infrastructure as
eina_models_list_get() and eina_model_xrefs_get() to aid debugging :-)




SVN revision: 67821
2012-02-10 10:48:39 +00:00
Christopher Michael 5c8833cbbe Ecore: Add ChangeLog entries for new ecore_evas_wayland function.
SVN revision: 67820
2012-02-10 10:37:28 +00:00
Christopher Michael 317f1ebf99 Ecore_Evas (wayland): Disable logfn's (again) :( Remove extra parens.
SVN revision: 67819
2012-02-10 10:36:21 +00:00
Gustavo Sverzut Barbieri 6d60ece7db add missing shutdown
SVN revision: 67818
2012-02-10 10:34:19 +00:00
Christopher Michael 1acb7b4f9e Ecore_Evas: Add functions for setting wayland mouse pointer (used from
elm wayland clients).



SVN revision: 67816
2012-02-10 09:16:29 +00:00
Jihoon Kim 039cd30ebd scim_immmodule: Provide compose, string in key down/up event in case of scim-input-pad.
SVN revision: 67801
2012-02-10 00:03:25 +00:00
Gustavo Sverzut Barbieri 5150befe04 remove @EINA_CPPFLAGS@ from remaining Makefile.am
Thanks to Tommy[D] for spotting the problem!


SVN revision: 67799
2012-02-09 21:42:50 +00:00
Gustavo Sverzut Barbieri 232fbec9f1 add Jonas to authors.
He worked previously with documentation, now is helping me with
Eina_Model and will keep adding some examples and fixes here and
there.



SVN revision: 67798
2012-02-09 20:26:00 +00:00
Jonas M. Gastal 9f90af4dc7 More documentation for eina_model.
Patch by: "Jonas M. Gastal" <jgastal@profusion.mobi>



SVN revision: 67797
2012-02-09 19:13:54 +00:00
Gustavo Sverzut Barbieri 0bcae96ccb eina_model: rename all "search" to "criteria_match"
SVN revision: 67796
2012-02-09 16:29:50 +00:00
Gustavo Sverzut Barbieri 013c986c40 eina_model: helper function to setup subclass during runtime.
SVN revision: 67795
2012-02-09 16:20:16 +00:00
Tom Hacohen 0b8df6a240 Eina examples: Formatted model example a bit.
SVN revision: 67791
2012-02-09 12:29:56 +00:00
Tom Hacohen 8a1351b5f0 Evas textblock: Better handle visible formats.
Fixed a crash. Thanks WooHyun for making me fix it now. :)

SVN revision: 67790
2012-02-09 12:21:18 +00:00
Tom Hacohen 29c291ff3b Eina model: Made i_method_resolve a macro (for interface as well)
Same as the previous commit about "Type" this time about Interface.
This will also hopefully remove the likelihood for hacks.
Previous functions are still available as method_offset_resolve.

SVN revision: 67786
2012-02-09 10:32:14 +00:00
Cedric BAIL 87eb14012b eet: add support for GnuTLS 3.x
SVN revision: 67785
2012-02-09 10:30:04 +00:00
Tom Hacohen edbdd6a1ad Evas jpeg loader: Fixed a couple of compilation warnings.
There are a couple more *important* warnings. The switch case at line 564
does not cover all options.

SVN revision: 67784
2012-02-09 10:21:17 +00:00
Christopher Michael 671cda7b73 Ecore_Wl: Add function in header.
SVN revision: 67782
2012-02-09 08:16:45 +00:00
Christopher Michael c510ba8471 Ecore_Wl: Also send mouse move before sending mouse down/up. Add some
missing Logfn's. Add handler to free the mouse_move event when we're
done with it. Add a function to retrieve the 'last mouse button down
time' (needed for fixing surface move).



SVN revision: 67781
2012-02-09 08:15:10 +00:00
Christopher Michael 2644d16d50 Ecore_Evas (Wayland): Fix getting double mouse events for the wayland
engines.

NB: Fixes elementary momentum scrolling.



SVN revision: 67780
2012-02-09 08:12:39 +00:00
Jihoon Kim 09d8eb2f1d ecore_imf_context.c: fix formatting
SVN revision: 67779
2012-02-09 03:53:03 +00:00
Carsten Haitzler 3c9c59c5a5 hmm no - we shouldnt delete here.. we just find it in the active image
hash. as such the image is dirtied and thus removed from this hash
anyway so it doesnt need deleting.



SVN revision: 67778
2012-02-09 03:50:10 +00:00