[EGIT] [core/elementary] master 01/01: atspi: remove useless "GetDefaultAttributeSet" method
stanluk pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=75b3ce919c725cc394600683ef149302eb6db7c9 commit 75b3ce919c725cc394600683ef149302eb6db7c9 Author: Lukasz Stanislawski Date: Wed Nov 25 14:02:25 2015 +0100 atspi: remove useless "GetDefaultAttributeSet" method This method exists in atspi spec, however is not implemented in libatspi library. Drop it for now as it seems useless. --- src/lib/elm_atspi_bridge.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c index 92ccd8a..6b08728 100644 --- a/src/lib/elm_atspi_bridge.c +++ b/src/lib/elm_atspi_bridge.c @@ -1832,7 +1832,6 @@ static const Eldbus_Method text_methods[] = { { "GetRangeExtents", ELDBUS_ARGS({"i", "startOffset"}, {"i", "endOffset"}, {"u", "coordType"}), ELDBUS_ARGS({"i", "x"}, {"i", "y"}, {"i","w"}, {"i","h"}), _text_range_extents_get, 0 }, { "GetBoundedRanges", ELDBUS_ARGS({"i", "x"}, {"i", "y"}, {"i", "w"}, {"i", "h"}, {"u", "coordType"}, {"u", "xClipType"}, {"u", "yClipType"}), ELDBUS_ARGS({"a(issv)", NULL}), _text_bounded_ranges_get, 0 }, { "GetAttributeRun", ELDBUS_ARGS({"i", "offset"}, {"b", "includeDefaults"}), ELDBUS_ARGS({"a(ss)", NULL}, {"i", "startOffset"}, {"i", "endOffset"}), _text_run_attributes_get, 0 }, - { "GetDefaultAttributeSet", NULL, ELDBUS_ARGS({"a(ss)", NULL}), _text_default_attributes_get, 0 }, { NULL, NULL, NULL, NULL, 0 } }; --
[EGIT] [core/efl] master 01/01: edje entry: return correct selection
herdsman pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=76939252278e4622067f9481251d03439a98761f commit 76939252278e4622067f9481251d03439a98761f Author: Thiep Ha Date: Thu Nov 26 09:52:48 2015 +0200 edje entry: return correct selection Summary: In entry, when selection_get function is called, selection is not always returned the current selection. Scenario: - In select mode, entry has selection (e.g, by double click). - When selection handler is moved, set the cursor the current coordinate with edje_object_part_text_cursor_pos_set() API. - Edje emits "selection,changed" signal. - Elementary gets current selection and stores it. - Elementary does not get selection as visual selection (e.g, text is highlighted with "entry test", but the selection returned from edje is "entry"). - If we copy and then paste to the entry, the pasted text is not same as selected text. Reason: - In _edje_entry_cursor_coord_set function, if entry has selection, we only emit "selection,changed" signal without freeing en->selection. - When _edje_entry_selection_get is called, we check the en->selection, since it is existed, we just return it which is not updated one. This patch clears en->selection, so that it is updated at _selection_get, and the updated selection is returned to caller. @fix Test Plan: In mobile profile, open entry - Right click, choose select, double click -> selection handlers are shown. - Drag selection handlers to change selection. - Right click, do copy. - Right click, do paste. - See the pasted text is not same as selection. Reviewers: raster, tasn, herdsman Subscribers: seoz, JackDanielZ, cedric Differential Revision: https://phab.enlightenment.org/D2746 --- src/lib/edje/edje_entry.c | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c index 92c40a6..c9b424c 100644 --- a/src/lib/edje/edje_entry.c +++ b/src/lib/edje/edje_entry.c @@ -3856,7 +3856,14 @@ _edje_entry_cursor_coord_set(Edje_Real_Part *rp, Edje_Cursor cur, (cur == EDJE_CURSOR_SELECTION_END)) { if (en->have_selection) - _edje_emit(en->ed, "selection,changed", rp->part->name); + { + if (en->selection) + { + free(en->selection); + en->selection = NULL; + } + _edje_emit(en->ed, "selection,changed", rp->part->name); + } } return evas_textblock_cursor_char_coord_set(c, x, y); } --
[EGIT] [core/efl] master 01/01: evas: Add ExtraLight, ExtraBold for font weight.
herdsman pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=507baf4891951933bcd8bd5baee5f9e716398fee commit 507baf4891951933bcd8bd5baee5f9e716398fee Author: Youngbok Shin Date: Thu Nov 26 10:16:13 2015 +0200 evas: Add ExtraLight, ExtraBold for font weight. Summary: Evas supports UltraLight, UltraBold as font weight. These terms have same weight value as ExtraLight, ExtraBold. Some applications, for example, fontforge, use ExtraLight, ExtraBold terms for these weight values. So, it would be better to support these terms, too. @feature Test Plan: None Reviewers: tasn, woohyun, herdsman Reviewed By: herdsman Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3126 --- src/lib/evas/canvas/evas_font_dir.c | 4 src/lib/evas/canvas/evas_object_textblock.c | 2 ++ src/lib/evas/include/evas_private.h | 2 ++ 3 files changed, 8 insertions(+) diff --git a/src/lib/evas/canvas/evas_font_dir.c b/src/lib/evas/canvas/evas_font_dir.c index c3491cc..df0f5ef 100644 --- a/src/lib/evas/canvas/evas_font_dir.c +++ b/src/lib/evas/canvas/evas_font_dir.c @@ -268,12 +268,14 @@ static int _fc_weight_map[] = FC_WEIGHT_NORMAL, FC_WEIGHT_THIN, FC_WEIGHT_ULTRALIGHT, + FC_WEIGHT_EXTRALIGHT, FC_WEIGHT_LIGHT, FC_WEIGHT_BOOK, FC_WEIGHT_MEDIUM, FC_WEIGHT_SEMIBOLD, FC_WEIGHT_BOLD, FC_WEIGHT_ULTRABOLD, + FC_WEIGHT_EXTRABOLD, FC_WEIGHT_BLACK, FC_WEIGHT_EXTRABLACK }; @@ -328,12 +330,14 @@ static Style_Map _style_weight_map[] = {"normal", EVAS_FONT_WEIGHT_NORMAL}, {"thin", EVAS_FONT_WEIGHT_THIN}, {"ultralight", EVAS_FONT_WEIGHT_ULTRALIGHT}, + {"extralight", EVAS_FONT_WEIGHT_EXTRALIGHT}, {"light", EVAS_FONT_WEIGHT_LIGHT}, {"book", EVAS_FONT_WEIGHT_BOOK}, {"medium", EVAS_FONT_WEIGHT_MEDIUM}, {"semibold", EVAS_FONT_WEIGHT_SEMIBOLD}, {"bold", EVAS_FONT_WEIGHT_BOLD}, {"ultrabold", EVAS_FONT_WEIGHT_ULTRABOLD}, + {"extrabold", EVAS_FONT_WEIGHT_ULTRABOLD}, {"black", EVAS_FONT_WEIGHT_BLACK}, {"extrablack", EVAS_FONT_WEIGHT_EXTRABLACK} }; diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index 7a9aafc..bb9e8af 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c @@ -1443,12 +1443,14 @@ _format_command(Evas_Object *eo_obj, Evas_Object_Textblock_Format *fmt, const ch * @li "normal" * @li "thin" * @li "ultralight" + * @li "extralight" * @li "light" * @li "book" * @li "medium" * @li "semibold" * @li "bold" * @li "ultrabold" + * @li "extrabold" * @li "black" * @li "extrablack" * @code diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h index 26868c1..56407d9 100644 --- a/src/lib/evas/include/evas_private.h +++ b/src/lib/evas/include/evas_private.h @@ -485,12 +485,14 @@ enum _Evas_Font_Weight EVAS_FONT_WEIGHT_NORMAL, EVAS_FONT_WEIGHT_THIN, EVAS_FONT_WEIGHT_ULTRALIGHT, + EVAS_FONT_WEIGHT_EXTRALIGHT, EVAS_FONT_WEIGHT_LIGHT, EVAS_FONT_WEIGHT_BOOK, EVAS_FONT_WEIGHT_MEDIUM, EVAS_FONT_WEIGHT_SEMIBOLD, EVAS_FONT_WEIGHT_BOLD, EVAS_FONT_WEIGHT_ULTRABOLD, + EVAS_FONT_WEIGHT_EXTRABOLD, EVAS_FONT_WEIGHT_BLACK, EVAS_FONT_WEIGHT_EXTRABLACK }; --
[EGIT] [tools/erigo] master 01/01: Fix show/hide issue when dragging in Naviframe and Layout
yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=68282a788a1d01156505f353acd802f60f210889 commit 68282a788a1d01156505f353acd802f60f210889 Author: Yakov Goldberg Date: Thu Nov 26 15:47:31 2015 +0200 Fix show/hide issue when dragging in Naviframe and Layout --- src/bin/gui/editor.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/gui/editor.c b/src/bin/gui/editor.c index 882bb7e..16b4b20 100644 --- a/src/bin/gui/editor.c +++ b/src/bin/gui/editor.c @@ -1615,10 +1615,12 @@ _drop_target_leave(void *data, Evas_Object *obj) else if (drop_target_wdg_eo && !strcmp(wdg_class_name_get(drop_target_wdg), DB_DEF_LAYOUT_CLASS)) { di->packed = EINA_FALSE; +di->drop_instead_obj = NULL; } else if (drop_target_wdg_eo && !strcmp(wdg_class_name_get(drop_target_wdg), DB_DEF_NAVIFRAME_CLASS)) { di->packed = EINA_FALSE; +di->drop_instead_item_obj = NULL; } if (di->eo_cur && IS_MAIN(drop_target_wdg) && (di->eo_cur != session_eo_get(session, dnd_drag_wdg_get( --
[EGIT] [tools/erigo] master 01/03: Objtree: remove selection on deletion
jackdanielz pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=de274e02550fe5c8ee7a2fad9dea7728b4844ac8 commit de274e02550fe5c8ee7a2fad9dea7728b4844ac8 Author: Daniel Zaoui Date: Wed Nov 25 17:00:39 2015 +0200 Objtree: remove selection on deletion The selection of the widget after deletion should not be done here. --- src/bin/gui/objtree.c | 7 --- 1 file changed, 7 deletions(-) diff --git a/src/bin/gui/objtree.c b/src/bin/gui/objtree.c index 00e27f7..2d708d8 100644 --- a/src/bin/gui/objtree.c +++ b/src/bin/gui/objtree.c @@ -317,14 +317,7 @@ void objtree_item_remove(const Gui_Widget *wdg) { if (!wdg) return; - Elm_Object_Item *sel_item = elm_genlist_selected_item_get(lst); Elm_Object_Item *item = wdg_data_get(wdg, DATA_ITEM); - if (sel_item == item) - { -sel_item = elm_genlist_item_prev_get(item); -if (!sel_item) sel_item = elm_genlist_item_parent_get(item); -if (sel_item) elm_genlist_item_selected_set(sel_item, EINA_TRUE); - } if (item) elm_object_item_del(item); } --
[EGIT] [tools/erigo] master 02/03: Objtree: prevent item realization if parent is not realized
jackdanielz pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=7042c0a979fd49423bfb5c26e736ad5c27956e45 commit 7042c0a979fd49423bfb5c26e736ad5c27956e45 Author: Daniel Zaoui Date: Thu Nov 26 11:55:28 2015 +0200 Objtree: prevent item realization if parent is not realized The problem is that the object item is always created, event if the parent is not expanded. We only need to realize the parents when a selection is done and not every time an object is created. --- src/bin/gui/objtree.c | 30 +++--- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/src/bin/gui/objtree.c b/src/bin/gui/objtree.c index 2d708d8..c49a93f 100644 --- a/src/bin/gui/objtree.c +++ b/src/bin/gui/objtree.c @@ -77,7 +77,7 @@ _find_last_item_child(Elm_Object_Item *parent) } static Elm_Object_Item * -_item_realize(Eid *eid) +_item_realize(Eid *eid, Eina_Bool realize_parents) { if (eid_is_dummy(eid) || !eid_exists(eid)) return NULL; Gui_Widget *wdg = wdg_get(eid); @@ -86,14 +86,19 @@ _item_realize(Eid *eid) if (item) return item; Gui_Widget *parent = (Gui_Widget *)wdg_parent_get(wdg); - if (parent) + if (realize_parents && parent) { -parent_item = _item_realize(wdg_eid_get(parent)); +parent_item = _item_realize(wdg_eid_get(parent), realize_parents); if (parent_item) elm_genlist_item_expanded_set(parent_item, EINA_TRUE); } + if (parent) + { +parent_item = wdg_data_get(parent, DATA_ITEM); +if (!parent_item) return NULL; + } item = wdg_data_get(wdg, DATA_ITEM); - if (!item && (!parent || parent_item)) + if (!item) { const Gui_Widget *prev_wdg = wdg; Eid *prev_id = eid; @@ -151,7 +156,7 @@ _expanded_cb(void *data EINA_UNUSED, Evas_Object *o EINA_UNUSED, void *event_inf EINA_LIST_FOREACH(wdg_children_list_get(wdg), itr, wid) { if (!_filter || strstr(eid_name_get(wid), _filter)) - _item_realize(wid); + _item_realize(wid, EINA_FALSE); } } @@ -219,7 +224,7 @@ _build() EINA_LIST_FOREACH(gui_context_wdg_list_get(_active_ctx), itr, eid) { if (strstr(eid_name_get(eid), _filter)) -_item_realize(eid); +_item_realize(eid, EINA_TRUE); } } else @@ -229,7 +234,7 @@ _build() EINA_LIST_FOREACH(gui_context_main_widgets_get(_active_ctx), itr, eid) { if (eid_is_dummy(eid) || !eid_exists(eid)) continue; - _item_realize(eid); + _item_realize(eid, EINA_FALSE); } } } @@ -290,7 +295,7 @@ objtree_item_selected_set(const Gui_Widget *wdg) Elm_Object_Item *item = NULL; if (!wdg) return; _filter = NULL; - item = _item_realize(wdg_eid_get(wdg)); + item = _item_realize(wdg_eid_get(wdg), EINA_TRUE); if (!item) return; elm_genlist_item_bring_in(item, ELM_GENLIST_ITEM_SCROLLTO_MIDDLE); elm_genlist_item_selected_set(item, EINA_TRUE); @@ -304,11 +309,14 @@ objtree_item_add(const Gui_Widget *wdg) if (eid_is_dummy(eid) || !eid_exists(eid)) return; const Gui_Widget *parent = wdg_parent_get(wdg); Elm_Object_Item *parent_item = parent ? wdg_data_get(parent, DATA_ITEM) : NULL; - if (!parent || parent_item) + if (!parent || (parent_item && elm_genlist_item_expanded_get(parent_item))) { if (parent_item && elm_genlist_item_type_get(parent_item) != ELM_GENLIST_ITEM_TREE) - objtree_item_remove(parent); -_item_realize(wdg_eid_get(wdg)); + { + objtree_item_remove(parent); + objtree_item_add(parent); + } +_item_realize(wdg_eid_get(wdg), EINA_FALSE); } } --
[EGIT] [tools/erigo] master 03/03: Invoke object selection when updating is done on memento
jackdanielz pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=e04fa346ff6caf5aa890e1342d94336b022f9270 commit e04fa346ff6caf5aa890e1342d94336b022f9270 Author: Daniel Zaoui Date: Thu Nov 26 11:57:26 2015 +0200 Invoke object selection when updating is done on memento --- src/bin/gui/editor.c | 13 - src/lib/updater.c| 8 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/bin/gui/editor.c b/src/bin/gui/editor.c index 16b4b20..42dd73f 100644 --- a/src/bin/gui/editor.c +++ b/src/bin/gui/editor.c @@ -4665,12 +4665,23 @@ _mouse_wheel_cb(void *data EINA_UNUSED, int type EINA_UNUSED, void *ev EINA_UNUS } static void -_context_changed_cb(void *data EINA_UNUSED, Memento *mem EINA_UNUSED, Eina_Bool dir EINA_UNUSED) +_context_changed_cb(void *data EINA_UNUSED, Memento *mem, Eina_Bool dir EINA_UNUSED) { const Gui_Context *ctx = _active_context_get(); eo_do(g->main_win->toolbar_redo_it, elm_wdg_item_disabled_set(context_can_redo(ctx) ? EINA_FALSE : EINA_TRUE)); eo_do(g->main_win->toolbar_undo_it, elm_wdg_item_disabled_set(context_can_undo(ctx) ? EINA_FALSE : EINA_TRUE)); _canvas_name_update(ctx, EINA_FALSE); + if (mem) + { +const Eina_List *cmds = memento_commands_get(mem), *itr; +Memento_Command *cmd; +EINA_LIST_FOREACH(cmds, itr, cmd) + { + Eid *eid = memento_command_wdg_get(cmd); + Gui_Widget *wdg = wdg_get(eid); + if (wdg) objtree_item_selected_set(wdg); + } + } } void diff --git a/src/lib/updater.c b/src/lib/updater.c index bcb9ec2..566278e 100644 --- a/src/lib/updater.c +++ b/src/lib/updater.c @@ -258,10 +258,10 @@ _update_check(void *data EINA_UNUSED) break; } } - } - EINA_LIST_FOREACH(_completion_cbs, itr2, info) - { - info->cb(info->data, mem, mem_dir); + EINA_LIST_FOREACH(_completion_cbs, itr2, info) +{ + info->cb(info->data, mem, mem_dir); +} } } Eina_List *forced_wdgs_infos = gui_context_data_get(ctx, CONTEXT_FORCE_WDGS_KEY); --
[EGIT] [tools/erigo] master 02/02: Refactoring wdg_parent_container_eid_get()
yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=6bb54bddd18b3c4648b63c86952b80bb8f073828 commit 6bb54bddd18b3c4648b63c86952b80bb8f073828 Author: Yakov Goldberg Date: Thu Nov 26 11:30:31 2015 +0200 Refactoring wdg_parent_container_eid_get() Now this function checks if requested widget is packed into its parent, and returns parent eid. --- src/bin/gui/editor.c | 4 --- src/lib/gui_widget.c | 79 +--- src/lib/gui_widget.h | 3 -- 3 files changed, 57 insertions(+), 29 deletions(-) diff --git a/src/bin/gui/editor.c b/src/bin/gui/editor.c index 7a05058..328042e 100644 --- a/src/bin/gui/editor.c +++ b/src/bin/gui/editor.c @@ -1922,7 +1922,6 @@ _drop_target_drop(Gui_Widget *drop_target_wdg, Eo *canvas_drop_target, const cha else { wdg_parent_set(wdg_get(di->drop_instead_item_obj), wdg_name_get(wdg_main_wdg_get(drop_target_wdg))); - wdg_parent_container_eid_set(wdg_get(di->drop_instead_item_obj), NULL); } } } @@ -3708,7 +3707,6 @@ _field_update_from_itemview(void *data EINA_UNUSED, Eo *obj, const Eo_Event_Desc } memento_command_add(wdg_eid_get(w), MEMENTO_WIDGET_PARENT, wdg_eid_get(wdg_parent_get(w)), wdg_eid_get(wdg)); wdg_parent_set(w, wdg_name_get(wdg)); - wdg_parent_container_eid_set(w, wdg_eid_get(wdg)); } } /* If old_value is some widget, set main_obj as it's parent. */ @@ -3719,7 +3717,6 @@ _field_update_from_itemview(void *data EINA_UNUSED, Eo *obj, const Eo_Event_Desc Eid *old_name_id = gui_context_eid_get_by_name(_active_context_get(), old_value); Gui_Widget *w = wdg_get(old_name_id); wdg_parent_set(w, wdg_name_get(wdg_main_wdg_get(wdg))); - wdg_parent_container_eid_set(w, NULL); } } objtree_item_selected_set(wdg); @@ -4242,7 +4239,6 @@ _content_change_from_propview(void *data EINA_UNUSED, Eo *obj, const Eo_Event_De memento_command_add(wdg_eid_get(new_param_wdg), MEMENTO_WIDGET_PARENT, wdg_eid_get(prev_wdg_container), wdg_eid_get(wdg_main_wdg_get(prev_wdg_container))); wdg_parent_set(new_param_wdg, wdg_name_get(wdg_main_wdg_get(prev_wdg_container))); -wdg_parent_container_eid_set(new_param_wdg, NULL); } } } diff --git a/src/lib/gui_widget.c b/src/lib/gui_widget.c index a917e03..9f67ac4 100644 --- a/src/lib/gui_widget.c +++ b/src/lib/gui_widget.c @@ -1373,7 +1373,18 @@ wdg_copy(const Gui_Widget *src, Eid *dest_id, Eina_Bool full) Container_Type wdg_container_type_get(const Gui_Widget *wdg) { - Container_Desc *c_desc = db_container_desc_get(wdg_class_name_get(wdg)); + const char *wdg_class_name = wdg_class_name_get(wdg); + /* Try to get Container Description from class itself.*/ + Container_Desc *c_desc = db_container_desc_get(wdg_class_name); + /* If it doesn't work, take last class in inheritance list. */ + if (!c_desc) + { +Eina_List *lst = db_class_inherit_containers_list_get(wdg_class_name); +if (!lst) return NOT_CONTAINER; +const char *cont_name = eina_list_data_get(eina_list_last(lst)); +c_desc = db_container_desc_get(cont_name); + } + if (c_desc) { const Op_Desc *op_pack = db_container_desc_op_desc_get(c_desc, CONTAINER_PACK); @@ -1818,18 +1829,58 @@ wdg_data_get(const Gui_Widget *wdg, const char *key) // -void -wdg_parent_container_eid_set(Gui_Widget *wdg, Eid *eid) +static Eina_Bool +_item_container_items_iterate(const Item_Container_Item *item, Eid *wdg_eid_search) { - EINA_SAFETY_ON_NULL_RETURN(wdg); - wdg->parent_container_id = eid; + const Eina_List *items_lst = item_container_item_subitems_get(item), *itr; + /* Detect if cursor is inside swallow object.*/ + Eid *eid_itr; + EINA_LIST_FOREACH(items_lst, itr, eid_itr) + { +const Item_Container_Item *cit = item_container_item_get_from_id(eid_itr); +const Gui_Widget_Property *prop = item_container_item_prop_get(cit); +Eina_List *values = prop_value_get(prop), *itr2; +Gui_Value *val; +EINA_LIST_FOREACH(values, itr2, val) + { + if (gui_value_type_get(val) == GUI_TYPE_OBJECT) + { + if (wdg_eid_search == EID_ID_GET(val)) +{ + return EINA_TRUE; +} + } + } +Eina_Bool found = _item_container_items_iterate(cit, wdg_eid_search); +if (found) return EINA_TRUE; + } + return EINA_FALSE; } Eid * wdg_parent_con
[EGIT] [tools/erigo] master 01/02: Fix parent management when change widgets packing
yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=781bf31a5203f9274cb383f6b5d28e16668c1838 commit 781bf31a5203f9274cb383f6b5d28e16668c1838 Author: Yakov Goldberg Date: Wed Nov 25 17:31:22 2015 +0200 Fix parent management when change widgets packing --- src/bin/gui/editor.c | 107 +++ 1 file changed, 90 insertions(+), 17 deletions(-) diff --git a/src/bin/gui/editor.c b/src/bin/gui/editor.c index 42dd73f..7a05058 100644 --- a/src/bin/gui/editor.c +++ b/src/bin/gui/editor.c @@ -4147,6 +4147,7 @@ _content_change_from_propview(void *data EINA_UNUSED, Eo *obj, const Eo_Event_De /* Hoversel is used mainly to choose objects. * So here need to make most of the work on objects: adding, change dependencies, change parent, etc. */ + Eid *old_packed_eid = NULL; if (kl == ELM_HOVERSEL_CLASS) { const char *new_value = elm_object_item_part_text_get(event_info, NULL); @@ -4168,30 +4169,88 @@ _content_change_from_propview(void *data EINA_UNUSED, Eo *obj, const Eo_Event_De Eid *prev_parent_cont_eid = wdg_parent_container_eid_get(new_param_wdg); Gui_Widget *prev_wdg_container = prev_parent_cont_eid ? wdg_get(prev_parent_cont_eid) : NULL; - Gui_Session *session = (Gui_Session *) gui_context_editor_session_get(ctx); - if (prev_wdg_container && (wdg_container_type_get(prev_wdg_container) == OBJ_CONTAINER)) + if (prev_wdg_container) { - Object_Container *_old_prev_container, *_new_prev_container; - _old_prev_container = (Object_Container *) wdg_obj_container_get((Gui_Widget *) prev_wdg_container); - _new_prev_container = obj_container_copy(_old_prev_container); + if (wdg_container_type_get(prev_wdg_container) == OBJ_CONTAINER) +{ + Object_Container *_old_prev_container, *_new_prev_container; + _old_prev_container = (Object_Container *) wdg_obj_container_get((Gui_Widget *) prev_wdg_container); + _new_prev_container = obj_container_copy(_old_prev_container); - memento_command_add(wdg_eid_get(prev_wdg_container), - MEMENTO_OBJ_CONTAINER, - _old_prev_container, _new_prev_container); - wdg_obj_container_unset((Gui_Widget *) prev_wdg_container); - wdg_obj_container_set((Gui_Widget *) prev_wdg_container, _new_prev_container); + memento_command_add(wdg_eid_get(prev_wdg_container), + MEMENTO_OBJ_CONTAINER, + _old_prev_container, _new_prev_container); + wdg_obj_container_unset((Gui_Widget *) prev_wdg_container); + wdg_obj_container_set((Gui_Widget *) prev_wdg_container, _new_prev_container); - /* Take old container's class name from content-property. */ - Object_Container_Item *_ci = wdg_obj_container_item_get(prev_wdg_container, -1, new_value); - Gui_Widget_Property *old_prop = obj_container_item_prop_get(_ci); + /* Take old container's class name from content-property. */ + Object_Container_Item *_ci = wdg_obj_container_item_get(prev_wdg_container, -1, new_value); + Gui_Widget_Property *old_prop = obj_container_item_prop_get(_ci); - const Op_Desc *old_op_desc = prop_op_desc_get(old_prop); - const char *old_container_name = db_op_desc_class_name_get(old_op_desc); + const Op_Desc *old_op_desc = prop_op_desc_get(old_prop); + const char *old_container_name = db_op_desc_class_name_get(old_op_desc); - manager_widget_content_unset(session, prev_wdg_container, old_container_name, old_prop, NULL); - wdg_obj_container_item_remove(prev_wdg_container, _ci); + Gui_Session *session = (Gui_Session *) gui_context_editor_session_get(ctx); + manager_widget_content_unset(session, prev_wdg_container, old_container_name, old_prop, NULL); + wdg_obj_container_item_remove(prev_wdg_container, _ci); +} + else if (wdg_container_type_get(prev_wdg_container) == ITEM_CONTAINER) +{ + const Eina_List *items_lst = item_container_item_subitems_get(wdg_item_container_root_get(prev_wdg_container)), *itr; + /* Detect if cursor is inside swallow object.*/ + Eid *eid_itr; + Item_Container_Item *cit; +
[EGIT] [core/efl] master 02/08: evas_cserve2: use void to force empty function parameters
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=cfd478dfc5250df01a303d6d2d0c9b64d062fb97 commit cfd478dfc5250df01a303d6d2d0c9b64d062fb97 Author: Stefan Schmidt Date: Thu Nov 26 17:23:47 2015 +0100 evas_cserve2: use void to force empty function parameters We have to use void in a function declaration if we want no function parameters. Using just empty parenthesis means the function takes an unspecified number of parameters. We had it correct for most declarations and this series fixes it for the rest. --- src/bin/evas/evas_cserve2.h | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/bin/evas/evas_cserve2.h b/src/bin/evas/evas_cserve2.h index 2369857..cc3623e 100644 --- a/src/bin/evas/evas_cserve2.h +++ b/src/bin/evas/evas_cserve2.h @@ -292,8 +292,8 @@ void cserve2_slave_kill(Slave *s); void cserve2_message_handler(int fd, Fd_Flags flags, void *data); -void cserve2_shm_init(); -void cserve2_shm_shutdown(); +void cserve2_shm_init(void); +void cserve2_shm_shutdown(void); Shm_Handle *cserve2_shm_request(const char *infix, size_t size); Shm_Handle *cserve2_shm_segment_request(Shm_Handle *shm, size_t size); Shm_Handle *cserve2_shm_resize(Shm_Handle *shm, size_t newsize); @@ -394,8 +394,8 @@ int cserve2_shared_mempool_generation_id_set(Shared_Mempool *sm, int generation_ Shared_Array *cserve2_shared_mempool_index_get(Shared_Mempool *sm); // Shared strings -const char *cserve2_shared_strings_table_name_get(); -const char *cserve2_shared_strings_index_name_get(); +const char *cserve2_shared_strings_table_name_get(void); +const char *cserve2_shared_strings_index_name_get(void); int cserve2_shared_string_add(const char *str); int cserve2_shared_string_ref(int id); void cserve2_shared_string_del(int id); --
[EGIT] [core/efl] master 07/08: evas software_x11: use void to force empty function parameters
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=bc5c239d2d40d6fd5fff01dfaa38ca6ab68fd217 commit bc5c239d2d40d6fd5fff01dfaa38ca6ab68fd217 Author: Stefan Schmidt Date: Thu Nov 26 17:26:36 2015 +0100 evas software_x11: use void to force empty function parameters We have to use void in a function declaration if we want no function parameters. Using just empty parenthesis means the function takes an unspecified number of parameters. We had it correct for most declarations and this series fixes it for the rest. --- src/modules/evas/engines/software_x11/evas_xlib_dri_image.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/evas/engines/software_x11/evas_xlib_dri_image.h b/src/modules/evas/engines/software_x11/evas_xlib_dri_image.h index 555468d..563e7c7 100644 --- a/src/modules/evas/engines/software_x11/evas_xlib_dri_image.h +++ b/src/modules/evas/engines/software_x11/evas_xlib_dri_image.h @@ -80,5 +80,5 @@ void evas_xlib_image_dir_free(Evas_DRI_Image *exim); Eina_Bool evas_xlib_image_get_buffers(RGBA_Image *im); void evas_xlib_image_buffer_unmap(Evas_DRI_Image *exim); Eina_Bool evas_xlib_image_dri_init(Evas_DRI_Image *exim, Display *display); -Eina_Bool evas_xlib_image_dri_used(); +Eina_Bool evas_xlib_image_dri_used(void); void *evas_xlib_image_dri_native_set(void *data, void *image, void *native); --
[EGIT] [core/efl] master 03/08: ector: use void to force empty function parameters
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f356af17c934c857811c5fcbb313628d43bbe091 commit f356af17c934c857811c5fcbb313628d43bbe091 Author: Stefan Schmidt Date: Thu Nov 26 17:24:37 2015 +0100 ector: use void to force empty function parameters We have to use void in a function declaration if we want no function parameters. Using just empty parenthesis means the function takes an unspecified number of parameters. We had it correct for most declarations and this series fixes it for the rest. --- src/lib/ector/software/ector_drawhelper_private.h | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/ector/software/ector_drawhelper_private.h b/src/lib/ector/software/ector_drawhelper_private.h index d15a8f6..22d5fe9 100644 --- a/src/lib/ector/software/ector_drawhelper_private.h +++ b/src/lib/ector/software/ector_drawhelper_private.h @@ -93,11 +93,11 @@ typedef void (*RGBA_Comp_Func_Solid)(uint *dest, int length, uint color, uint co extern RGBA_Comp_Func_Solid func_for_mode_solid[ECTOR_ROP_LAST]; extern RGBA_Comp_Func func_for_mode[ECTOR_ROP_LAST]; -void drawhelper_gradient_init(); -void draw_helper_sse2_init(); -void draw_helper_neon_init(); +void drawhelper_gradient_init(void); +void draw_helper_sse2_init(void); +void draw_helper_neon_init(void); -void draw_helper_init(); +void draw_helper_init(void); RGBA_Comp_Func_Solid ector_comp_func_solid_span_get(Ector_Rop op, uint color); RGBA_Comp_Func ector_comp_func_span_get(Ector_Rop op, uint color, Eina_Bool src_alpha); --
[EGIT] [core/efl] master 08/08: rg_etc: use void to force empty function parameters
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7b86b1c374612aba09b646a647208577918cfeec commit 7b86b1c374612aba09b646a647208577918cfeec Author: Stefan Schmidt Date: Thu Nov 26 17:27:01 2015 +0100 rg_etc: use void to force empty function parameters We have to use void in a function declaration if we want no function parameters. Using just empty parenthesis means the function takes an unspecified number of parameters. We had it correct for most declarations and this series fixes it for the rest. --- src/static_libs/rg_etc/rg_etc1.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/static_libs/rg_etc/rg_etc1.h b/src/static_libs/rg_etc/rg_etc1.h index 6f4b944..4a695dc 100644 --- a/src/static_libs/rg_etc/rg_etc1.h +++ b/src/static_libs/rg_etc/rg_etc1.h @@ -28,7 +28,7 @@ typedef struct // pack_etc1_block_init() should be called before calling pack_etc1_block(), // Otherwise rg_etc1_pack_block() will call rg_etc1_pack_block_init() for you. -void rg_etc1_pack_block_init(); +void rg_etc1_pack_block_init(void); // Packs a 4x4 block of 32bpp BGRA pixels to an 8-byte ETC1 block. // 32-bit BGRA pixels must always be arranged as (B,G,R,A) (B first, A last) in memory, independent of platform endianness. A should always be 255. --
[EGIT] [core/efl] master 04/08: eolian: use void to force empty function parameters
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1d34318938b7880f2b07b3f319995f78aa4e8c90 commit 1d34318938b7880f2b07b3f319995f78aa4e8c90 Author: Stefan Schmidt Date: Thu Nov 26 17:25:06 2015 +0100 eolian: use void to force empty function parameters We have to use void in a function declaration if we want no function parameters. Using just empty parenthesis means the function takes an unspecified number of parameters. We had it correct for most declarations and this series fixes it for the rest. --- src/lib/eolian/eolian_database.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/eolian/eolian_database.h b/src/lib/eolian/eolian_database.h index dd530c7..73435a5 100644 --- a/src/lib/eolian/eolian_database.h +++ b/src/lib/eolian/eolian_database.h @@ -266,8 +266,8 @@ struct _Eolian_Variable Eina_Bool is_extern :1; }; -int database_init(); -int database_shutdown(); +int database_init(void); +int database_shutdown(void); char *database_class_to_filename(const char *cname); Eina_Bool database_validate(void); --
[EGIT] [core/efl] master 01/08: edje_decc: use void to force empty function parameters
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e683a53f926dbfefb11a35f277eae8ca0176f2fd commit e683a53f926dbfefb11a35f277eae8ca0176f2fd Author: Stefan Schmidt Date: Thu Nov 26 17:20:14 2015 +0100 edje_decc: use void to force empty function parameters We have to use void in a function declaration if we want no function parameters. Using just empty parenthesis means the function takes an unspecified number of parameters. We had it correct for most declarations and this series fixes it for the rest. --- src/bin/edje/edje_decc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/edje/edje_decc.c b/src/bin/edje/edje_decc.c index 5eeb7ef..2f5fe96 100644 --- a/src/bin/edje/edje_decc.c +++ b/src/bin/edje/edje_decc.c @@ -35,8 +35,8 @@ int new_dir = 1; intdecomp(void); void output(void); -static int compiler_cmd_is_sane(); -static int root_filename_is_sane(); +static int compiler_cmd_is_sane(void); +static int root_filename_is_sane(void); static void --
[EGIT] [core/efl] master 05/08: evas_common3d: use void to force empty function parameters
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=043cfaa33be21585031bceaedbf5496bd15d3cc6 commit 043cfaa33be21585031bceaedbf5496bd15d3cc6 Author: Stefan Schmidt Date: Thu Nov 26 17:25:36 2015 +0100 evas_common3d: use void to force empty function parameters We have to use void in a function declaration if we want no function parameters. Using just empty parenthesis means the function takes an unspecified number of parameters. We had it correct for most declarations and this series fixes it for the rest. --- src/lib/evas/common3d/save_load/evas_model_common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/evas/common3d/save_load/evas_model_common.h b/src/lib/evas/common3d/save_load/evas_model_common.h index bda8419..be8dbae 100644 --- a/src/lib/evas/common3d/save_load/evas_model_common.h +++ b/src/lib/evas/common3d/save_load/evas_model_common.h @@ -48,7 +48,7 @@ struct _Evas_Model_Load_Save_Stride }; /* create new header */ -Evas_Model_Load_Save_Header evas_model_load_save_header_new(); +Evas_Model_Load_Save_Header evas_model_load_save_header_new(void); void evas_model_load_vertex_data_unmap(Evas_Canvas3D_Mesh *mesh, int frame, Evas_Model_Load_Save_Header header); void evas_model_load_save_data_free(Evas_Model_Load_Save_Header header, Evas_Model_Load_Save_Data *data); void evas_model_load_vertex_data_to_mesh(Evas_Canvas3D_Mesh *mesh, Evas_Model_Load_Save_Header header, Evas_Model_Load_Save_Data data, Evas_Model_Load_Save_Stride *stride); --
[EGIT] [core/efl] master 06/08: evas gl_common: use void to force empty function parameters
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e99dbd1dbb704b3ce039cd0f996d0d92a61f74ef commit e99dbd1dbb704b3ce039cd0f996d0d92a61f74ef Author: Stefan Schmidt Date: Thu Nov 26 17:26:07 2015 +0100 evas gl_common: use void to force empty function parameters We have to use void in a function declaration if we want no function parameters. Using just empty parenthesis means the function takes an unspecified number of parameters. We had it correct for most declarations and this series fixes it for the rest. --- src/modules/evas/engines/gl_common/evas_gl_core.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/evas/engines/gl_common/evas_gl_core.h b/src/modules/evas/engines/gl_common/evas_gl_core.h index e1e6764..8083236 100644 --- a/src/modules/evas/engines/gl_common/evas_gl_core.h +++ b/src/modules/evas/engines/gl_common/evas_gl_core.h @@ -85,9 +85,9 @@ Eina_Bool evgl_native_surface_direct_opts_get(Evas_Native_Surface *ns, Eina_Bool *direct_override); void evgl_direct_partial_info_set(int pres); -void evgl_direct_partial_info_clear(); -void evgl_direct_partial_render_start(); -void evgl_direct_partial_render_end(); +void evgl_direct_partial_info_clear(void); +void evgl_direct_partial_render_start(void); +void evgl_direct_partial_render_end(void); #undef EAPI #define EAPI --
[EGIT] [core/elementary] master 02/03: test: correct declaration of function with no parameters
stefan pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=41e0df46c03b92b39348ef7bb512ee84127e1996 commit 41e0df46c03b92b39348ef7bb512ee84127e1996 Author: Stefan Schmidt Date: Thu Nov 26 17:49:55 2015 +0100 test: correct declaration of function with no parameters We have to use void in a function declaration if we want no function parameters. Using just empty parenthesis means the function takes an unspecified number of parameters. We had it correct for most declarations and this series fixes it for the rest. Thanks for the sparse semantic parser for pointing this out. --- src/bin/test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/test.c b/src/bin/test.c index 14296a3..ddd1c4e 100644 --- a/src/bin/test.c +++ b/src/bin/test.c @@ -268,7 +268,7 @@ void test_win_dialog(void *data, Evas_Object *obj, void *event_info); void test_box_disable(void *data, Evas_Object *obj, void *event_info); void test_layout_disable(void *data, Evas_Object *obj, void *event_info); -void test_colorclass(); +void test_colorclass(void); Evas_Object *win, *tbx; // TODO: refactoring void *tt; --
[EGIT] [core/elementary] master 01/03: elm_prefcs_cc: correct declaration of function with no parameters
stefan pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=5d8d96964a4a694880e5ed894916753240f79dee commit 5d8d96964a4a694880e5ed894916753240f79dee Author: Stefan Schmidt Date: Thu Nov 26 17:48:01 2015 +0100 elm_prefcs_cc: correct declaration of function with no parameters We have to use void in a function declaration if we want no function parameters. Using just empty parenthesis means the function takes an unspecified number of parameters. We had it correct for most declarations and this series fixes it for the rest. Thanks for the sparse semantic parser for pointing this out. --- src/bin/elm_prefs_cc.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bin/elm_prefs_cc.h b/src/bin/elm_prefs_cc.h index 716f174..ef848ba 100644 --- a/src/bin/elm_prefs_cc.h +++ b/src/bin/elm_prefs_cc.h @@ -79,9 +79,9 @@ voidcheck_arg_count(int n); voidcheck_regex(const char *regex); voidset_verbatim(char *s, int l1, int l2); -voiddata_init(); -voiddata_write(); -voiddata_shutdown(); +voiddata_init(void); +voiddata_write(void); +voiddata_shutdown(void); int object_handler_num(void); int statement_handler_num(void); --
[EGIT] [core/elementary] master 03/03: elm_widget: correct declaration of function with no parameters
stefan pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=f129e78b203436aebd9858d62734cc2d0d9e8134 commit f129e78b203436aebd9858d62734cc2d0d9e8134 Author: Stefan Schmidt Date: Thu Nov 26 17:50:14 2015 +0100 elm_widget: correct declaration of function with no parameters We have to use void in a function declaration if we want no function parameters. Using just empty parenthesis means the function takes an unspecified number of parameters. We had it correct for most declarations and this series fixes it for the rest. Thanks for the sparse semantic parser for pointing this out. --- src/lib/elm_widget.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elm_widget.h b/src/lib/elm_widget.h index e553ec5..23ed7a1 100644 --- a/src/lib/elm_widget.h +++ b/src/lib/elm_widget.h @@ -518,7 +518,7 @@ struct _Elm_Action Eina_Bool (*func)(Evas_Object *obj, const char *params); }; -void _elm_access_shutdown(); +void _elm_access_shutdown(void); void _elm_access_mouse_event_enabled_set(Eina_Bool enabled); /* if auto_higlight is EINA_TRUE, it does not steal a focus, it just moves a highlight */ --
[EGIT] [core/enlightenment] master 02/02: pulse backend: correct declaration of function with no parameters
stefan pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=7ed23817227bf0595c8f376e23c573b1f8cd7969 commit 7ed23817227bf0595c8f376e23c573b1f8cd7969 Author: Stefan Schmidt Date: Thu Nov 26 18:10:47 2015 +0100 pulse backend: correct declaration of function with no parameters We have to use void in a function declaration if we want no function parameters. Using just empty parenthesis means the function takes an unspecified number of parameters. We had it correct for most declarations and this series fixes it for the rest. Thanks for the sparse semantic parser for pointing this out. --- src/modules/mixer/lib/backends/pulseaudio/pulse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/mixer/lib/backends/pulseaudio/pulse.c b/src/modules/mixer/lib/backends/pulseaudio/pulse.c index da83487..f882734 100644 --- a/src/modules/mixer/lib/backends/pulseaudio/pulse.c +++ b/src/modules/mixer/lib/backends/pulseaudio/pulse.c @@ -672,7 +672,7 @@ _subscribe_cb(pa_context *c, pa_subscription_event_type_t t, } static Eina_Bool _pulse_connect(void *data); -static void _disconnect_cb(); +static void _disconnect_cb(void); static void _pulse_pa_state_cb(pa_context *context, void *data) --
[EGIT] [core/enlightenment] master 01/02: e_fm:correct declaration of function with no parameters
stefan pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=01a4a24f34d720cf703ce3806e41b3e12a888c6b commit 01a4a24f34d720cf703ce3806e41b3e12a888c6b Author: Stefan Schmidt Date: Thu Nov 26 18:09:32 2015 +0100 e_fm:correct declaration of function with no parameters We have to use void in a function declaration if we want no function parameters. Using just empty parenthesis means the function takes an unspecified number of parameters. We had it correct for most declarations and this series fixes it for the rest. Thanks for the sparse semantic parser for pointing this out. --- src/bin/e_fm_op.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/e_fm_op.c b/src/bin/e_fm_op.c index 57f404a..2e2c21c 100644 --- a/src/bin/e_fm_op.c +++ b/src/bin/e_fm_op.c @@ -74,12 +74,12 @@ void *alloca(size_t); typedef struct _E_Fm_Op_Task E_Fm_Op_Task; typedef struct _E_Fm_Op_Copy_Data E_Fm_Op_Copy_Data; -static E_Fm_Op_Task *_e_fm_op_task_new(); +static E_Fm_Op_Task *_e_fm_op_task_new(void); static void _e_fm_op_task_free(void *t); static void _e_fm_op_remove_link_task(E_Fm_Op_Task *task); static Eina_Bool _e_fm_op_stdin_data(void *data, Ecore_Fd_Handler *fd_handler); -static void _e_fm_op_set_up_idlers(); +static void _e_fm_op_set_up_idlers(void); static void _e_fm_op_delete_idler(int *mark); static int _e_fm_op_idler_handle_error(int *mark, Eina_List **queue, Eina_List **node, E_Fm_Op_Task *task); --
[EGIT] [core/enlightenment] master 01/02: e_gadcon: use Eina_Bool for one-bit bitfield
stefan pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=d18e1697013a0c3720d8aab00fc88a3d4972d528 commit d18e1697013a0c3720d8aab00fc88a3d4972d528 Author: Stefan Schmidt Date: Thu Nov 26 18:31:02 2015 +0100 e_gadcon: use Eina_Bool for one-bit bitfield Make sure we are using a unsigned var here. Best go with a Eina_Bool directly. --- src/bin/e_gadcon.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/e_gadcon.h b/src/bin/e_gadcon.h index e709ed7..b95ae7f 100644 --- a/src/bin/e_gadcon.h +++ b/src/bin/e_gadcon.h @@ -194,7 +194,7 @@ struct _E_Gadcon_Client int seq, flags; /* goes to save */ int state, resist; int prev_pos, prev_size; - int want_save : 1; + Eina_Bool want_save : 1; } state_info; struct --
[EGIT] [core/enlightenment] master 02/02: e_menu: use Eina_Bool for one-bit bitfield
stefan pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=9365129a5aa464e31ca308a59fe59d8d26bb658a commit 9365129a5aa464e31ca308a59fe59d8d26bb658a Author: Stefan Schmidt Date: Thu Nov 26 18:31:29 2015 +0100 e_menu: use Eina_Bool for one-bit bitfield Make sure we are using a unsigned var here. Best go with a Eina_Bool directly. --- src/bin/e_menu.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/e_menu.h b/src/bin/e_menu.h index ec9ec51..7ad3da4 100644 --- a/src/bin/e_menu.h +++ b/src/bin/e_menu.h @@ -31,7 +31,7 @@ struct _E_Menu const char *category; struct { - char visible : 1; + Eina_Bool visible : 1; int x, y, w, h; } cur, prev; --
[EGIT] [website/www-content] master 01/01: Wiki page javascript changed with summary [Adding details on the JS binding internals.] by Lauro Moura
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=efef07bf534a7defb5752690410f9f092376eff8 commit efef07bf534a7defb5752690410f9f092376eff8 Author: Lauro Moura Date: Thu Nov 26 09:48:08 2015 -0800 Wiki page javascript changed with summary [Adding details on the JS binding internals.] by Lauro Moura --- pages/api/javascript.txt | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pages/api/javascript.txt b/pages/api/javascript.txt index 00804dc..d9612b9 100644 --- a/pages/api/javascript.txt +++ b/pages/api/javascript.txt @@ -15,4 +15,10 @@ var efl = require('efl'); * [[api/javascript/eina|Eina]] - Data types and basic abstractions. * [[api/javascript/eldbus|Eldbus]] - Dbus-integration. * [[api/javascript/eo|Eo]] - Generic object system. - * [[api/javascript/ethumb|Ethumb]] - Generate thumbnail images of files. \ No newline at end of file + * [[api/javascript/ethumb|Ethumb]] - Generate thumbnail images of files. + += Under the hood = + +The Javascript binding is split into two big parts. The first is a //manual// binding, wich is described in this documentation. The //automatic// binding covers the Eo-based classes, built with automatically-generated code and will be covered later. + +Due to the C++ being the native language of the libv8, it's was also used to write the bindings, with the help of the C++ bindings for EFL. \ No newline at end of file --
[EGIT] [website/www-content] master 01/01: Wiki page eina changed with summary [created] by Lauro Moura
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=76755c3d6b50bd3b58e2b35cb41b567f06b69e49 commit 76755c3d6b50bd3b58e2b35cb41b567f06b69e49 Author: Lauro Moura Date: Thu Nov 26 10:38:28 2015 -0800 Wiki page eina changed with summary [created] by Lauro Moura --- pages/api/javascript/eina.txt | 25 + 1 file changed, 25 insertions(+) diff --git a/pages/api/javascript/eina.txt b/pages/api/javascript/eina.txt new file mode 100644 index 000..1668a6d --- /dev/null +++ b/pages/api/javascript/eina.txt @@ -0,0 +1,25 @@ +== Javascript - Eina - Data types and tools == + +The Eina library provides a number of data types and tools targeted at working with the remainder of the EFL framework although they can be used on their own. For example, Lists and Arrays can be used both to send collections of objects to a native function or get the result of a native function. Or someone can use just the logging facilities. + +This document describes the parts that make Eina and their usage in the eyes of the Javascript developer. + += Data types = + +Currently, two data types are available: Lists and Arrays. Both aim to have a similar interface to the native [[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array|JS Arrays]] for the most common operations. One important limitation is that when you create an Eina collection you must pass the type of object that will be stored. This is required to allow the binding do the correct conversion between Javascript types and C/C++ types due to the former's st [...] + +Besides the constructor function, they differ in the way the items are stored underneath. ''efl.List'' are doubly-linked lists, with relatively fast insert/delete operations in the middle of the collection while ''efl.Array'' objects are contiguous memory arrays, with fast data access (compared to Lists) but costly to insert or delete items in the middle of the collection. + + Creating collections + +In order to create collections, you call the respective constructor passing the name of the type that will be stored on that collection: + + +var mylist = new efl.List("int"); +var myarray = new efl.List("array"); + + +Currently the following types are available: + + += Tools and utilities = --
[EGIT] [website/www-content] master 01/01: Wiki page eina changed with summary [] by Lauro Moura
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=d0819680a888feefab2f3e7f4e0bf1e01f938449 commit d0819680a888feefab2f3e7f4e0bf1e01f938449 Author: Lauro Moura Date: Thu Nov 26 11:23:42 2015 -0800 Wiki page eina changed with summary [] by Lauro Moura --- pages/api/javascript/eina.txt | 48 +-- 1 file changed, 42 insertions(+), 6 deletions(-) diff --git a/pages/api/javascript/eina.txt b/pages/api/javascript/eina.txt index 1668a6d..126a74c 100644 --- a/pages/api/javascript/eina.txt +++ b/pages/api/javascript/eina.txt @@ -6,20 +6,56 @@ This document describes the parts that make Eina and their usage in the eyes of = Data types = -Currently, two data types are available: Lists and Arrays. Both aim to have a similar interface to the native [[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array|JS Arrays]] for the most common operations. One important limitation is that when you create an Eina collection you must pass the type of object that will be stored. This is required to allow the binding do the correct conversion between Javascript types and C/C++ types due to the former's st [...] +Currently, two data types are available: Lists and Arrays. Both represent sequence of items and aim to have a similar interface to the native [[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array|JS Arrays]] for the most common operations. One important limitation is that when you create an Eina collection you must pass the type of object that will be stored. This is required to allow the binding do the correct conversion between Javascript types and C/ [...] Besides the constructor function, they differ in the way the items are stored underneath. ''efl.List'' are doubly-linked lists, with relatively fast insert/delete operations in the middle of the collection while ''efl.Array'' objects are contiguous memory arrays, with fast data access (compared to Lists) but costly to insert or delete items in the middle of the collection. - Creating collections + Creating sequences -In order to create collections, you call the respective constructor passing the name of the type that will be stored on that collection: +In order to create a collection of items, you call the respective constructor passing the name of the type that will be stored on that collection: var mylist = new efl.List("int"); -var myarray = new efl.List("array"); +var myarray = new efl.Array("string"); -Currently the following types are available: +The following types are supported using the respective type name: + * Integers - "int" + * Floating point numbers - "float" + * Boolean values - "bool" + * Strings of characters - "string" -= Tools and utilities = + Handling sequences + +The following methods and operations are available for both types of sequences. + +=== Inserting items === + +''obj.push(item)'' - Works like the Javascript ''Array.push(item)'', appending the item to the end of the sequence. For lists, a new node is created at the end. For Arrays, the item is set to the end of the array, and it may grow as needed. + +Usage example: + + +mylist.push(3); +myarray.push("Foobar"); + + +=== Getting items === + +''obj[index]'' - Works like Javascript Array ''[]'' operators. The items are 0-indexed, with the first element at index 0 and the last element with index equal to the number of elements of the sequence minus 1. + + +mylist[42] # Gets the 42nd element +mylist[0] # Gets the first element. + + +=== Setting items === + +=== Deleting and removing items === + +=== Getting the number of Elements === + +=== Printing the elements === + += Tools and utilities = \ No newline at end of file --
[EGIT] [website/www-content] master 01/01: Wiki page eina changed with summary [] by Lauro Moura
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=a9e2dfa4263ce5a3985e62af322e405f6ec8a97d commit a9e2dfa4263ce5a3985e62af322e405f6ec8a97d Author: Lauro Moura Date: Thu Nov 26 11:24:59 2015 -0800 Wiki page eina changed with summary [] by Lauro Moura --- pages/api/javascript/eina.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pages/api/javascript/eina.txt b/pages/api/javascript/eina.txt index 126a74c..c85840c 100644 --- a/pages/api/javascript/eina.txt +++ b/pages/api/javascript/eina.txt @@ -6,7 +6,9 @@ This document describes the parts that make Eina and their usage in the eyes of = Data types = -Currently, two data types are available: Lists and Arrays. Both represent sequence of items and aim to have a similar interface to the native [[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array|JS Arrays]] for the most common operations. One important limitation is that when you create an Eina collection you must pass the type of object that will be stored. This is required to allow the binding do the correct conversion between Javascript types and C/ [...] +Currently, two data types are available: Lists and Arrays. Both represent sequence of items and aim to have a similar interface to the native [[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array|JS Arrays]] for the most common operations, like push/pop and indexed get/set. + +One important limitation is that when you create an Eina collection you must pass the type of object that will be stored. This is required to allow the binding do the correct conversion between Javascript types and C/C++ types due to the former's static nature. Besides the constructor function, they differ in the way the items are stored underneath. ''efl.List'' are doubly-linked lists, with relatively fast insert/delete operations in the middle of the collection while ''efl.Array'' objects are contiguous memory arrays, with fast data access (compared to Lists) but costly to insert or delete items in the middle of the collection. --
[EGIT] [website/www-content] master 01/01: Wiki page eina changed with summary [Added method descriptions and other fixes.] by Lauro Moura
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=f4f921f4a5fad15b47ae4965d507e5383a1d421d commit f4f921f4a5fad15b47ae4965d507e5383a1d421d Author: Lauro Moura Date: Thu Nov 26 12:02:29 2015 -0800 Wiki page eina changed with summary [Added method descriptions and other fixes.] by Lauro Moura --- pages/api/javascript/eina.txt | 74 +++ 1 file changed, 67 insertions(+), 7 deletions(-) diff --git a/pages/api/javascript/eina.txt b/pages/api/javascript/eina.txt index c85840c..1497acf 100644 --- a/pages/api/javascript/eina.txt +++ b/pages/api/javascript/eina.txt @@ -6,7 +6,7 @@ This document describes the parts that make Eina and their usage in the eyes of = Data types = -Currently, two data types are available: Lists and Arrays. Both represent sequence of items and aim to have a similar interface to the native [[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array|JS Arrays]] for the most common operations, like push/pop and indexed get/set. +Currently, two data types are available: Lists and Arrays. Both represent a sequence of items and aim to have a similar interface to the native [[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array|JS Arrays]] for the most common operations, like push/pop and indexed get/set. One important limitation is that when you create an Eina collection you must pass the type of object that will be stored. This is required to allow the binding do the correct conversion between Javascript types and C/C++ types due to the former's static nature. @@ -30,30 +30,90 @@ The following types are supported using the respective type name: Handling sequences -The following methods and operations are available for both types of sequences. +The methods and operations below are supported for both types of sequences. === Inserting items === -''obj.push(item)'' - Works like the Javascript ''Array.push(item)'', appending the item to the end of the sequence. For lists, a new node is created at the end. For Arrays, the item is set to the end of the array, and it may grow as needed. +Syntax + + +var size = obj.push(item) + + +Works like the Javascript ''Array.push(item)'', appending the item to the end of the sequence. For lists, a new node is created at the end. For Arrays, the item is set to the end of the array, and it may grow as needed. + +The method returns the size of the container after adding the new element. Usage example: +var mylist = new efl.List("int"); mylist.push(3); -myarray.push("Foobar"); +var myarray = new efl.Array("string"); +var new_size = myarray.push("Foobar"); + + + +Although Javascript is weak typed, the binding functions are rather strong typed, doing minimal type conversions, like int to floats. Trying to push an element of a different type from the one provided in the constructor will raise TypeError. + +var obj = new efl.List("float"); +obj.push("44"); // CRASH + === Getting items === -''obj[index]'' - Works like Javascript Array ''[]'' operators. The items are 0-indexed, with the first element at index 0 and the last element with index equal to the number of elements of the sequence minus 1. +Syntax + + +var myvar = obj[index]; + + +Works like Javascript Array ''[]'' operators. The items are 0-indexed, with the first element at index 0 and the last element with index equal to the number of elements of the sequence minus 1. + +Usage example: -mylist[42] # Gets the 42nd element -mylist[0] # Gets the first element. +mylist[42] // Gets the 42nd element +mylist[0] // Gets the first element. + +Trying to access an element with an index out of bounds will return ''undefined''. + + === Setting items === +Syntax + + +obj[index] = value; +var v = (obj[index] = value); + + +Works like Javascript indexed setter method. It sets the value at the given index to the given value, //generally// not changing the container size (see note below). On success, the operation returns the value recently set. + + +Trying to set a value at an index equal or larger than the size of the container will extend the container up to that index and fill value up to the last one with ''undefined'', and setting the given value in the last position. + +var obj = new efl.List("int"); +obj[42] = 42; // Obj now has 42 undefined's leading up to 42 in the last position. + + + +Usage example: + + +var obj = new efl.List("int"); +obj.push(3) // [3] +obj.push(2) // [3,2] +obj[0] = 42; // [42, 2] + + + +As with pushing elements, trying to push an element of a different type from the one given to the constructor will raise TypeError. + + === Deleting and removing items === === Getting the number of Elements === --
[EGIT] [website/www-content] master 01/01: Wiki page eina changed with summary [] by Lauro Moura
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=068be9428c745844253dbcfbbddff1a74f7faac0 commit 068be9428c745844253dbcfbbddff1a74f7faac0 Author: Lauro Moura Date: Thu Nov 26 12:31:24 2015 -0800 Wiki page eina changed with summary [] by Lauro Moura --- pages/api/javascript/eina.txt | 18 ++ 1 file changed, 18 insertions(+) diff --git a/pages/api/javascript/eina.txt b/pages/api/javascript/eina.txt index 1497acf..61688d0 100644 --- a/pages/api/javascript/eina.txt +++ b/pages/api/javascript/eina.txt @@ -116,6 +116,24 @@ As with pushing elements, trying to push an element of a different type from the === Deleting and removing items === +Syntax + + +var value = obj.pop(); + + +Behaves like Javascript ''Array.pop()'', removing the last element of the list and returning it. + +Example code: + +// obj is [1,2,3,4,5] +var value = obj.pop(); // value now is 5 and obj is [1,2,3,4] + + + +Trying to pop an item from an empty list will return undefined and leave the list empty. + + === Getting the number of Elements === === Printing the elements === --
[EGIT] [core/evas_generic_loaders] master 01/01: xcf: fix indent for some code parts to match surroundings
stefan pushed a commit to branch master. http://git.enlightenment.org/core/evas_generic_loaders.git/commit/?id=26db3fd707e28ab03b69cf9acc5ecd6cf7edaf8a commit 26db3fd707e28ab03b69cf9acc5ecd6cf7edaf8a Author: Stefan Schmidt Date: Thu Nov 26 23:31:45 2015 +0100 xcf: fix indent for some code parts to match surroundings The file uses 3 spaces for initial indent while some code blocks have been added with two spaces. Purely cosmetic but found while playing around with smatch. --- src/bin/xcf/main.c | 34 +- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/bin/xcf/main.c b/src/bin/xcf/main.c index 1cef05b..373823b 100644 --- a/src/bin/xcf/main.c +++ b/src/bin/xcf/main.c @@ -665,11 +665,11 @@ xcf_load_image(void) /* restore the saved position so we'll be ready to * read the next offset. */ xcf_seek_pos (saved_pos); -} - /* If we were a Gimp we would now load the user-defined channels here ... */ - /* Flat-o-rama now :) */ - flatten_image(); - return; + } + /* If we were a Gimp we would now load the user-defined channels here ... */ + /* Flat-o-rama now :) */ + flatten_image(); + return; error: if (num_successful_elements == 0) goto hard_error; fprintf(stderr, "XCF: This file is corrupt! I have loaded as much\nof it as I can, but it is incomplete.\n"); @@ -758,18 +758,18 @@ xcf_load_layer(void) int type; char *name; - D("Loading one layer ...\n"); - /* read in the layer width, height and type */ - image->cp += xcf_read_int32(image->file, (DATA32 *)&width, 1); - image->cp += xcf_read_int32(image->file, (DATA32 *)&height, 1); - image->cp += xcf_read_int32(image->file, (DATA32 *)&type, 1); - image->cp += xcf_read_string(image->file, &name, 1); - /* ugly, I know */ - FREE(name); - - /* create a new layer */ - layer = new_layer(width, height, type, 255, NORMAL_MODE); - if (!layer) return NULL; + D("Loading one layer ...\n"); + /* read in the layer width, height and type */ + image->cp += xcf_read_int32(image->file, (DATA32 *)&width, 1); + image->cp += xcf_read_int32(image->file, (DATA32 *)&height, 1); + image->cp += xcf_read_int32(image->file, (DATA32 *)&type, 1); + image->cp += xcf_read_string(image->file, &name, 1); + /* ugly, I know */ + FREE(name); + + /* create a new layer */ + layer = new_layer(width, height, type, 255, NORMAL_MODE); + if (!layer) return NULL; /* read in the layer properties */ if (!xcf_load_layer_props(layer)) goto error; --
[EGIT] [core/efl] master 01/01: eina_matrix: optimize multiply and inverse calls by actually using the shortcut
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a486671bce76e405a8d7261f19b0f67ca678f0c4 commit a486671bce76e405a8d7261f19b0f67ca678f0c4 Author: Stefan Schmidt Date: Fri Nov 27 00:13:04 2015 +0100 eina_matrix: optimize multiply and inverse calls by actually using the shortcut We had this nice shortcuts for multiply and inverse with the identity matrix. Pity we never used it! The EINA_MATRIX_TYPE_IDENTITY is coming from an enum without and direct assignments to its internals. Being the first item in the enum it is most likely will be 0 which makes the whole bitwise AND zero and thus the optimized path will never get called. If our compiler now decides hew wants to handle enums differently and does not assign the 0 to the first item this bitwise operation will be even more screwed. What we really want is to check is if the type we get for the matrix matches EINA_MATRIX_TYPE_IDENTITY. So better do this. Made me look into matrix multply and inverse. Fun! Thanks to smatch for poiting this out. --- src/lib/eina/eina_matrix.c | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/lib/eina/eina_matrix.c b/src/lib/eina/eina_matrix.c index 90493d3..7a1469c 100644 --- a/src/lib/eina/eina_matrix.c +++ b/src/lib/eina/eina_matrix.c @@ -991,13 +991,13 @@ EAPI void eina_matrix4_multiply(Eina_Matrix4 *out, const Eina_Matrix4 *mat_a, const Eina_Matrix4 *mat_b) { - if (eina_matrix4_type_get(mat_a) & EINA_MATRIX_TYPE_IDENTITY) + if (eina_matrix4_type_get(mat_a) == EINA_MATRIX_TYPE_IDENTITY) { eina_matrix4_copy(out, mat_b); return; } - if (eina_matrix4_type_get(mat_b) & EINA_MATRIX_TYPE_IDENTITY) + if (eina_matrix4_type_get(mat_b) == EINA_MATRIX_TYPE_IDENTITY) { eina_matrix4_copy(out, mat_a); return; @@ -1085,13 +1085,13 @@ eina_matrix3_copy(Eina_Matrix3 *dst, const Eina_Matrix3 *src) EAPI void eina_matrix3_multiply(Eina_Matrix3 *out, const Eina_Matrix3 *mat_a, const Eina_Matrix3 *mat_b) { - if (eina_matrix3_type_get(mat_a) & EINA_MATRIX_TYPE_IDENTITY) + if (eina_matrix3_type_get(mat_a) == EINA_MATRIX_TYPE_IDENTITY) { eina_matrix3_copy(out, mat_b); return; } - if (eina_matrix3_type_get(mat_b) & EINA_MATRIX_TYPE_IDENTITY) + if (eina_matrix3_type_get(mat_b) == EINA_MATRIX_TYPE_IDENTITY) { eina_matrix3_copy(out, mat_a); return; @@ -1206,7 +1206,7 @@ eina_matrix2_inverse(Eina_Matrix2 *out, const Eina_Matrix2 *mat) { double det; - if (eina_matrix2_type_get(mat) & EINA_MATRIX_TYPE_IDENTITY) + if (eina_matrix2_type_get(mat) == EINA_MATRIX_TYPE_IDENTITY) { eina_matrix2_copy(out, mat); return; @@ -1250,13 +1250,13 @@ eina_matrix2_copy(Eina_Matrix2 *dst, const Eina_Matrix2 *src) EAPI void eina_matrix2_multiply(Eina_Matrix2 *out, const Eina_Matrix2 *mat_a, const Eina_Matrix2 *mat_b) { - if (eina_matrix2_type_get(mat_a) & EINA_MATRIX_TYPE_IDENTITY) + if (eina_matrix2_type_get(mat_a) == EINA_MATRIX_TYPE_IDENTITY) { eina_matrix2_copy(out, mat_b); return; } - if (eina_matrix2_type_get(mat_b) & EINA_MATRIX_TYPE_IDENTITY) + if (eina_matrix2_type_get(mat_b) == EINA_MATRIX_TYPE_IDENTITY) { eina_matrix2_copy(out, mat_a); return; --
[EGIT] [core/enlightenment] master 01/01: Stop using MIN macros when choosing versions for wayland resources
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=81ff082e0d762f3d16f5e2cafd2717456d30c872 commit 81ff082e0d762f3d16f5e2cafd2717456d30c872 Author: Derek Foreman Date: Thu Nov 26 20:12:47 2015 -0500 Stop using MIN macros when choosing versions for wayland resources Summary: libwayland-server.so will post an error if the requested version is higher than the supported one anyway, so there's no point in doing this. Using MIN() to pick versions is a client side idiom. #kansas Reviewers: zmike, devilhorns Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3385 --- src/bin/e_comp_wl.c | 6 +++--- src/bin/e_comp_wl_input.c | 2 +- src/modules/wl_desktop_shell/e_mod_main.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 4c644b3..467072c 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -1574,7 +1574,7 @@ _e_comp_wl_compositor_cb_bind(struct wl_client *client, void *data EINA_UNUSED, if (!(res = wl_resource_create(client, &wl_compositor_interface, -MIN(version, COMPOSITOR_VERSION), id))) +version, id))) { ERR("Could not create compositor resource: %m"); wl_client_post_no_memory(client); @@ -2010,7 +2010,7 @@ _e_comp_wl_subcompositor_cb_bind(struct wl_client *client, void *data EINA_UNUSE if (!(res = wl_resource_create(client, &wl_subcompositor_interface, -MIN(version, 1), id))) +version, id))) { ERR("Could not create subcompositor resource: %m"); wl_client_post_no_memory(client); @@ -2426,7 +2426,7 @@ _e_comp_wl_cb_output_bind(struct wl_client *client, void *data, uint32_t version if (!(output = data)) return; resource = - wl_resource_create(client, &wl_output_interface, MIN(version, 2), id); + wl_resource_create(client, &wl_output_interface, version, id); if (!resource) { wl_client_post_no_memory(client); diff --git a/src/bin/e_comp_wl_input.c b/src/bin/e_comp_wl_input.c index 7aa0dcd..2793448 100644 --- a/src/bin/e_comp_wl_input.c +++ b/src/bin/e_comp_wl_input.c @@ -249,7 +249,7 @@ _e_comp_wl_input_cb_bind_seat(struct wl_client *client, void *data EINA_UNUSED, { struct wl_resource *res; - res = wl_resource_create(client, &wl_seat_interface, MIN(version, 4), id); + res = wl_resource_create(client, &wl_seat_interface, version, id); if (!res) { ERR("Could not create seat resource: %m"); diff --git a/src/modules/wl_desktop_shell/e_mod_main.c b/src/modules/wl_desktop_shell/e_mod_main.c index 040c427..c18abad 100644 --- a/src/modules/wl_desktop_shell/e_mod_main.c +++ b/src/modules/wl_desktop_shell/e_mod_main.c @@ -1323,7 +1323,7 @@ _e_shell_cb_bind(struct wl_client *client, void *data EINA_UNUSED, uint32_t vers { struct wl_resource *res; - if (!(res = wl_resource_create(client, &wl_shell_interface, MIN(version, 1), id))) + if (!(res = wl_resource_create(client, &wl_shell_interface, version, id))) { wl_client_post_no_memory(client); return; @@ -1340,7 +1340,7 @@ _e_xdg_shell_cb_bind(struct wl_client *client, void *data EINA_UNUSED, uint32_t { struct wl_resource *res; - if (!(res = wl_resource_create(client, &xdg_shell_interface, MIN(version, 1), id))) + if (!(res = wl_resource_create(client, &xdg_shell_interface, version, id))) { wl_client_post_no_memory(client); return; --