Commit Graph

16545 Commits

Author SHA1 Message Date
Mike Blumenkrantz 150bc83acf null check
SVN revision: 68039
2012-02-16 21:57:34 +00:00
Gustavo Sverzut Barbieri 88d6b934aa eina_model: new events for load/unload.
Added the events: loaded and unloaded to notify eina_model_load() and
eina_model_unload() were called.

To be more specific, the interfaces used by EINA_MODEL_TYPE_MIXIN
(Eina_Model_Interface_Properties and Eina_Model_Interface_Children)
also do:
 * properties,loaded
 * properties,unloaded
 * children,loaded
 * children,unloaded



SVN revision: 68035
2012-02-16 19:48:13 +00:00
Gustavo Sverzut Barbieri f7787c0e26 3/3 eina_model: fix inheritance test.
HUMAN_POOPER_IFACE must have ANIMAL_POOPER_IFACE as parent interface,
otherwise the order will be incorrect.

The test were also improved in other ways:
 * use ck_assert_int_eq() instead of fail_if()... it prints the incorrect value
 * check refcount
 * unref models
 * shutdown eina



SVN revision: 68034
2012-02-16 19:33:50 +00:00
Gustavo Sverzut Barbieri ca2db67b69 2/3 eina_model: properly eliminate duplicates.
We must check for duplicates otherwise we'll have remaining entries
after topological sort.



SVN revision: 68033
2012-02-16 19:31:56 +00:00
Gustavo Sverzut Barbieri 769d2e2210 1/3 eina_model: lookup interfaces in the correct order.
We should lookup then in forward order, as they are sorted from
most-specific first, with parents at the end.

This breaks test, will fix in the last commit (3/3).



SVN revision: 68032
2012-02-16 19:30:23 +00:00
Leif Middelschulte 8bdf8faf37 Add mode add/del functions to ecore_x_randr
SVN revision: 68031
2012-02-16 19:26:30 +00:00
Gustavo Lima Chaves c0e58279f5 [Evas] Use the right size for parent smart class on
inheritance.



SVN revision: 68029
2012-02-16 16:27:21 +00:00
Tom Hacohen e9e9d41cf2 Elm model: Updated examples.
Patch by Yakov.

SVN revision: 68027
2012-02-16 12:37:27 +00:00
Jihoon Kim 44464df118 Edje.h: add @since 1.2 in Edje_Input_Panel_Lang, Edje_Input_panel_Return_Key_Type
Thanks to Vincent about spotting it


SVN revision: 67994
2012-02-16 00:40:56 +00:00
Jihoon Kim 758c7a57ab ecore_imf: add @since 1.2 in Ecore_IMF_Input_Panel_Lang and Ecore_IMF_Input_Panel_Return_Key_Type
Thanks to Vincent about spotting it


SVN revision: 67993
2012-02-16 00:35:14 +00:00
Jonas M. Gastal e4f6736b86 Documentation for all eina model functions.
SVN revision: 67992
2012-02-15 18:44:50 +00:00
Gustavo Sverzut Barbieri b7750c1a5b make tasn happier
SVN revision: 67987
2012-02-15 14:17:16 +00:00
Gustavo Sverzut Barbieri cd15de4af3 review animal as example for other example files.
SVN revision: 67986
2012-02-15 14:08:01 +00:00
Gustavo Sverzut Barbieri c94a7ec770 build example.
SVN revision: 67985
2012-02-15 13:50:43 +00:00
Cedric BAIL 21c957e601 edje: forgot to save the information in the file.
SVN revision: 67984
2012-02-15 13:45:56 +00:00
Jihoon Kim e464a99326 edje/edje_entry:
add edje_object_part_text_input_panel_language_set/get
    edje_object_part_text_input_panel_imdata_set/get
    edje_object_part_text_input_panel_return_key_type_set/get
    edje_object_part_text_input_panel_return_key_disabled_set/get


SVN revision: 67966
2012-02-15 08:21:11 +00:00
Tom Hacohen de808a0fb8 Eina model: Added an advanced inheritance + interface example.
SVN revision: 67965
2012-02-15 08:18:47 +00:00
Jihoon Kim 2f2ac7115e edje/entry: remove const from some edje_object_part_text_..._set APIs
SVN revision: 67962
2012-02-15 06:03:00 +00:00
Mike Blumenkrantz 201ae5dea3 use correct errno value for error events
SVN revision: 67960
2012-02-15 05:55:28 +00:00
Mike Blumenkrantz 89276be842 finally finish implementing SOCKS5 proxies in ecore-con.
SOCKS5 is different from SOCKS4 in that it supports password authentication mechanisms (GSSAPI is still on the todo) and IPV6, neither of which are possible with SOCKS4

NOTE THAT THE CMDLINE SYNTAX FOR AUTOSOCKSING HAS CHANGED!
 *   ECORE_CON_SOCKS_V4=[user@]server-port:lookup
 *   ECORE_CON_SOCKS_V5=[user@]server-port:lookup

also note that I did not implement autosocksing with password. it's just not safe.


SVN revision: 67959
2012-02-15 05:53:50 +00:00
Jihoon Kim 567b6ac0e8 ecore_imf: Add ecore_imf APIs to set return key type, disable return key.
SVN revision: 67946
2012-02-15 01:22:28 +00:00
Cedric BAIL 13ae7e3ea4 edje: add EDJE_DUMP_PROGRAMS.
SVN revision: 67940
2012-02-14 18:07:44 +00:00
Carsten Haitzler db8dd819a2 hey cedric.. let's not segv shall we?
SVN revision: 67938
2012-02-14 15:03:12 +00:00
Cedric BAIL 70c734ebdd edje: add broadcast_signal: bool.
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
2012-02-14 14:07:39 +00:00
Tom Hacohen 5d4f7667cb Edje entry: Fix mis-merge in my previous commit.
Spank spank. :)

SVN revision: 67935
2012-02-14 13:54:44 +00:00
Carsten Haitzler 6ead226a93 while looking into the infintie loop issue - update regions can become
a lot in these pathological cases, so limit them to 24 and if > use
bounding box as a single region.



SVN revision: 67917
2012-02-14 11:45:23 +00:00
Tom Hacohen b1bb770688 Eina model: Fix issues with interface inheritance.
The ptr comparison had issues.
Order of interface overrides was wrong.

SVN revision: 67915
2012-02-14 09:48:00 +00:00
Tom Hacohen 478d4c5cce Edje entry: Make keybindings work with non-latin keyboard layouts.
SVN revision: 67902
2012-02-14 08:32:23 +00:00
Jihoon Kim 1e350bd45a add edje_object_part_text_prediction_allow_set/get.
These APIs can be used to set whether prediction feature is allowed or not.


SVN revision: 67889
2012-02-14 02:34:50 +00:00
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