[EGIT] [tools/eflete] master 17/19: property_group: add controls for manage 'tone_name' param
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=1a883d6db896f259f9852f12facbf0cd7ddb8f75 commit 1a883d6db896f259f9852f12facbf0cd7ddb8f75 Author: Vyacheslav ReutskiyDate: Mon Jan 18 15:26:19 2016 +0200 property_group: add controls for manage 'tone_name' param Change-Id: I2ddc791b5eabe0229d81d138f01681b1f99c4bc8 --- src/bin/ui/property_group.c | 58 - 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/src/bin/ui/property_group.c b/src/bin/ui/property_group.c index 495c6fb..2de48dc 100644 --- a/src/bin/ui/property_group.c +++ b/src/bin/ui/property_group.c @@ -203,6 +203,8 @@ struct _Group_Prop_Data Evas_Object *sample_name; Evas_Object *sample_speed; Evas_Object *channel; + Evas_Object *tone_name; + Evas_Object *tone_duration; Evas_Object *target; Evas_Object *target_box; Evas_Object *targets_frame; /* it's a frame */ @@ -354,6 +356,9 @@ static void prop_program_sample_name_update(Group_Prop_Data *pd); static void +prop_program_tone_name_update(Group_Prop_Data *pd); + +static void prop_program_targets_update(Group_Prop_Data *pd); static Eina_Bool @@ -993,6 +998,9 @@ _on_editor_attribute_changed(void *data, case ATTRIBUTE_PROGRAM_CHANNEL: PROGRAM_ATTR_1COMBOBOX_LIST_UPDATE(program, channel, program) break; + case ATTRIBUTE_PROGRAM_TONE_NAME: + prop_program_tone_name_update(pd); + break; case ATTRIBUTE_PROGRAM_TRANSITION_TYPE: case ATTRIBUTE_PROGRAM_TRANSITION_FROM_CURRENT: case ATTRIBUTE_PROGRAM_TONE_DURATION: @@ -1007,7 +1015,6 @@ _on_editor_attribute_changed(void *data, case ATTRIBUTE_PROGRAM_FILTER_STATE: case ATTRIBUTE_PROGRAM_API_NAME: case ATTRIBUTE_PROGRAM_API_DESCRIPTION: - case ATTRIBUTE_PROGRAM_TONE_NAME: case ATTRIBUTE_PROGRAM_NAME: case ATTRIBUTE_PROGRAM_AFTER: TODO("implement"); @@ -1633,6 +1640,22 @@ prop_program_sample_name_update(Group_Prop_Data *pd) } static void +prop_program_tone_name_update(Group_Prop_Data *pd) +{ + Eina_Stringshare *value; + Eina_List *l; + Resource *tone; + + value = edje_edit_program_tone_name_get(pd->group->edit_object, pd->attributes.program.program); + ewe_combobox_text_set(pd->attributes.program.tone_name, value ? value : _("None")); + ewe_combobox_item_add(pd->attributes.program.tone_name, _("None")); + EINA_LIST_FOREACH(ap.project->tones, l, tone) + { +ewe_combobox_item_add(pd->attributes.program.tone_name, tone->name); + } +} + +static void _on_program_sample(void *data, Evas_Object *obj __UNUSED__, void *event_info) @@ -1680,6 +1703,36 @@ _prop_action_sample_speed_add(Group_Prop_Data *pd, Evas_Object *parent) } static void +_on_program_tone(void *data, + Evas_Object *obj __UNUSED__, + void *event_info) +{ + Group_Prop_Data *pd = (Group_Prop_Data *)data; + Ewe_Combobox_Item *item = (Ewe_Combobox_Item *)event_info; + Change *change = change_add("Change the action tone to '%s'"); + + if (!editor_program_tone_name_set(pd->group->edit_object, change, false, pd->attributes.program.program, item->title)) + { +ERR("Cann't apply value '%s' for attribute 'program tone'.", item->title); +abort(); + } + history_change_add(pd->group->history, change); + evas_object_smart_callback_call(ap.win, SIGNAL_PROPERTY_ATTRIBUTE_CHANGED, NULL); +} + +static Evas_Object * +_prop_action_tone_name(Group_Prop_Data *pd, Evas_Object *parent) +{ + PROPERTY_ITEM_ADD(parent, "name", "1swallow") + EWE_COMBOBOX_ADD(item, pd->attributes.program.tone_name); + evas_object_smart_callback_add(pd->attributes.program.tone_name, "selected", _on_program_tone, pd); + elm_object_tooltip_text_set(pd->attributes.program.tone_name, ""); + elm_layout_content_set(item, NULL, pd->attributes.program.tone_name); + prop_program_tone_name_update(pd); + return item; +} + +static void _program_action_param_set(Group_Prop_Data *pd, Edje_Action_Type type) { Evas_Object *box, *item; @@ -1723,6 +1776,9 @@ _program_action_param_set(Group_Prop_Data *pd, Edje_Action_Type type) elm_box_pack_end(box, item); break; case EDJE_ACTION_TYPE_SOUND_TONE: + item = _prop_action_tone_name(pd, box); + elm_box_pack_end(box, item); + break; case EDJE_ACTION_TYPE_NONE: default: elm_frame_collapse_set(pd->attributes.program.action_params, true); --
[EGIT] [tools/eflete] master 11/19: property_group: fix unpleasant bug when empty combo update different combo
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=864aef8690159a512a9f41d0bef962574ce98c40 commit 864aef8690159a512a9f41d0bef962574ce98c40 Author: Vitalii VorobiovDate: Mon Jan 18 12:41:44 2016 + property_group: fix unpleasant bug when empty combo update different combo --- src/bin/ui/property_group.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/bin/ui/property_group.c b/src/bin/ui/property_group.c index 418ef41..118a7de 100644 --- a/src/bin/ui/property_group.c +++ b/src/bin/ui/property_group.c @@ -1835,10 +1835,10 @@ _on_target_change(void *data, eina_stringshare_del(old_val); } + evas_object_data_set(obj, COMBOBOX_TARGET, eina_stringshare_add(item->title)); editor_program_target_add(pd->group->edit_object, change, false, pd->attributes.program.program, item->title); - evas_object_data_set(obj, COMBOBOX_TARGET, eina_stringshare_add(item->title)); history_change_add(pd->group->history, change); } static void @@ -1917,11 +1917,15 @@ prop_program_targets_update(Group_Prop_Data *pd) items = elm_box_children_get(pd->attributes.program.target_box); /* fill up with part and program list */ + Eina_Stringshare *to_del; EINA_LIST_FOREACH(items, l, item) { target_combo = elm_layout_content_get(item, NULL); target = eina_list_data_get(targets); ewe_combobox_text_set(target_combo, target); +to_del = evas_object_data_get(target_combo, COMBOBOX_TARGET); +eina_stringshare_del(to_del); +evas_object_data_del(target_combo, COMBOBOX_TARGET); evas_object_data_set(target_combo, COMBOBOX_TARGET, eina_stringshare_add(target)); targets = eina_list_next(targets); } --
[EGIT] [tools/eflete] master 14/19: property_group: add controls for manage 'sample_speed' param
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=721607ef20d1c0c5341b4fd2793e06a8c57d243b commit 721607ef20d1c0c5341b4fd2793e06a8c57d243b Author: Vyacheslav ReutskiyDate: Mon Jan 18 12:36:36 2016 +0200 property_group: add controls for manage 'sample_speed' param Change-Id: I6ec04478d85276a05680de8bfdd3edabd6ffad08 --- src/bin/ui/property_group.c | 26 -- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/bin/ui/property_group.c b/src/bin/ui/property_group.c index b12c0aa..b70a31a 100644 --- a/src/bin/ui/property_group.c +++ b/src/bin/ui/property_group.c @@ -202,7 +202,7 @@ struct _Group_Prop_Data Evas_Object *value2; Evas_Object *sample_name; Evas_Object *sample_speed; - Evas_Object *channel; + Evas_Object *sample_channel; Evas_Object *target; Evas_Object *target_box; Evas_Object *targets_frame; /* it's a frame */ @@ -976,6 +976,9 @@ _on_editor_attribute_changed(void *data, case ATTRIBUTE_PROGRAM_SAMPLE_NAME: prop_program_sample_name_update(pd); break; + case ATTRIBUTE_PROGRAM_SAMPLE_SPEED: + COMMON_1SPINNER_UPDATE(program, sample_speed, program, int, 1, PROGRAM_ARGS) + break; case ATTRIBUTE_PROGRAM_TRANSITION_TYPE: case ATTRIBUTE_PROGRAM_TRANSITION_FROM_CURRENT: case ATTRIBUTE_PROGRAM_CHANNEL: @@ -983,7 +986,6 @@ _on_editor_attribute_changed(void *data, case ATTRIBUTE_PROGRAM_IN_FROM: case ATTRIBUTE_PROGRAM_IN_RANGE: case ATTRIBUTE_PROGRAM_TRANSITION_TIME: - case ATTRIBUTE_PROGRAM_SAMPLE_SPEED: case ATTRIBUTE_PROGRAM_TRANSITION_VALUE1: case ATTRIBUTE_PROGRAM_TRANSITION_VALUE2: case ATTRIBUTE_PROGRAM_TRANSITION_VALUE3: @@ -1528,6 +1530,7 @@ COMMON_ENTRY_CALLBACK(program, state, NULL, PROGRAM_ARGS, _("Program action stat COMMON_ENTRY_CALLBACK(program, state2, NULL, PROGRAM_ARGS, _("Program action state2 is changed to '%s'")) COMMON_SPINNER_CALLBACK(program, value, program, double, 1, PROGRAM_ARGS, _("Program action value is changed from %f to %f")) COMMON_SPINNER_CALLBACK(program, value2, program, double, 1, PROGRAM_ARGS, _("Program action value is changed from %f to %f")) +COMMON_SPINNER_CALLBACK(program, sample_speed, program, int, 1, PROGRAM_ARGS, _("Program action value is changed from %d to %d")) static Evas_Object * _prop_action_state_add(Group_Prop_Data *pd, Evas_Object *parent, const char *title, const char *tooltip) @@ -1641,6 +1644,23 @@ _prop_action_sample_name(Group_Prop_Data *pd, Evas_Object *parent) return item; } +static Evas_Object * +_prop_action_sample_speed_add(Group_Prop_Data *pd, Evas_Object *parent) +{ + PROPERTY_ITEM_ADD(parent, _("speed"), "2swallow") + SPINNER_ADD(item, pd->attributes.program.sample_speed, 0.0, .0, 1.0, true); + elm_spinner_label_format_set(pd->attributes.program.sample_speed, "%.0f"); + elm_spinner_value_set(pd->attributes.program.sample_speed, + edje_edit_program_sample_speed_get(pd->group->edit_object, pd->attributes.program.program)); + evas_object_smart_callback_add(pd->attributes.program.sample_speed, "changed", _on_program_sample_speed_change, pd); + evas_object_smart_callback_add(pd->attributes.program.sample_speed, "spinner,drag,start", _on_program_sample_speed_start, pd); + evas_object_smart_callback_add(pd->attributes.program.sample_speed, "spinner,drag,stop", _on_program_sample_speed_stop, pd); + elm_object_tooltip_text_set(pd->attributes.program.sample_speed, ""); + elm_layout_content_set(item, "swallow.content1", pd->attributes.program.sample_speed); + + return item; +} + static void _program_action_param_set(Group_Prop_Data *pd, Edje_Action_Type type) { @@ -1679,6 +1699,8 @@ _program_action_param_set(Group_Prop_Data *pd, Edje_Action_Type type) case EDJE_ACTION_TYPE_SOUND_SAMPLE: item = _prop_action_sample_name(pd, box); elm_box_pack_end(box, item); + item = _prop_action_sample_speed_add(pd, box); + elm_box_pack_end(box, item); break; case EDJE_ACTION_TYPE_SOUND_TONE: case EDJE_ACTION_TYPE_NONE: --
[EGIT] [tools/eflete] master 16/19: property_group: add controls for manage 'sample channel' param
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=76785baa684276f201d95da44daf3f0b5f25d59e commit 76785baa684276f201d95da44daf3f0b5f25d59e Author: Vyacheslav ReutskiyDate: Mon Jan 18 15:11:33 2016 +0200 property_group: add controls for manage 'sample channel' param Change-Id: Ib1569d18a3e3f8c64af4d68141ff7050ac34ca2f --- src/bin/ui/property_group.c | 24 ++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/bin/ui/property_group.c b/src/bin/ui/property_group.c index b70a31a..495c6fb 100644 --- a/src/bin/ui/property_group.c +++ b/src/bin/ui/property_group.c @@ -202,7 +202,7 @@ struct _Group_Prop_Data Evas_Object *value2; Evas_Object *sample_name; Evas_Object *sample_speed; - Evas_Object *sample_channel; + Evas_Object *channel; Evas_Object *target; Evas_Object *target_box; Evas_Object *targets_frame; /* it's a frame */ @@ -306,6 +306,17 @@ edje_program_actions[] = { N_("None"), N_("action stop"), NULL}; +static const char * +sound_channel[] = { N_("effect"), +N_("background"), +N_("music"), +N_("foreground"), +N_("interface"), +N_("input"), +N_("alert"), +N_("all"), +NULL }; + static void _ui_property_part_unset(Evas_Object *property); @@ -979,9 +990,11 @@ _on_editor_attribute_changed(void *data, case ATTRIBUTE_PROGRAM_SAMPLE_SPEED: COMMON_1SPINNER_UPDATE(program, sample_speed, program, int, 1, PROGRAM_ARGS) break; + case ATTRIBUTE_PROGRAM_CHANNEL: + PROGRAM_ATTR_1COMBOBOX_LIST_UPDATE(program, channel, program) + break; case ATTRIBUTE_PROGRAM_TRANSITION_TYPE: case ATTRIBUTE_PROGRAM_TRANSITION_FROM_CURRENT: - case ATTRIBUTE_PROGRAM_CHANNEL: case ATTRIBUTE_PROGRAM_TONE_DURATION: case ATTRIBUTE_PROGRAM_IN_FROM: case ATTRIBUTE_PROGRAM_IN_RANGE: @@ -1480,6 +1493,10 @@ PART_ATTR_SOURCE_UPDATE(part, source) PROGRAM_ATTR_1ENTRY_CALLBACK(SUB, VALUE, VALIDATOR, DESCRIPTION) \ PROGRAM_ATTR_1ENTRY_ADD(TEXT, SUB, VALUE, MEMBER, VALIDATOR, TOOLTIP) +#define PROGRAM_ATTR_1COMBOBOX_LIST(TEXT, SUB, VALUE, MEMBER, LIST, TYPE, DESCRIPTION, TOOLTIP) \ + PROGRAM_ATTR_1COMBOBOX_LIST_CALLBACK(TEXT, SUB, VALUE, TYPE, DESCRIPTION) \ + PROGRAM_ATTR_1COMBOBOX_LIST_ADD(TEXT, SUB, VALUE, MEMBER, LIST, TOOLTIP) + static void _on_program_name_change(void *data __UNUSED__, Evas_Object *obj __UNUSED__, @@ -1531,6 +1548,7 @@ COMMON_ENTRY_CALLBACK(program, state2, NULL, PROGRAM_ARGS, _("Program action sta COMMON_SPINNER_CALLBACK(program, value, program, double, 1, PROGRAM_ARGS, _("Program action value is changed from %f to %f")) COMMON_SPINNER_CALLBACK(program, value2, program, double, 1, PROGRAM_ARGS, _("Program action value is changed from %f to %f")) COMMON_SPINNER_CALLBACK(program, sample_speed, program, int, 1, PROGRAM_ARGS, _("Program action value is changed from %d to %d")) +PROGRAM_ATTR_1COMBOBOX_LIST(_("sample channel"), program, channel, program, sound_channel, unsigned char, _("Program action state is changed to '%s'"), "") static Evas_Object * _prop_action_state_add(Group_Prop_Data *pd, Evas_Object *parent, const char *title, const char *tooltip) @@ -1701,6 +1719,8 @@ _program_action_param_set(Group_Prop_Data *pd, Edje_Action_Type type) elm_box_pack_end(box, item); item = _prop_action_sample_speed_add(pd, box); elm_box_pack_end(box, item); + item = prop_program_channel_add(box, pd); + elm_box_pack_end(box, item); break; case EDJE_ACTION_TYPE_SOUND_TONE: case EDJE_ACTION_TYPE_NONE: --
[EGIT] [tools/eflete] master 15/19: property_macro: add macro for 1 combobox program attribute
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=afd858b7cb10b0506dbea5bada94d1f04f972e7a commit afd858b7cb10b0506dbea5bada94d1f04f972e7a Author: Vyacheslav ReutskiyDate: Mon Jan 18 15:09:53 2016 +0200 property_macro: add macro for 1 combobox program attribute Change-Id: I6eb588eb42793e62f78da576debaaf2960e223fe --- src/bin/ui/property_macros.h | 45 1 file changed, 45 insertions(+) diff --git a/src/bin/ui/property_macros.h b/src/bin/ui/property_macros.h index abba4ac..268b485 100644 --- a/src/bin/ui/property_macros.h +++ b/src/bin/ui/property_macros.h @@ -811,6 +811,51 @@ _on_group_##SUB1##_##VALUE##_change(void *data, \ COMMON_ENTRY_CALLBACK(SUB, VALUE, VALIDATOR, PROGRAM_ARGS, DESCRIPTION) \ /*/ +/* PROGRAM 1 COMBOBOX LIST CONTROL */ +/*/ +/** + * Macro defines functions that create an item with label and 1 combobox for program + * attribute. A predefined list fill the combobox. + * + * @param TEXT The label text + * @param SUB The prefix of main parameter of part attribute + * @param VALUE The value of part attribute + * @param MEMBER The combobox member from Group_Prop_Data structure + * @param LIST The predefined strings list + * @param TOOLTIP The combobox tooltip + * + * @ingroup Property_Macro + */ +#define PROGRAM_ATTR_1COMBOBOX_LIST_ADD(TEXT, SUB, VALUE, MEMBER, LIST, TOOLTIP) \ + COMMON_COMBOBOX_LIST_ADD(PROGRAM, TEXT, SUB, VALUE, MEMBER, LIST, TOOLTIP, PROGRAM_ARGS) + +/** + * Macro defines a function that updates control by PROGRAM_ATTR_1COMBOBOX_LIST_ADD macro. + * + * @param SUB The prefix of main parameter of part attribute + * @param VALUE The value of part attribute + * @param MEMBER + * + * @ingroup Property_Macro + */ +#define PROGRAM_ATTR_1COMBOBOX_LIST_UPDATE(SUB, VALUE, MEMBER) \ + COMMON_COMBOBOX_LIST_UPDATE(SUB, VALUE, MEMBER, PROGRAM_ARGS) + +/** + * Macro defines a callback for PROGRAM_ATTR_1COMBOBOX_ADD. + * + * @param TEXT The attribute name, for error message + * @param SUB The prefix of main parameter of part attribute + * @param VALUE The value of part attribute + * @param TYPE The type of given attribute + * + * @ingroup Property_Macro + */ +#define PROGRAM_ATTR_1COMBOBOX_LIST_CALLBACK(TEXT, SUB, VALUE, TYPE, DESCRIPTION) \ + COMMON_COMBOBOX_LIST_CALLBACK(TEXT, SUB, VALUE, TYPE, PROGRAM_ARGS, DESCRIPTION) + + +/*/ /* PART 1 CHECK CONTROL */ /*/ /** --
[EGIT] [tools/eflete] master 05/19: property_group: add controls for manage the action SIGNAL_EMIT params
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=3ad8e86bb6fac48d29adb271df26f8c9891c84da commit 3ad8e86bb6fac48d29adb271df26f8c9891c84da Author: Vyacheslav ReutskiyDate: Fri Jan 15 12:10:04 2016 +0200 property_group: add controls for manage the action SIGNAL_EMIT params Change-Id: I1bf1f27691ebdda4f9b02f1a4b8cf80620839916 --- src/bin/ui/property_group.c | 33 + 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/src/bin/ui/property_group.c b/src/bin/ui/property_group.c index 658a73a..34d2c94 100644 --- a/src/bin/ui/property_group.c +++ b/src/bin/ui/property_group.c @@ -938,6 +938,10 @@ _on_editor_attribute_changed(void *data, prop_program_source_update(pd); break; case ATTRIBUTE_PROGRAM_ACTION: + case ATTRIBUTE_PROGRAM_STATE: + case ATTRIBUTE_PROGRAM_STATE2: + case ATTRIBUTE_PROGRAM_VALUE: + case ATTRIBUTE_PROGRAM_VALUE2: prop_program_action_update(pd); break; case ATTRIBUTE_PROGRAM_TRANSITION_TYPE: @@ -948,8 +952,6 @@ _on_editor_attribute_changed(void *data, case ATTRIBUTE_PROGRAM_IN_RANGE: case ATTRIBUTE_PROGRAM_TRANSITION_TIME: case ATTRIBUTE_PROGRAM_SAMPLE_SPEED: - case ATTRIBUTE_PROGRAM_VALUE2: - case ATTRIBUTE_PROGRAM_VALUE: case ATTRIBUTE_PROGRAM_TRANSITION_VALUE1: case ATTRIBUTE_PROGRAM_TRANSITION_VALUE2: case ATTRIBUTE_PROGRAM_TRANSITION_VALUE3: @@ -960,8 +962,6 @@ _on_editor_attribute_changed(void *data, case ATTRIBUTE_PROGRAM_API_DESCRIPTION: case ATTRIBUTE_PROGRAM_SAMPLE_NAME: case ATTRIBUTE_PROGRAM_TONE_NAME: - case ATTRIBUTE_PROGRAM_STATE: - case ATTRIBUTE_PROGRAM_STATE2: case ATTRIBUTE_PROGRAM_NAME: case ATTRIBUTE_PROGRAM_TARGET: case ATTRIBUTE_PROGRAM_AFTER: @@ -1482,8 +1482,10 @@ PROGRAMM_ATTR_1ENTRY(_("source"), program, source, program, NULL, /* this dummy for make posible to reuse COMMON_ENTRY_CALLBACK */ #define prop_program_state_update(PD) +#define prop_program_state2_update(PD) COMMON_ENTRY_CALLBACK(program, state, NULL, PROGRAM_ARGS, _("Program action state is changed to '%s'")) +COMMON_ENTRY_CALLBACK(program, state2, NULL, PROGRAM_ARGS, _("Program action state2 is changed to '%s'")) COMMON_SPINNER_CALLBACK(program, value, program, double, 1, PROGRAM_ARGS, _("Program action value is changed from %f to %f")) static Evas_Object * @@ -1504,6 +1506,23 @@ _prop_action_state_add(Group_Prop_Data *pd, Evas_Object *parent, const char *tit } static Evas_Object * +_prop_action_state2_add(Group_Prop_Data *pd, Evas_Object *parent, const char *title, const char *tooltip) +{ + Evas_Object *control; + + PROPERTY_ITEM_ADD(parent, title, "1swallow") + ENTRY_ADD(item, control, true); + elm_entry_entry_set(control, edje_edit_program_state2_get(pd->group->edit_object, pd->attributes.program.program)); + evas_object_smart_callback_add(control, "changed,user", _on_program_state2_change, pd); + evas_object_smart_callback_add(control, "activated", _on_program_state2_activated, pd); + evas_object_smart_callback_add(control, "unfocused", _on_program_state2_activated, pd); + elm_object_tooltip_text_set(control, tooltip); + elm_layout_content_set(item, NULL, control); + + return item; +} + +static Evas_Object * _prop_action_value_add(Group_Prop_Data *pd, Evas_Object *parent, const char *title, const char *tooltip) { Evas_Object *control; @@ -1542,6 +1561,12 @@ _program_action_param_set(Group_Prop_Data *pd, Edje_Action_Type type) item = _prop_action_value_add(pd, box, _("state value"), ""); elm_box_pack_end(box, item); break; + case EDJE_ACTION_TYPE_SIGNAL_EMIT: + item = _prop_action_state_add(pd, box, _("signal name"), ""); + elm_box_pack_end(box, item); + item = _prop_action_state2_add(pd, box, _("emmiter"), ""); + elm_box_pack_end(box, item); + break; case EDJE_ACTION_TYPE_NONE: default: elm_frame_collapse_set(pd->attributes.program.action_params, true); --
[EGIT] [tools/eflete] master 13/19: property_group: add controls for manage 'sample_name' param
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=b72ad5c765722a09ac3c59240be863b6bafc1ee2 commit b72ad5c765722a09ac3c59240be863b6bafc1ee2 Author: Vyacheslav ReutskiyDate: Mon Jan 18 11:44:27 2016 +0200 property_group: add controls for manage 'sample_name' param Change-Id: Ic12012dc713c5a32ab71e2bc5cb62590b6e61939 --- src/bin/ui/property_group.c | 61 - 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/src/bin/ui/property_group.c b/src/bin/ui/property_group.c index 118a7de..b12c0aa 100644 --- a/src/bin/ui/property_group.c +++ b/src/bin/ui/property_group.c @@ -200,6 +200,9 @@ struct _Group_Prop_Data Evas_Object *state2; Evas_Object *value; Evas_Object *value2; + Evas_Object *sample_name; + Evas_Object *sample_speed; + Evas_Object *channel; Evas_Object *target; Evas_Object *target_box; Evas_Object *targets_frame; /* it's a frame */ @@ -337,6 +340,9 @@ static void prop_program_state2_update(Group_Prop_Data *pd); static void +prop_program_sample_name_update(Group_Prop_Data *pd); + +static void prop_program_targets_update(Group_Prop_Data *pd); static Eina_Bool @@ -967,6 +973,9 @@ _on_editor_attribute_changed(void *data, case ATTRIBUTE_PROGRAM_TARGET: prop_program_targets_update(pd); break; + case ATTRIBUTE_PROGRAM_SAMPLE_NAME: + prop_program_sample_name_update(pd); + break; case ATTRIBUTE_PROGRAM_TRANSITION_TYPE: case ATTRIBUTE_PROGRAM_TRANSITION_FROM_CURRENT: case ATTRIBUTE_PROGRAM_CHANNEL: @@ -983,7 +992,6 @@ _on_editor_attribute_changed(void *data, case ATTRIBUTE_PROGRAM_FILTER_STATE: case ATTRIBUTE_PROGRAM_API_NAME: case ATTRIBUTE_PROGRAM_API_DESCRIPTION: - case ATTRIBUTE_PROGRAM_SAMPLE_NAME: case ATTRIBUTE_PROGRAM_TONE_NAME: case ATTRIBUTE_PROGRAM_NAME: case ATTRIBUTE_PROGRAM_AFTER: @@ -1588,6 +1596,52 @@ _prop_action_value2_add(Group_Prop_Data *pd, Evas_Object *parent, const char *ti } static void +prop_program_sample_name_update(Group_Prop_Data *pd) +{ + Eina_Stringshare *value; + Eina_List *l; + Resource *sample; + + value = edje_edit_program_sample_name_get(pd->group->edit_object, pd->attributes.program.program); + ewe_combobox_text_set(pd->attributes.program.sample_name, value ? value : _("None")); + ewe_combobox_item_add(pd->attributes.program.sample_name, _("None")); + EINA_LIST_FOREACH(ap.project->sounds, l, sample) + { +ewe_combobox_item_add(pd->attributes.program.sample_name, sample->name); + } +} + +static void +_on_program_sample(void *data, + Evas_Object *obj __UNUSED__, + void *event_info) +{ + Group_Prop_Data *pd = (Group_Prop_Data *)data; + Ewe_Combobox_Item *item = (Ewe_Combobox_Item *)event_info; + Change *change = change_add("Change the action sount to '%s'"); + + if (!editor_program_sample_name_set(pd->group->edit_object, change, false, pd->attributes.program.program, item->title)) + { +ERR("Cann't apply value '%s' for attribute 'program sample'.", item->title); +abort(); + } + history_change_add(pd->group->history, change); + evas_object_smart_callback_call(ap.win, SIGNAL_PROPERTY_ATTRIBUTE_CHANGED, NULL); +} + +static Evas_Object * +_prop_action_sample_name(Group_Prop_Data *pd, Evas_Object *parent) +{ + PROPERTY_ITEM_ADD(parent, "name", "1swallow") + EWE_COMBOBOX_ADD(item, pd->attributes.program.sample_name); + evas_object_smart_callback_add(pd->attributes.program.sample_name, "selected", _on_program_sample, pd); + elm_object_tooltip_text_set(pd->attributes.program.sample_name, ""); + elm_layout_content_set(item, NULL, pd->attributes.program.sample_name); + prop_program_sample_name_update(pd); + return item; +} + +static void _program_action_param_set(Group_Prop_Data *pd, Edje_Action_Type type) { Evas_Object *box, *item; @@ -1622,6 +1676,11 @@ _program_action_param_set(Group_Prop_Data *pd, Edje_Action_Type type) item = _prop_action_value2_add(pd, box, _("axis Y"), ""); elm_box_pack_end(box, item); break; + case EDJE_ACTION_TYPE_SOUND_SAMPLE: + item = _prop_action_sample_name(pd, box); + elm_box_pack_end(box, item); + break; + case EDJE_ACTION_TYPE_SOUND_TONE: case EDJE_ACTION_TYPE_NONE: default: elm_frame_collapse_set(pd->attributes.program.action_params, true); --
[EGIT] [tools/eflete] master 08/19: property_group: when program action is ACTION_STOP targets should be programs only
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=cf27951803b6573687e135c74c6fe5a007e0ad4f commit cf27951803b6573687e135c74c6fe5a007e0ad4f Author: Vitalii VorobiovDate: Fri Jan 15 16:05:05 2016 + property_group: when program action is ACTION_STOP targets should be programs only --- src/bin/ui/property_group.c | 26 ++ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/bin/ui/property_group.c b/src/bin/ui/property_group.c index 3ffed41..107c886 100644 --- a/src/bin/ui/property_group.c +++ b/src/bin/ui/property_group.c @@ -1870,11 +1870,16 @@ _add_target(void *data, { ewe_combobox_item_add(target_combo, part->name); } - EINA_LIST_FOREACH(pd->group->programs, l, program) + Edje_Action_Type type = edje_edit_program_action_get(pd->group->edit_object, + pd->attributes.program.program); + if (type == EDJE_ACTION_TYPE_ACTION_STOP) { -if (program->name == pd->attributes.program.program) - continue; -ewe_combobox_item_add(target_combo, program->name); +EINA_LIST_FOREACH(pd->group->programs, l, program) + { + if (program->name == pd->attributes.program.program) + continue; + ewe_combobox_item_add(target_combo, program->name); + } } elm_object_tooltip_text_set(target_combo, _("target can be part or program")); elm_layout_content_set(item, NULL, target_combo); @@ -1946,11 +1951,16 @@ prop_program_target_add(Evas_Object *parent, Group_Prop_Data *pd) { ewe_combobox_item_add(target_combo, part->name); } - EINA_LIST_FOREACH(pd->group->programs, l, program) + Edje_Action_Type type = edje_edit_program_action_get(pd->group->edit_object, + pd->attributes.program.program); + if (type == EDJE_ACTION_TYPE_ACTION_STOP) { -if (program->name == pd->attributes.program.program) - continue; -ewe_combobox_item_add(target_combo, program->name); +EINA_LIST_FOREACH(pd->group->programs, l, program) + { + if (program->name == pd->attributes.program.program) + continue; + ewe_combobox_item_add(target_combo, program->name); + } } elm_object_tooltip_text_set(target_combo, _("target can be part or program")); elm_layout_content_set(item, NULL, target_combo); --
[EGIT] [tools/eflete] master 02/19: property_group: reuse macro for create callbacks
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=2f8feab095b9526637832ef32d8c4bc0da502914 commit 2f8feab095b9526637832ef32d8c4bc0da502914 Author: Vyacheslav ReutskiyDate: Fri Jan 15 11:28:59 2016 +0200 property_group: reuse macro for create callbacks Change-Id: I95b2e58e647a08614f9cc187a6e201ec3d1fe0bc --- src/bin/ui/property_group.c | 132 1 file changed, 34 insertions(+), 98 deletions(-) diff --git a/src/bin/ui/property_group.c b/src/bin/ui/property_group.c index 7ae7438..ff44c06 100644 --- a/src/bin/ui/property_group.c +++ b/src/bin/ui/property_group.c @@ -1477,104 +1477,56 @@ PROGRAMM_ATTR_1ENTRY(_("source"), program, source, program, NULL, _("The source of signal"), _("signal source is changed to '%s'")) -static void -_entry_program_state_change(void *data, -Evas_Object *obj, -void *ei __UNUSED__) -{ - Group_Prop_Data *pd = (Group_Prop_Data *)data; - - if (!pd->change) pd->change = change_add(NULL); - const char *text = elm_entry_entry_get(obj); - char *value = elm_entry_markup_to_utf8(text); - editor_program_state_set(pd->group->edit_object, pd->change, true, pd->attributes.program.program, value); - evas_object_smart_callback_call(ap.win, SIGNAL_PROPERTY_ATTRIBUTE_CHANGED, NULL); - free(value); -} - -static void -_entry_program_state_activated(void *data, - Evas_Object *obj __UNUSED__, - void *ei __UNUSED__) -{ - Group_Prop_Data *pd = (Group_Prop_Data *)data; +/* this dummy for make posible to reuse COMMON_ENTRY_CALLBACK */ +#define prop_program_state_update(PD) - if (!pd->change) return; - Eina_Stringshare * val = edje_edit_program_state_get(pd->group->edit_object, pd->attributes.program.program); - Eina_Stringshare *msg = eina_stringshare_printf(_("Program action changed to '%s'"), val); - change_description_set(pd->change, msg); - history_change_add(pd->group->history, pd->change); - pd->change = NULL; - eina_stringshare_del(msg); - eina_stringshare_del(val); -} - -static void -_spinner_program_value_start(void *data, - Evas_Object *obj __UNUSED__, - void *ei __UNUSED__) -{ - Group_Prop_Data *pd = (Group_Prop_Data *)data; - - assert(pd->change == NULL); +COMMON_ENTRY_CALLBACK(program, state, NULL, PROGRAM_ARGS, _("Program action state is changed to '%s'")) +COMMON_SPINNER_CALLBACK(program, value, program, double, 1, PROGRAM_ARGS, _("Program action value is changed from %f to %f")) - elm_object_focus_set(obj, true); /* there are problems with unfocusing entry. - elementary is too lazy to change focus in time */ - pd->change = change_add(NULL); - pd->old_double_val = edje_edit_program_value_get(pd->group->edit_object, pd->attributes.program.program); -} - -static void -_spinner_program_value_stop(void *data, -Evas_Object *obj __UNUSED__, -void *ei __UNUSED__) +static Evas_Object * +_prop_action_state_add(Group_Prop_Data *pd, Evas_Object *parent, const char *title, const char *tooltip) { - Group_Prop_Data *pd = (Group_Prop_Data *)data; - Eina_Stringshare *msg; + Evas_Object *control; - assert(pd->change != NULL); + PROPERTY_ITEM_ADD(parent, title, "1swallow") + ENTRY_ADD(item, control, true); + elm_entry_entry_set(control, edje_edit_program_state_get(pd->group->edit_object, pd->attributes.program.program)); + evas_object_smart_callback_add(control, "changed,user", _on_program_state_change, pd); + evas_object_smart_callback_add(control, "activated", _on_program_state_activated, pd); + evas_object_smart_callback_add(control, "unfocused", _on_program_state_activated, pd); + elm_object_tooltip_text_set(control, tooltip); + elm_layout_content_set(item, NULL, control); - double new_val = edje_edit_program_value_get(pd->group->edit_object, pd->attributes.program.program); - if (new_val != pd->old_double_val) - { -msg = eina_stringshare_printf(_("Propgram action value changed from %f to %f"), pd->old_double_val, new_val); -change_description_set(pd->change, msg); -eina_stringshare_del(msg); -history_change_add(pd->group->history, pd->change); - } - else - change_free(pd->change); - pd->change = NULL; + return item; } -static void -_spinner_program_value_change(void *data, - Evas_Object *obj, - void *ei __UNUSED__) +static Evas_Object * +_prop_action_value_add(Group_Prop_Data *pd, Evas_Object *parent, const char *title, const char *tooltip) { - Group_Prop_Data *pd = (Group_Prop_Data *)data; + Evas_Object *control; + + PROPERTY_ITEM_ADD(parent, title,
[EGIT] [tools/eflete] master 10/19: sound_editor: fix ridiculus copy-paste type
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=d5aa565440e11cdbb81fa535d850a415268a5f40 commit d5aa565440e11cdbb81fa535d850a415268a5f40 Author: Vitalii VorobiovDate: Mon Jan 18 12:01:28 2016 + sound_editor: fix ridiculus copy-paste type --- src/bin/ui/editors/sound_editor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/ui/editors/sound_editor.c b/src/bin/ui/editors/sound_editor.c index 0aecfe6..853ed4c 100644 --- a/src/bin/ui/editors/sound_editor.c +++ b/src/bin/ui/editors/sound_editor.c @@ -333,7 +333,7 @@ _add_sample_done(void *data, res = mem_calloc(1, sizeof(External_Resource)); res->name = eina_stringshare_add(file_name); -res->source = eina_stringshare_printf("%s/images/%s", ap.project->develop_path, file_name); +res->source = eina_stringshare_printf("%s/sounds/%s", ap.project->develop_path, file_name); if (!ecore_file_exists(res->source)) { --
[EGIT] [tools/eflete] master 09/19: property_group: sort program target by it's name
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=592a906aa91d7842ee5a15b1af2d4492ab8ab83e commit 592a906aa91d7842ee5a15b1af2d4492ab8ab83e Author: Vitalii VorobiovDate: Fri Jan 15 16:20:59 2016 + property_group: sort program target by it's name That would hide weird bug with moving changed target to the very bottom of list --- src/bin/ui/property_group.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/ui/property_group.c b/src/bin/ui/property_group.c index 107c886..418ef41 100644 --- a/src/bin/ui/property_group.c +++ b/src/bin/ui/property_group.c @@ -1907,6 +1907,7 @@ prop_program_targets_update(Group_Prop_Data *pd) Eina_List *targets = edje_edit_program_targets_get(pd->group->edit_object, pd->attributes.program.program); + targets = eina_list_sort(targets, eina_list_count(targets), (Eina_Compare_Cb) strcmp); int item_count = eina_list_count(items); int targets_count = eina_list_count(targets); --
[EGIT] [tools/eflete] master 01/19: property_macro: fix typo
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=61b8ac073b3de4476f5cb1b973cdd85e1c07708e commit 61b8ac073b3de4476f5cb1b973cdd85e1c07708e Author: Vyacheslav ReutskiyDate: Fri Jan 15 10:54:28 2016 +0200 property_macro: fix typo no functional changes Change-Id: I7a0012360e24f1e0a657f51733081922bdeffd8c --- src/bin/ui/property_macros.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/ui/property_macros.h b/src/bin/ui/property_macros.h index 33d154c..abba4ac 100644 --- a/src/bin/ui/property_macros.h +++ b/src/bin/ui/property_macros.h @@ -575,7 +575,7 @@ _on_##SUB##_##VALUE##_activated(void *data, \ return; \ if (!pd->change) \ return; \ - Eina_Stringshare * val = edje_edit_##SUB##_##VALUE##_get(pd->group->edit_object ARGS); \ + Eina_Stringshare *val = edje_edit_##SUB##_##VALUE##_get(pd->group->edit_object ARGS); \ Eina_Stringshare *msg = eina_stringshare_printf(DESCRIPTION, val); \ change_description_set(pd->change, msg); \ history_change_add(pd->group->history, pd->change); \ --
[EGIT] [core/efl] master 01/02: eina_cxx: make sure simple.eo lands in the tarball in all cases
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8b167c236188b436e6f510afd141c90de78e4096 commit 8b167c236188b436e6f510afd141c90de78e4096 Author: Stefan SchmidtDate: Mon Jan 18 13:47:39 2016 +0100 eina_cxx: make sure simple.eo lands in the tarball in all cases This would fail if you have not enabled tests and run distcheck. --- src/Makefile_Eina_Cxx.am | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Makefile_Eina_Cxx.am b/src/Makefile_Eina_Cxx.am index 166429a..6f1d0ab 100644 --- a/src/Makefile_Eina_Cxx.am +++ b/src/Makefile_Eina_Cxx.am @@ -74,9 +74,6 @@ tests/eina_cxx/simple.eo.h \ tests/eina_cxx/simple.eo.hh \ tests/eina_cxx/simple.eo.impl.hh -EXTRA_DIST += \ -tests/eina_cxx/simple.eo - tests_eina_cxx_eina_cxx_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -DTESTS_WD=\"`pwd`\" \ -DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/eina_cxx\" \ @@ -95,4 +92,8 @@ tests_eina_cxx_eina_cxx_suite_LDADD = @CHECK_LIBS@ @USE_EINA_LIBS@ @USE_EO_LIBS@ tests_eina_cxx_eina_cxx_suite_DEPENDENCIES = @USE_EINA_INTERNAL_LIBS@ @USE_EO_INTERNAL_LIBS@ endif + +EXTRA_DIST += \ +tests/eina_cxx/simple.eo + endif --
[EGIT] [core/efl] master 02/02: release: Update NEWS and bump version for 1.17.0-beta2 release
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=23cceeeaaa567f2de06e8229fd28adafa42059c1 commit 23cceeeaaa567f2de06e8229fd28adafa42059c1 Author: Stefan SchmidtDate: Mon Jan 18 12:41:09 2016 +0100 release: Update NEWS and bump version for 1.17.0-beta2 release --- NEWS | 9 + configure.ac | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index dade1ba..08817b1 100644 --- a/NEWS +++ b/NEWS @@ -175,6 +175,15 @@ Fixes: * js: fix binding after namespace change of connector * Edje UI mirroring: Fix UI mirroring for GROUP parts. (T3021) * Edje entry: Fix memory leak. + * eina-cxx: Remove Eo classes defined manually (T2940) + * edje: unswallow objects from parent edje when swallowing into new edje + * ecore-drm: Call inputs shutdown before eina_shutdown + * ecore_wayland: send mouse_move when sets touch_focus window in cb_touch_down + * ecore_wayland: move check for pointer capability + * ecore_drm/ecore_wl2: logging: remove errant usage of %m + * win32: Fix compilation due to recent changes in Evil + * embryo: change the log catagory of printf in embryo + * ecore imf: fix imf module load hangs when not even configured Changes since 1.15.0: - diff --git a/configure.ac b/configure.ac index 27981df..5acbb2e 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ EFL_VERSION([1], [17], [0], [release]) -AC_INIT([efl], [efl_version-beta1], [enlightenment-de...@lists.sourceforge.net]) +AC_INIT([efl], [efl_version-beta2], [enlightenment-de...@lists.sourceforge.net]) AC_PREREQ([2.60]) AC_CONFIG_SRCDIR([configure.ac]) --
[EGIT] [core/elementary] master 01/01: release: Update NEWS and bump version for 1.17.0-beta2 release
stefan pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=0099187e8c36230054089bbc14ce642c40439395 commit 0099187e8c36230054089bbc14ce642c40439395 Author: Stefan SchmidtDate: Mon Jan 18 14:10:24 2016 +0100 release: Update NEWS and bump version for 1.17.0-beta2 release --- NEWS | 5 + configure.ac | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index ec5336a..f147b65 100644 --- a/NEWS +++ b/NEWS @@ -84,6 +84,11 @@ Fixes: * combobox: fix recalc and hover's best_location error * js: fix examples functions * elm entry: check for null return from eina_rectangle_new + * [Hover] Fixed the delaying of hover dismiss on continuous mouse clicks (T3006) + * box: enforce size recalc during unpack_all() + * config: try to properly update config for popup new align value. (T3008) + * config: Correct defaults in upgrade of popup conf (T3008) + * Gengrid: improve item_region_show code Changes since 1.15.0: - diff --git a/configure.ac b/configure.ac index 37ca46c..fc2865c 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ EFL_VERSION([1], [17], [0], [release]) -AC_INIT([elementary], [efl_version-beta1], [enlightenment-de...@lists.sourceforge.net]) +AC_INIT([elementary], [efl_version-beta2], [enlightenment-de...@lists.sourceforge.net]) AC_PREREQ(2.63) AC_CONFIG_SRCDIR([configure.ac]) --
[EGIT] [core/evas_generic_loaders] master 01/01: release: Update NEWS and bump version for 1.17.0-beta2 release
stefan pushed a commit to branch master. http://git.enlightenment.org/core/evas_generic_loaders.git/commit/?id=c55e169ff80b150b62b3d104dec12dbea04276b6 commit c55e169ff80b150b62b3d104dec12dbea04276b6 Author: Stefan SchmidtDate: Mon Jan 18 14:08:33 2016 +0100 release: Update NEWS and bump version for 1.17.0-beta2 release --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 4321541..e4c1635 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ EFL_VERSION([1], [17], [0], [release]) -AC_INIT([evas_generic_loaders], [efl_version-beta1], [enlightenment-de...@lists.sourceforge.net]) +AC_INIT([evas_generic_loaders], [efl_version-beta2], [enlightenment-de...@lists.sourceforge.net]) AC_PREREQ([2.52]) AC_CONFIG_SRCDIR([configure.ac]) AC_CONFIG_MACRO_DIR([m4]) --
[EGIT] [core/emotion_generic_players] master 01/01: release: Update NEWS and bump version for 1.17.0-beta2 release
stefan pushed a commit to branch master. http://git.enlightenment.org/core/emotion_generic_players.git/commit/?id=f0b967a4bac88dab8d0cbdfbb68a410300123e96 commit f0b967a4bac88dab8d0cbdfbb68a410300123e96 Author: Stefan SchmidtDate: Mon Jan 18 14:09:13 2016 +0100 release: Update NEWS and bump version for 1.17.0-beta2 release --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index dd24655..84bd98a 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ EFL_VERSION([1], [17], [0], [release]) -AC_INIT([emotion_generic_players], [efl_version-beta1], [enlightenment-de...@lists.sourceforge.net]) +AC_INIT([emotion_generic_players], [efl_version-beta2], [enlightenment-de...@lists.sourceforge.net]) AC_PREREQ([2.59]) AC_CONFIG_SRCDIR([configure.ac]) AC_CONFIG_MACRO_DIR([m4]) --
[EGIT] [core/efl] annotated tag v1.17.0-beta2 created (now d36177a)
This is an automated email from the git hooks/post-receive script. stefan pushed a change to annotated tag v1.17.0-beta2 in repository core/efl. at d36177a (tag) tagging 23cceeeaaa567f2de06e8229fd28adafa42059c1 (commit) replaces v1.17.0-beta1 tagged by Stefan Schmidt on Mon Jan 18 14:37:05 2016 +0100 - Log - v1.17.0-beta2 Andrey Gursky (1): Fix build if openjpeg-2 is installed Carsten Haitzler (2): efl: edje: make comments for something we need to break for efl2 not now ecore imf: fix imf module load hangs when not even configured Chris Michael (1): ecore-drm: Call inputs shutdown before eina_shutdown Derek Foreman (1): ecore_drm/ecore_wl2: logging: remove errant usage of %m Dongyeon Kim (1): Evas GL: Reset current surface for all contexts to null when surface is destroyed Duna Oh (2): ecore_wayland: send mouse_move when sets touch_focus window in cb_touch_down ecore_wayland: move check for pointer capability Felipe Magno de Almeida (1): eina-cxx: Remove Eo classes defined manually Jaehwan Kim (1): embryo: change the log catagory of printf in embryo Jean Guyomarc'h (2): ecore_evas/tests: remove trailing whitespaces ecore_evas/tests: add tests for Ecore_Evas_Cocoa Jean-Philippe ANDRÉ (7): Evas render: Fix typo (use & instead of &) Evas filters: Fix unused variables EFL: Mark EOLIAN functions as static when possible Evas filter: Rename constructor/destructor to ctor/dtor Ector GL: Remove duplicated functions (eo) Examples: Fix compilation of elocation ex (out of tree) Evas 3d example: Print message for usage Jee-Yong Um (1): edje: convert Edje_Text_Class, Edje_Size_Class data type to public Marcel Hollerbach (3): ecore_drm: check if device is already opened before open and free ecore_drm: close all devices in shutdown ecore_wl2: fix key down event called to often Mike Blumenkrantz (1): edje: unswallow objects from parent edje when swallowing into new edje Oleksandr Shcherbina (4): evas: fix resource file for billboard in evas-3d-shadow example eina: Fix possible wrong value due to null in determinant of matrix eina: Add test-case for eina_normal3_matrix_get eina_test: Add test-case for eina_quaternion_transform Shinwoo Kim (2): Edje: enhance embryo stack broken error message edje: enhance edje_calc circular dependency error message Srivardhan Hebbar (1): emile: Added example program for base64 encoding and decoding. Stefan Schmidt (8): eina_inline_value: use void to force empty function parameters eldbus model: no need to double const a Eina_Stringshare po: update po files build: check for dlopen() when we build the ecore_evas drm module ecore_drm: make sure we include math.h and link against libm for floor() evas: follow file rename to keep distcheck working eina_cxx: make sure simple.eo lands in the tarball in all cases release: Update NEWS and bump version for 1.17.0-beta2 release Stephen Houston (1): Eo: Spell "Class" correctly when printing error. Sung-Taek Hong (1): ecore: check eina_main_loop before lock. Tom Hacohen (4): Revert "Edje UI mirroring: Fix UI mirroring for GROUP parts." Edje UI mirroring: Fix UI mirroring for GROUP parts. Evas textblock: slight style fixes. Evas textblock: Remove redundant NULL check. Vincent Torri (1): win32: Fix compilation due to recent changes in Evil perepelits.m (2): Evas: remove extra if from evas_3d_utils.h Evas: fix example for convex hull se.osadchy (2): eina: add test case for eina_vector2 eina: add all test cases for eina_vector2. --- No new revisions were added by this update. --
[EGIT] [core/evas_generic_loaders] annotated tag v1.17.0-beta2 created (now 3fe9959)
This is an automated email from the git hooks/post-receive script. stefan pushed a change to annotated tag v1.17.0-beta2 in repository core/evas_generic_loaders. at 3fe9959 (tag) tagging c55e169ff80b150b62b3d104dec12dbea04276b6 (commit) replaces v1.17.0-beta1 tagged by Stefan Schmidt on Mon Jan 18 14:42:19 2016 +0100 - Log - v1.17.0-beta2 Stefan Schmidt (1): release: Update NEWS and bump version for 1.17.0-beta2 release --- No new revisions were added by this update. --
[EGIT] [core/emotion_generic_players] annotated tag v1.17.0-beta2 created (now c630449)
This is an automated email from the git hooks/post-receive script. stefan pushed a change to annotated tag v1.17.0-beta2 in repository core/emotion_generic_players. at c630449 (tag) tagging f0b967a4bac88dab8d0cbdfbb68a410300123e96 (commit) replaces v1.17.0-beta1 tagged by Stefan Schmidt on Mon Jan 18 14:42:23 2016 +0100 - Log - v1.17.0-beta2 Stefan Schmidt (1): release: Update NEWS and bump version for 1.17.0-beta2 release --- No new revisions were added by this update. --
[EGIT] [core/efl] master 01/01: ecore imf: fix imf module load hangs when not even configured
raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6f684f3a6a6cdb840c4231c0c626cde5ba1a22b1 commit 6f684f3a6a6cdb840c4231c0c626cde5ba1a22b1 Author: Carsten Haitzler (Rasterman)Date: Mon Jan 18 17:21:50 2016 +0900 ecore imf: fix imf module load hangs when not even configured so on some distributions scim tries to connect and hangs waiting for connect to work. this is a problem for just loading any imf module unless EXPLICITLY configured, so disable using an imf module unless it is specifically configured to work. this fixes this hang. this is a workaround though, but what else are we to do? @fix --- src/lib/ecore_imf/ecore_imf_context.c | 26 ++ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/lib/ecore_imf/ecore_imf_context.c b/src/lib/ecore_imf/ecore_imf_context.c index 5401785..4c85775 100644 --- a/src/lib/ecore_imf/ecore_imf_context.c +++ b/src/lib/ecore_imf/ecore_imf_context.c @@ -34,6 +34,8 @@ ecore_imf_context_available_ids_by_canvas_type_get(const char *canvas_type) * 'en', 'en_UK' against 'en_US' => 2 * all locales, against '*' => 1 */ +/* XXX: disable because nto used anymore - see below + * ecore_imf_context_default_id_by_canvas_type_get static int _ecore_imf_context_match_locale(const char *locale, const char *against, int against_len) { @@ -48,6 +50,7 @@ _ecore_imf_context_match_locale(const char *locale, const char *against, int aga return 0; } +*/ EAPI const char * ecore_imf_context_default_id_get(void) @@ -56,16 +59,10 @@ ecore_imf_context_default_id_get(void) } EAPI const char * -ecore_imf_context_default_id_by_canvas_type_get(const char *canvas_type) +ecore_imf_context_default_id_by_canvas_type_get(const char *canvas_type EINA_UNUSED) { - const char *id; - Eina_List *modules; - Ecore_IMF_Module *module; - char *locale; - char *tmp; - int best_goodness = 0; + const char *id = getenv("ECORE_IMF_MODULE"); - id = getenv("ECORE_IMF_MODULE"); if (id) { if (strcmp(id, "none") == 0) return NULL; @@ -79,6 +76,18 @@ ecore_imf_context_default_id_by_canvas_type_get(const char *canvas_type) if (ecore_imf_module_get(id)) return id; } } + return NULL; +/* XXX: I am not sure we need/want this. this causes imf modules to be + * used where ECORE_IMF_MODULE is not set (and this causes issues with things + * like scim where on some distros and some versions an scim connect BLOCKS + * and if no scim is around this means an app blocks/hangs ... so disable + * this so either you are in wayland mode OR you have to set + * ECORE_IMF_MODULE + Eina_List *modules; + Ecore_IMF_Module *module; + char *locale; + char *tmp; + int best_goodness = 0; modules = ecore_imf_module_available_get(); if (!modules) return NULL; @@ -119,6 +128,7 @@ ecore_imf_context_default_id_by_canvas_type_get(const char *canvas_type) free(locale); return id; + */ } EAPI const Ecore_IMF_Context_Info * --
[EGIT] [core/efl] master 01/01: embryo: change the log catagory of printf in embryo
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a20f9b8087b85728cb03a2bcd3c6174fc05aa20b commit a20f9b8087b85728cb03a2bcd3c6174fc05aa20b Author: Jaehwan KimDate: Mon Jan 18 16:54:52 2016 +0900 embryo: change the log catagory of printf in embryo If the catagory is DBG, we should rebuild efl to print the message by using printf in edc. So change it to use it more convenient. @fix --- src/lib/embryo/embryo_str.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/embryo/embryo_str.c b/src/lib/embryo/embryo_str.c index e428179..649bd49 100644 --- a/src/lib/embryo/embryo_str.c +++ b/src/lib/embryo/embryo_str.c @@ -445,7 +445,7 @@ _embryo_str_printf(Embryo_Program *ep, Embryo_Cell *params) _str_snprintf(ep, s1, s2, max_len, pnum, [2]); - DBG("%s", s2); + INF("%s", s2); return o; } --
[EGIT] [core/efl] master 01/01: Fix build if openjpeg-2 is installed
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0102cf663e67fe0d3da9ceaf813a94c7936df095 commit 0102cf663e67fe0d3da9ceaf813a94c7936df095 Author: Andrey GurskyDate: Mon Jan 18 01:38:18 2016 +0100 Fix build if openjpeg-2 is installed libopenjp2.so on Debian belongs actually to openjpeg-2.1, while libopenjpeg.so belongs to openjpeg-1.5. The function opj_set_default_decoder_parameters exists in both versions. Thus another unique to openjpeg-1.5 function must be chosen to check, whether libopenjp2 is a right one. Fixes https://phab.enlightenment.org/T3064 --- m4/evas_check_loader.m4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/m4/evas_check_loader.m4 b/m4/evas_check_loader.m4 index c7ab0dc..b2f5c5a 100644 --- a/m4/evas_check_loader.m4 +++ b/m4/evas_check_loader.m4 @@ -214,7 +214,7 @@ AC_CHECK_HEADER([openjpeg.h], [have_dep="yes"]) if test "x${have_dep}" = "xyes" ; then AC_CHECK_LIB([openjp2], - [opj_set_default_decoder_parameters], + [opj_cio_open], [ evas_image_loader_[]$1[]_libs="-lopenjp2" have_dep="yes" --
[EGIT] [core/enlightenment] master 03/03: unset WM_STATE for x11 clients upon unmapping them
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=f8a0cbd5344ae6d778389870a2eea8e22530f734 commit f8a0cbd5344ae6d778389870a2eea8e22530f734 Author: Mike BlumenkrantzDate: Mon Jan 18 13:44:10 2016 -0500 unset WM_STATE for x11 clients upon unmapping them icccm provides conflicting spec info regarding how this property should be set. according to 4.1.3.1: When the window is withdrawn, the window manager will either change the state field's value to WithdrawnState or it will remove the WM_STATE property entirely. however, 4.1.4 states: Only the client can effect a transition into or out of the Withdrawn state so to be on the safe(r) side, deleting the property seems to be the best choice here ref 41daddeacce81eb3a2f49d22320740e1d59e866d fix T3011 --- src/bin/e_hints.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/e_hints.c b/src/bin/e_hints.c index c2c8348..3ca5f21 100644 --- a/src/bin/e_hints.c +++ b/src/bin/e_hints.c @@ -1289,6 +1289,7 @@ e_hints_window_hidden_set(E_Client *ec) ec->netwm.state.hidden = 0; EC_CHANGED(ec); } + ecore_x_window_prop_property_del(e_client_util_win_get(ec), ECORE_X_ATOM_WM_STATE); _e_hints_process_wakeup(ec); #endif } --
[EGIT] [core/enlightenment] master 01/03: create comp object updates tiler in helper function from either show or damage
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=3057b340980f5659e12507625fa25aeed7f97487 commit 3057b340980f5659e12507625fa25aeed7f97487 Author: Mike BlumenkrantzDate: Mon Jan 18 13:32:12 2016 -0500 create comp object updates tiler in helper function from either show or damage it's possible for damage to occur before the show interceptor is triggered, and in this case damages would be lost despite it being a valid usage ref T3011 --- src/bin/e_comp_object.c | 28 +++- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 6c7645c..fdeb30a 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -296,6 +296,21 @@ _e_comp_object_layers_remove(E_Comp_Object *cw) / static void +_e_comp_object_updates_init(E_Comp_Object *cw) +{ + int pw, ph; + + if (cw->updates) return; + pw = cw->ec->client.w, ph = cw->ec->client.h; + if ((!pw) || (!ph)) + e_pixmap_size_get(cw->ec->pixmap, , ); + cw->updates = eina_tiler_new(pw, ph); + if (cw->updates) + eina_tiler_tile_size_set(cw->updates, 1, 1); +} + + +static void _e_comp_object_alpha_set(E_Comp_Object *cw) { Eina_Bool alpha = cw->ec->argb; @@ -1533,12 +1548,7 @@ _e_comp_intercept_show_helper(E_Comp_Object *cw) } if ((!cw->updates) && (!cw->ec->input_only) && (!cw->ec->ignored)) { -int pw, ph; - -pw = cw->ec->client.w, ph = cw->ec->client.h; -if ((!pw) || (!ph)) - e_pixmap_size_get(cw->ec->pixmap, , ); -cw->updates = eina_tiler_new(pw, ph); +_e_comp_object_updates_init(cw); if (!cw->updates) { cw->ec->changes.visible = !cw->ec->hidden; @@ -1547,8 +1557,6 @@ _e_comp_intercept_show_helper(E_Comp_Object *cw) return; } } - if (cw->updates) - eina_tiler_tile_size_set(cw->updates, 1, 1); if (cw->ec->new_client) { /* ignore until client idler first run */ @@ -3358,8 +3366,10 @@ e_comp_object_damage(Evas_Object *obj, int x, int y, int w, int h) Eina_Rectangle rect; API_ENTRY; - if (cw->ec->input_only || (!cw->updates)) return; + if (cw->ec->input_only) return; if (cw->nocomp) return; + _e_comp_object_updates_init(cw); + EINA_SAFETY_ON_NULL_RETURN(cw->updates); rect.x = x, rect.y = y; rect.w = w, rect.h = h; evas_object_smart_callback_call(obj, "damage", ); --
[EGIT] [core/enlightenment] master 02/03: do not unset comp object native surface during shape apply
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=1dd45a3cc135cacdee2c9bc130432ebe17231efd commit 1dd45a3cc135cacdee2c9bc130432ebe17231efd Author: Mike BlumenkrantzDate: Mon Jan 18 13:33:24 2016 -0500 do not unset comp object native surface during shape apply due to efl changes, unsetting a native surface now clears existing image pixel data, resulting in a guaranteed blank render ref T3011 --- src/bin/e_comp_object.c | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index fdeb30a..2e4e500 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -3496,13 +3496,9 @@ e_comp_object_shape_apply(Evas_Object *obj) //INF("SHAPE RENDER %p", cw->ec); - if (cw->ec->shaped) evas_object_image_native_surface_set(cw->obj, NULL); _e_comp_object_alpha_set(cw); EINA_LIST_FOREACH(cw->obj_mirror, l, o) - { -if (cw->ec->shaped) evas_object_image_native_surface_set(o, NULL); -evas_object_image_alpha_set(o, 1); - } + evas_object_image_alpha_set(o, 1); p = pix = evas_object_image_data_get(cw->obj, 1); if (!pix) --
[EGIT] [core/elementary] master 01/01: Hoversel: add a test for the populate-on-click scenario
davemds pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=29ea7e3e649a591e121b066effbe843995946924 commit 29ea7e3e649a591e121b066effbe843995946924 Author: Dave AndreoliDate: Mon Jan 18 19:48:31 2016 +0100 Hoversel: add a test for the populate-on-click scenario --- src/bin/test_hoversel.c | 36 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/src/bin/test_hoversel.c b/src/bin/test_hoversel.c index 9dceb3f..b59a6c3 100644 --- a/src/bin/test_hoversel.c +++ b/src/bin/test_hoversel.c @@ -101,6 +101,17 @@ _hoversel_clicked_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, } static void +_hoversel_clicked_populate_cb(void *data EINA_UNUSED, Evas_Object *obj, + void *event_info EINA_UNUSED) +{ + printf("Hover button is clicked and 'clicked' callback is called.\n"); + elm_hoversel_item_add(obj, "Item 1", NULL, ELM_ICON_NONE, NULL, NULL); + elm_hoversel_item_add(obj, "Item 2", NULL, ELM_ICON_NONE, NULL, NULL); + elm_hoversel_item_add(obj, "Item 3", NULL, ELM_ICON_NONE, NULL, NULL); + elm_hoversel_item_add(obj, "Item 4", NULL, ELM_ICON_NONE, NULL, NULL); +} + +static void _hoversel_selected_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info) { @@ -123,10 +134,13 @@ _hoversel_expanded_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, Elm_Object_Item *it = data; printf("'expanded' callback is called.\n"); - printf("old style: %s\n", elm_object_item_style_get(it)); - //item type is button. set the style of button - elm_object_item_style_set(it, "anchor"); - printf("new style: %s\n", elm_object_item_style_get(it)); + if (it) + { +printf("old style: %s\n", elm_object_item_style_get(it)); +//item type is button. set the style of button +elm_object_item_style_set(it, "anchor"); +printf("new style: %s\n", elm_object_item_style_get(it)); + } } void @@ -285,6 +299,20 @@ test_hoversel(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ elm_box_pack_end(bx, hoversel); evas_object_show(hoversel); + hoversel = elm_hoversel_add(win); + elm_hoversel_hover_parent_set(hoversel, win); + elm_object_text_set(hoversel, "Add items when clicked"); + evas_object_smart_callback_add(hoversel, "clicked", + _hoversel_clicked_populate_cb, NULL); + evas_object_smart_callback_add(hoversel, "selected", + _hoversel_selected_cb, NULL); + evas_object_smart_callback_add(hoversel, "dismissed", + _hoversel_dismissed_cb, NULL); + evas_object_smart_callback_add(hoversel, "expanded", + _hoversel_expanded_cb, NULL); + elm_box_pack_end(bx, hoversel); + evas_object_show(hoversel); + evas_object_resize(win, 320, 500); evas_object_show(win); --
[EGIT] [core/enlightenment] master 01/04: use 2/3 screen size for wl output (nested) compositor size
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=262b3039842c9f309355eeabf0fe92e3baf86857 commit 262b3039842c9f309355eeabf0fe92e3baf86857 Author: Mike BlumenkrantzDate: Mon Jan 18 14:52:11 2016 -0500 use 2/3 screen size for wl output (nested) compositor size 1/4 screen size is a compositor for ants --- src/modules/wl_wl/e_mod_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/wl_wl/e_mod_main.c b/src/modules/wl_wl/e_mod_main.c index d3decfa..8313f27 100644 --- a/src/modules/wl_wl/e_mod_main.c +++ b/src/modules/wl_wl/e_mod_main.c @@ -21,7 +21,7 @@ _cb_sync_done(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) ecore_evas_screen_geometry_get(e_comp->ee, NULL, NULL, , ); if ((w < 1) || (h < 1)) return ECORE_CALLBACK_PASS_ON; - e_comp_canvas_resize(w / 4, h / 4); + e_comp_canvas_resize(w * 2 / 3, h * 2 / 3); return ECORE_CALLBACK_PASS_ON; } --
[EGIT] [core/enlightenment] enlightenment-0.20 34/34: 20.3 NEWS updates
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=80c2439e2b21432c575249573de050610faebc8f commit 80c2439e2b21432c575249573de050610faebc8f Author: Mike BlumenkrantzDate: Mon Jan 18 15:52:51 2016 -0500 20.3 NEWS updates --- NEWS | 52 1 file changed, 52 insertions(+) diff --git a/NEWS b/NEWS index 374fd4d..ee54de7 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,55 @@ +Release 0.20.3: +- +Carsten Haitzler (1): + e randr - fix randr dialog to do restore right again + +Chris Michael (1): + Fix xbl_avail variable being used when it could be undefined + +Jean-Philippe ANDRÉ (1): + Fix spelling in .pc file + +Marcel Hollerbach (1): + e_grabinput: do not pass a faulty time + +Mike Blumenkrantz (26): + block input devices from backlight list + unpopulate all gadcons during shutdown + add shelf callback for hidden state and trigger extra hide-on-show if hiding + un-defer comp util object hiding if second hide occurs during animation + add special case for frame adjustment during first recalc of new clients + test given coordinates in smart window placement algorithm + remove wayland function usage from grabinput methods + simplify and clarify winlist directional selection action code + check all corners of an object in e_comp_object_util_zone_get() + disable custom logging when eina backtrace is active + select mixer popup sink after popup has been fully initialized + optimize zoomap recalc during recursion + make ibar config pointer EINTERN + do full cleanup when overriding existing comp autoclose object + remove configs for illume modules + allow NULL object in e_comp_object_util_autoclose() + improve menu hiding and autoclose + make E_DESK_TYPE an int define + enforce border_fix_on_shelf_toggle config option in shelf + create comp object updates tiler in helper function from either show or damage + do not unset comp object native surface during shape apply + unset WM_STATE for x11 clients upon unmapping them + if available, use wl output (nested) for wayland compositor creation + use more correct defines for enabling wl output modules during comp init + automatically attempt to create a wayland x11 output during comp init + 20.3 release + +Seunghun Lee (1): + configure.ac: Remove ecore-x from wayland only build. + +Tom Hacohen (1): + Tiling: tile windows with "Static" gravity. + +Yomi (1): + Update copyright year. + + Release 0.20.2: - Chris Michael (1): --
[EGIT] [core/enlightenment] enlightenment-0.20 23/34: improve menu hiding and autoclose
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=7212db0fc530c4c5578c4d0111d61ca7b78e46ee commit 7212db0fc530c4c5578c4d0111d61ca7b78e46ee Author: Mike BlumenkrantzDate: Thu Jan 14 15:05:33 2016 -0500 improve menu hiding and autoclose remove menu object from autoclose (if set) and ensure that only the intended menu is deactivated in the autoclose callback this fixes some cases where the wrong menu could be closed (or not closed) due to race conditions with ecore and evas events --- src/bin/e_menu.c | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/bin/e_menu.c b/src/bin/e_menu.c index 6410b0e..7a1dbde 100644 --- a/src/bin/e_menu.c +++ b/src/bin/e_menu.c @@ -189,6 +189,8 @@ e_menu_hide_all(void) if (m->post_deactivate_cb.func) m->post_deactivate_cb.func(m->post_deactivate_cb.data, m); m->active = 0; +if (m->comp_object == e_comp->autoclose.obj) + e_comp_object_util_autoclose(NULL, NULL, NULL, NULL); _e_menu_unrealize(m); m->in_active_list = 0; e_object_unref(E_OBJECT(m)); @@ -2699,9 +2701,13 @@ _e_menu_cb_key_down(void *data EINA_UNUSED, Ecore_Event_Key *ev) */ static void -_e_menu_cb_mouse_evas_down(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED) +_e_menu_cb_mouse_evas_down(void *data, Evas_Object *obj EINA_UNUSED) { - _e_menu_deactivate_all(); + E_Menu *m = data; + + while (m->parent_item) + m = m->parent_item->menu; + e_menu_deactivate(m); } static Eina_Bool --
[EGIT] [core/enlightenment] enlightenment-0.20 19/34: make ibar config pointer EINTERN
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=6434d2b3548febf126219ff9b00559602992f750 commit 6434d2b3548febf126219ff9b00559602992f750 Author: Mike BlumenkrantzDate: Wed Jan 13 16:46:24 2016 -0500 make ibar config pointer EINTERN --- src/modules/ibar/e_mod_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c index 4a8a9a7..755d68d 100644 --- a/src/modules/ibar/e_mod_main.c +++ b/src/modules/ibar/e_mod_main.c @@ -146,7 +146,7 @@ static E_Config_DD *conf_item_edd = NULL; static Eina_Hash *ibar_orders = NULL; static Eina_List *ibars = NULL; -Config *ibar_config = NULL; +EINTERN Config *ibar_config = NULL; static inline const char * _desktop_name_get(const Efreet_Desktop *desktop) --
[EGIT] [core/enlightenment] enlightenment-0.20 13/34: simplify and clarify winlist directional selection action code
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=99335628a82d654c0a3edf140cc231526197ad2c commit 99335628a82d654c0a3edf140cc231526197ad2c Author: Mike BlumenkrantzDate: Thu Jan 7 15:19:20 2016 -0500 simplify and clarify winlist directional selection action code in the case where no prev/next direction is specified a navigational direction will always be specified CID 1347403 --- src/modules/winlist/e_mod_main.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/modules/winlist/e_mod_main.c b/src/modules/winlist/e_mod_main.c index 36018af..2b17e34 100644 --- a/src/modules/winlist/e_mod_main.c +++ b/src/modules/winlist/e_mod_main.c @@ -155,11 +155,8 @@ _e_mod_action_winlist_cb_helper(E_Object *obj EINA_UNUSED, const char *params, i e_winlist_next(); else if (direction == -1) e_winlist_prev(); - if (direction) return; - - if (udlr == -1) return; - - e_winlist_direction_select(zone, udlr); + else + e_winlist_direction_select(zone, udlr); } static void --
[EGIT] [core/enlightenment] enlightenment-0.20 18/34: e randr - fix randr dialog to do restore right again
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=29ebcc890e7103a3d3d6a46bf8d3bc7caa759e52 commit 29ebcc890e7103a3d3d6a46bf8d3bc7caa759e52 Author: Carsten Haitzler (Rasterman)Date: Mon Jan 11 09:01:55 2016 +0900 e randr - fix randr dialog to do restore right again post e20 commit that allowe dradnr dialog to come up for a specifci streen broke restore option - now this fixes it. --- src/modules/conf_randr/e_int_config_randr2.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/modules/conf_randr/e_int_config_randr2.c b/src/modules/conf_randr/e_int_config_randr2.c index 8af6f96..c020297 100644 --- a/src/modules/conf_randr/e_int_config_randr2.c +++ b/src/modules/conf_randr/e_int_config_randr2.c @@ -81,11 +81,8 @@ _create_data(E_Config_Dialog *cfd EINA_UNUSED) E_Config_Dialog_Data *cfdata; if (!(cfdata = E_NEW(E_Config_Dialog_Data, 1))) return NULL; - if (cfd->data) - { -cfdata->restore = e_randr2_cfg->restore; -cfdata->params = strdup(cfd->data); - } + if (cfd->data) cfdata->params = strdup(cfd->data); + cfdata->restore = e_randr2_cfg->restore; cfdata->hotplug = !e_randr2_cfg->ignore_hotplug_events; cfdata->acpi = !e_randr2_cfg->ignore_acpi_events; return cfdata; --
[EGIT] [core/enlightenment] enlightenment-0.20 28/34: do not unset comp object native surface during shape apply
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=57ea33e5415bf4e3fa81a6a7faa0e0fceb0cf91c commit 57ea33e5415bf4e3fa81a6a7faa0e0fceb0cf91c Author: Mike BlumenkrantzDate: Mon Jan 18 13:33:24 2016 -0500 do not unset comp object native surface during shape apply due to efl changes, unsetting a native surface now clears existing image pixel data, resulting in a guaranteed blank render ref T3011 --- src/bin/e_comp_object.c | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 149387d..19aa573 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -3423,13 +3423,9 @@ e_comp_object_shape_apply(Evas_Object *obj) //INF("SHAPE RENDER %p", cw->ec); - if (cw->ec->shaped) evas_object_image_native_surface_set(cw->obj, NULL); _e_comp_object_alpha_set(cw); EINA_LIST_FOREACH(cw->obj_mirror, l, o) - { -if (cw->ec->shaped) evas_object_image_native_surface_set(o, NULL); -evas_object_image_alpha_set(o, 1); - } + evas_object_image_alpha_set(o, 1); p = pix = evas_object_image_data_get(cw->obj, 1); if (!pix) --
[EGIT] [core/enlightenment] enlightenment-0.20 27/34: create comp object updates tiler in helper function from either show or damage
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=6bedbfc2356d12ee77d203030cc7ec28170c331b commit 6bedbfc2356d12ee77d203030cc7ec28170c331b Author: Mike BlumenkrantzDate: Mon Jan 18 13:32:12 2016 -0500 create comp object updates tiler in helper function from either show or damage it's possible for damage to occur before the show interceptor is triggered, and in this case damages would be lost despite it being a valid usage ref T3011 --- src/bin/e_comp_object.c | 28 +++- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index b1a699f..149387d 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -296,6 +296,21 @@ _e_comp_object_layers_remove(E_Comp_Object *cw) / static void +_e_comp_object_updates_init(E_Comp_Object *cw) +{ + int pw, ph; + + if (cw->updates) return; + pw = cw->ec->client.w, ph = cw->ec->client.h; + if ((!pw) || (!ph)) + e_pixmap_size_get(cw->ec->pixmap, , ); + cw->updates = eina_tiler_new(pw, ph); + if (cw->updates) + eina_tiler_tile_size_set(cw->updates, 1, 1); +} + + +static void _e_comp_object_alpha_set(E_Comp_Object *cw) { Eina_Bool alpha = cw->ec->argb; @@ -1533,12 +1548,7 @@ _e_comp_intercept_show_helper(E_Comp_Object *cw) } if ((!cw->updates) && (!cw->ec->input_only) && (!cw->ec->ignored)) { -int pw, ph; - -pw = cw->ec->client.w, ph = cw->ec->client.h; -if ((!pw) || (!ph)) - e_pixmap_size_get(cw->ec->pixmap, , ); -cw->updates = eina_tiler_new(pw, ph); +_e_comp_object_updates_init(cw); if (!cw->updates) { cw->ec->changes.visible = !cw->ec->hidden; @@ -1547,8 +1557,6 @@ _e_comp_intercept_show_helper(E_Comp_Object *cw) return; } } - if (cw->updates) - eina_tiler_tile_size_set(cw->updates, 1, 1); if (cw->ec->new_client) { /* ignore until client idler first run */ @@ -3285,8 +3293,10 @@ e_comp_object_damage(Evas_Object *obj, int x, int y, int w, int h) Eina_Rectangle rect; API_ENTRY; - if (cw->ec->input_only || (!cw->updates)) return; + if (cw->ec->input_only) return; if (cw->nocomp) return; + _e_comp_object_updates_init(cw); + EINA_SAFETY_ON_NULL_RETURN(cw->updates); rect.x = x, rect.y = y; rect.w = w, rect.h = h; evas_object_smart_callback_call(obj, "damage", ); --
[EGIT] [core/enlightenment] enlightenment-0.20 29/34: unset WM_STATE for x11 clients upon unmapping them
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=344a89618f1d7af4a2d9f580fcb4d13e98ac9849 commit 344a89618f1d7af4a2d9f580fcb4d13e98ac9849 Author: Mike BlumenkrantzDate: Mon Jan 18 13:44:10 2016 -0500 unset WM_STATE for x11 clients upon unmapping them icccm provides conflicting spec info regarding how this property should be set. according to 4.1.3.1: When the window is withdrawn, the window manager will either change the state field's value to WithdrawnState or it will remove the WM_STATE property entirely. however, 4.1.4 states: Only the client can effect a transition into or out of the Withdrawn state so to be on the safe(r) side, deleting the property seems to be the best choice here ref 41daddeacce81eb3a2f49d22320740e1d59e866d fix T3011 --- src/bin/e_hints.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/e_hints.c b/src/bin/e_hints.c index c2c8348..3ca5f21 100644 --- a/src/bin/e_hints.c +++ b/src/bin/e_hints.c @@ -1289,6 +1289,7 @@ e_hints_window_hidden_set(E_Client *ec) ec->netwm.state.hidden = 0; EC_CHANGED(ec); } + ecore_x_window_prop_property_del(e_client_util_win_get(ec), ECORE_X_ATOM_WM_STATE); _e_hints_process_wakeup(ec); #endif } --
[EGIT] [core/enlightenment] enlightenment-0.20 20/34: do full cleanup when overriding existing comp autoclose object
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=d2db21520102341156a7c03bdc83f9e6f5a7f3ea commit d2db21520102341156a7c03bdc83f9e6f5a7f3ea Author: Mike BlumenkrantzDate: Wed Jan 13 16:46:48 2016 -0500 do full cleanup when overriding existing comp autoclose object failing to trigger delete on existing autoclose object would result in the object never closing and being "leaked" --- src/bin/e_comp_object.c | 11 +-- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index b2abfbe..0332c81 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -4133,16 +4133,7 @@ e_comp_object_util_autoclose(Evas_Object *obj, E_Comp_Object_Autoclose_Cb del_cb { if (e_comp->autoclose.obj == obj) return; evas_object_event_callback_del_full(e_comp->autoclose.obj, EVAS_CALLBACK_DEL, _e_comp_object_autoclose_del, e_comp); -e_comp->autoclose.obj = obj; -e_comp->autoclose.del_cb = del_cb; -e_comp->autoclose.key_cb = cb; -e_comp->autoclose.data = (void*)data; -if (evas_object_visible_get(obj)) - _e_comp_object_autoclose_setup(obj); -else - evas_object_event_callback_add(obj, EVAS_CALLBACK_SHOW, _e_comp_object_autoclose_show, e_comp); -evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, _e_comp_object_autoclose_del, e_comp); -return; +_e_comp_object_autoclose_cleanup(0); } e_comp->autoclose.obj = obj; e_comp->autoclose.del_cb = del_cb; --
[EGIT] [core/enlightenment] enlightenment-0.20 25/34: enforce border_fix_on_shelf_toggle config option in shelf
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=b8a5f960b9fa6bfb21edb9a1449375fd01a097b5 commit b8a5f960b9fa6bfb21edb9a1449375fd01a097b5 Author: Mike BlumenkrantzDate: Thu Jan 14 15:53:36 2016 -0500 enforce border_fix_on_shelf_toggle config option in shelf shelf overlap can only take effect based on the state of this option: specifically, overlap can only be enabled if border_fix_on_shelf_toggle is enabled --- src/bin/e_shelf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/e_shelf.c b/src/bin/e_shelf.c index b955b18..3198b83 100644 --- a/src/bin/e_shelf.c +++ b/src/bin/e_shelf.c @@ -91,7 +91,7 @@ _e_shelf_remaximize(E_Shelf *es) { E_Client *ec; - if (es->cfg->overlap) return; + if (es->cfg->overlap && e_config->border_fix_on_shelf_toggle) return; E_CLIENT_FOREACH(ec) { E_Maximize max = ec->maximized; --
[EGIT] [core/enlightenment] enlightenment-0.20 09/34: Update copyright year.
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=60eacf06c4a3dfc9b87303a3fe7bd934a3fedf8f commit 60eacf06c4a3dfc9b87303a3fe7bd934a3fedf8f Author: YomiDate: Mon Jan 4 12:58:46 2016 -0500 Update copyright year. Summary: update copyright year. Test Plan: none. Reviewers: zmike Subscribers: cedric Projects: #enlightenment-git Differential Revision: https://phab.enlightenment.org/D3516 --- src/bin/e_about.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/e_about.c b/src/bin/e_about.c index 242d66b..279722e 100644 --- a/src/bin/e_about.c +++ b/src/bin/e_about.c @@ -23,7 +23,7 @@ e_about_new(void) snprintf (buf, sizeof(buf), "%s%s", _( - "Copyright 2000-2015, by the Enlightenment " + "Copyright 2000-2016, by the Enlightenment " "Development Team" "" "We hope you enjoy using this software as much as we enjoyed " --
[EGIT] [core/enlightenment] enlightenment-0.20 01/34: Fix xbl_avail variable being used when it could be undefined
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=7c7920277160e4ce22c9cdbd681a4692470bd430 commit 7c7920277160e4ce22c9cdbd681a4692470bd430 Author: Chris MichaelDate: Mon Dec 28 14:30:56 2015 -0500 Fix xbl_avail variable being used when it could be undefined Signed-off-by: Chris Michael --- src/bin/e_backlight.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/e_backlight.c b/src/bin/e_backlight.c index c90e2ef..95d03be 100644 --- a/src/bin/e_backlight.c +++ b/src/bin/e_backlight.c @@ -254,7 +254,9 @@ _e_backlight_update(void) if (bl_sysval) { sysmode = MODE_SYS; +#ifndef HAVE_WAYLAND_ONLY xbl_avail = EINA_FALSE; +#endif _bl_sys_level_get(); return; } --
[EGIT] [core/enlightenment] enlightenment-0.20 31/34: use more correct defines for enabling wl output modules during comp init
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=27e48811938db758607b5db9d83a00244ec363fd commit 27e48811938db758607b5db9d83a00244ec363fd Author: Mike BlumenkrantzDate: Mon Jan 18 14:54:18 2016 -0500 use more correct defines for enabling wl output modules during comp init --- src/bin/e_comp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c index 3eb9c9b..0c60dce 100644 --- a/src/bin/e_comp.c +++ b/src/bin/e_comp.c @@ -1113,11 +1113,11 @@ e_comp_init(void) #ifdef USE_MODULE_WL_WL "wl_wl", #endif -#ifdef HAVE_WL_DRM +#ifdef USE_MODULE_WL_DRM "wl_drm", #endif /* probably add other engines here; fb should be last? */ -#ifdef HAVE_WL_FB +#ifdef USE_MODULE_WL_FB "wl_fb", #endif NULL --
[EGIT] [core/enlightenment] enlightenment-0.20 08/34: Tiling: tile windows with "Static" gravity.
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=410b76e64650e680225ba9750cf6e907e74dbad6 commit 410b76e64650e680225ba9750cf6e907e74dbad6 Author: Tom HacohenDate: Mon Jan 4 14:06:11 2016 + Tiling: tile windows with "Static" gravity. I can't find anything in the specs that would imply those shouldn't be tiled. This may cause placement bugs, but I don't think that'd be the case, as we ignore application placement when tiling anyway. @fix --- src/modules/tiling/e_mod_tiling.c | 5 - 1 file changed, 5 deletions(-) diff --git a/src/modules/tiling/e_mod_tiling.c b/src/modules/tiling/e_mod_tiling.c index 1565f0e..914d278 100644 --- a/src/modules/tiling/e_mod_tiling.c +++ b/src/modules/tiling/e_mod_tiling.c @@ -182,11 +182,6 @@ is_tilable(const E_Client *ec) if (ec->icccm.min_h == ec->icccm.max_h && ec->icccm.max_h > 0) return false; -#ifndef HAVE_WAYLAND_ONLY - if (ec->icccm.gravity == ECORE_X_GRAVITY_STATIC) - return false; -#endif - if (ec->e.state.centered || e_win_centered_get(ec->internal_elm_win)) return false; --
[EGIT] [core/enlightenment] enlightenment-0.20 15/34: disable custom logging when eina backtrace is active
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=dd03e4ea5aa3468ccbf9ebbca070e3d458cacdec commit dd03e4ea5aa3468ccbf9ebbca070e3d458cacdec Author: Mike BlumenkrantzDate: Fri Jan 8 11:42:02 2016 -0500 disable custom logging when eina backtrace is active ref 2df04042269f3b5604c719844eac372fa5fcddd2 --- src/bin/e_log.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/bin/e_log.c b/src/bin/e_log.c index 6e694db..798d859 100644 --- a/src/bin/e_log.c +++ b/src/bin/e_log.c @@ -27,8 +27,18 @@ _e_log_cb(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, cons EINTERN int e_log_init(void) { + const char *bt_level; + e_log_dom = eina_log_domain_register("e", EINA_COLOR_WHITE); - eina_log_print_cb_set(_e_log_cb, NULL); + bt_level = getenv("EINA_LOG_BACKTRACE"); + if (bt_level) + { +int level; + +level = strtol(bt_level, NULL, 10); +if (level < 1) + eina_log_print_cb_set(_e_log_cb, NULL); + } return e_log_dom != -1; } --
[EGIT] [core/enlightenment] enlightenment-0.20 03/34: unpopulate all gadcons during shutdown
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=fbf1019f652ce98320c26b2f610c128465c48e68 commit fbf1019f652ce98320c26b2f610c128465c48e68 Author: Mike BlumenkrantzDate: Tue Dec 29 12:52:56 2015 -0500 unpopulate all gadcons during shutdown failing to unpopulate at this time leaves gadcon clients alive until a time after module shutdown has occurred, resulting in crashes when gadcon clients destroy themselves and attempt to access module-global data ref T2811 --- src/bin/e_gadcon.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bin/e_gadcon.c b/src/bin/e_gadcon.c index 336b32f..d025316 100644 --- a/src/bin/e_gadcon.c +++ b/src/bin/e_gadcon.c @@ -250,6 +250,7 @@ e_gadcon_shutdown(void) if (_module_init_end_handler) ecore_event_handler_del(_module_init_end_handler); _module_init_end_handler = NULL; + E_LIST_FOREACH(gadcons, e_gadcon_unpopulate); return 1; } --
[EGIT] [core/enlightenment] enlightenment-0.20 11/34: configure.ac: Remove ecore-x from wayland only build.
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=354ea1ba0f645fc0b2153fc40f85136cd3738e8e commit 354ea1ba0f645fc0b2153fc40f85136cd3738e8e Author: Seunghun LeeDate: Wed Jan 6 12:44:52 2016 -0500 configure.ac: Remove ecore-x from wayland only build. Reviewers: devilhorns, zmike Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D3538 --- configure.ac | 1 - 1 file changed, 1 deletion(-) diff --git a/configure.ac b/configure.ac index 78b308c..2e57732 100644 --- a/configure.ac +++ b/configure.ac @@ -953,7 +953,6 @@ PKG_CHECK_MODULES(E, [$e_requires]) requirements_e="\ evas >= ${efl_version} \ ecore >= ${efl_version} \ -ecore-x >= ${efl_version} \ ecore-evas >= ${efl_version} \ ecore-con >= ${efl_version} \ ecore-ipc >= ${efl_version} \ --
[EGIT] [core/enlightenment] enlightenment-0.20 17/34: optimize zoomap recalc during recursion
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=06aa313e0985319dd7266b12a139c9bd18c4449b commit 06aa313e0985319dd7266b12a139c9bd18c4449b Author: Mike BlumenkrantzDate: Fri Jan 8 15:46:27 2016 -0500 optimize zoomap recalc during recursion in most cases, zoomap recalcs will trigger recursive calls to zoomap recalc. these inner calls can be optimized to just do the object move, allowing the outer-most call to perform the remainder of the recalc operation --- src/bin/e_zoomap.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/bin/e_zoomap.c b/src/bin/e_zoomap.c index 41783dc..f27b665 100644 --- a/src/bin/e_zoomap.c +++ b/src/bin/e_zoomap.c @@ -10,6 +10,7 @@ struct _E_Smart_Data Evas_Object *smart_obj, *child_obj; Evas_Coord x, y, w, h; Evas_Coord child_w, child_h; + unsigned int recurse; Eina_Boolsolid : 1; Eina_Boolsmooth : 1; Eina_Boolalways : 1; @@ -190,6 +191,7 @@ static void _e_zoomap_smart_reconfigure(E_Smart_Data *sd) { if (!sd->child_obj) return; + sd->recurse++; if ((!sd->always) && ((sd->w == sd->child_w) && (sd->h == sd->child_h))) { @@ -206,7 +208,13 @@ _e_zoomap_smart_reconfigure(E_Smart_Data *sd) int r = 0, g = 0, b = 0, a = 0; evas_object_geometry_get(sd->child_obj, , , NULL, NULL); -evas_object_color_get(sd->child_obj, , , , ); +if (sd->recurse != 1) + { + /* recursion: do move and exit to set map in outer call */ + evas_object_move(sd->child_obj, sd->x, sd->y); + sd->recurse--; + return; + } if ((cx != sd->x) || (cy != sd->y)) { evas_smart_objects_calculate(e); @@ -215,6 +223,7 @@ _e_zoomap_smart_reconfigure(E_Smart_Data *sd) evas_smart_objects_calculate(e); evas_nochange_pop(e); } +evas_object_color_get(sd->child_obj, , , , ); m = evas_map_new(4); evas_map_util_points_populate_from_geometry(m, sd->x, sd->y, sd->w, sd->h, 0); @@ -233,6 +242,7 @@ _e_zoomap_smart_reconfigure(E_Smart_Data *sd) evas_object_map_enable_set(sd->child_obj, EINA_TRUE); evas_map_free(m); } + sd->recurse--; } static void --
[EGIT] [core/enlightenment] enlightenment-0.20 30/34: if available, use wl output (nested) for wayland compositor creation
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=a06c03bd14d9ad42ff1ac2e294921fb12431c7ec commit a06c03bd14d9ad42ff1ac2e294921fb12431c7ec Author: Mike BlumenkrantzDate: Mon Jan 18 14:52:53 2016 -0500 if available, use wl output (nested) for wayland compositor creation this defaults to using a nested compositor as the first choice: harmless if it fails to create an output --- src/bin/e_comp.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c index 1c38f48..3eb9c9b 100644 --- a/src/bin/e_comp.c +++ b/src/bin/e_comp.c @@ -1110,6 +1110,9 @@ e_comp_init(void) { const char **test, *eng[] = { +#ifdef USE_MODULE_WL_WL + "wl_wl", +#endif #ifdef HAVE_WL_DRM "wl_drm", #endif --
[EGIT] [core/enlightenment] master 04/04: automatically attempt to create a wayland x11 output during comp init
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=d12c5f947426473487cfce667aaf808483a054ef commit d12c5f947426473487cfce667aaf808483a054ef Author: Mike BlumenkrantzDate: Mon Jan 18 15:01:23 2016 -0500 automatically attempt to create a wayland x11 output during comp init at this point an x11 compositor has already failed to be created, so trying to use x11 is safe and probably desired --- src/bin/e_comp.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c index 9f6744e..9facdd0 100644 --- a/src/bin/e_comp.c +++ b/src/bin/e_comp.c @@ -1113,6 +1113,9 @@ e_comp_init(void) #ifdef USE_MODULE_WL_WL "wl_wl", #endif +#ifdef USE_MODULE_WL_X11 + "wl_x11", +#endif #ifdef USE_MODULE_WL_DRM "wl_drm", #endif --
[EGIT] [core/enlightenment] master 02/04: if available, use wl output (nested) for wayland compositor creation
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=4d717df870dc88b3d8d23f5ff01eae614b64a7c5 commit 4d717df870dc88b3d8d23f5ff01eae614b64a7c5 Author: Mike BlumenkrantzDate: Mon Jan 18 14:52:53 2016 -0500 if available, use wl output (nested) for wayland compositor creation this defaults to using a nested compositor as the first choice: harmless if it fails to create an output --- src/bin/e_comp.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c index 4639ec9..697e373 100644 --- a/src/bin/e_comp.c +++ b/src/bin/e_comp.c @@ -1110,6 +1110,9 @@ e_comp_init(void) { const char **test, *eng[] = { +#ifdef USE_MODULE_WL_WL + "wl_wl", +#endif #ifdef HAVE_WL_DRM "wl_drm", #endif --
[EGIT] [bindings/python/python-efl] master 02/02: Gengrid: a small doc improvement
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=90595ffdcada4bc3f6084165e13c87a5b3fbf8e2 commit 90595ffdcada4bc3f6084165e13c87a5b3fbf8e2 Author: Dave AndreoliDate: Mon Jan 18 21:25:00 2016 +0100 Gengrid: a small doc improvement --- efl/elementary/gengrid_item.pxi | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/efl/elementary/gengrid_item.pxi b/efl/elementary/gengrid_item.pxi index c204bec..54f4bd2 100644 --- a/efl/elementary/gengrid_item.pxi +++ b/efl/elementary/gengrid_item.pxi @@ -301,7 +301,10 @@ cdef class GengridItem(ObjectItem): # XXX TODO elm_gengrid_item_item_class_get property select_mode: -# TODO: document this +"""Item's select mode. Possible values are: + +:type: :ref:`Elm_Object_Select_Mode` +""" def __get__(self): return elm_gengrid_item_select_mode_get(self.item) --
[EGIT] [core/enlightenment] enlightenment-0.20 07/34: test given coordinates in smart window placement algorithm
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=fa7222ac4ce36f544d2340943112bcc75cfe397f commit fa7222ac4ce36f544d2340943112bcc75cfe397f Author: Mike BlumenkrantzDate: Thu Dec 31 12:57:47 2015 -0500 test given coordinates in smart window placement algorithm the coordinates passed to this function were never used or tested for being a valid placement location, resulting in any clients which started with a given position being moved to a pre-existing smart placement test case, usually the upper-left or lower-right corners of the screen fix T1106 --- src/bin/e_place.c | 21 + 1 file changed, 21 insertions(+) diff --git a/src/bin/e_place.c b/src/bin/e_place.c index 628c000..214cee2 100644 --- a/src/bin/e_place.c +++ b/src/bin/e_place.c @@ -333,6 +333,27 @@ e_place_desk_region_smart(E_Desk *desk, Eina_List *skiplist, int x, int y, int w int i, j; int area = 0x7fff; + if ((x <= (zw - w)) && + (y <= (zh - h))) +{ + int ar = 0; + + ar = _e_place_coverage_client_add(desk, skiplist, ar, + x, y, + w, h); + if (e_config->window_placement_policy == E_WINDOW_PLACEMENT_SMART) + ar = _e_place_coverage_shelf_add(desk, ar, + x, y, + w, h); + if (ar < area) + { +area = ar; +*rx = x; +*ry = y; +if (ar == 0) goto done; + } +} + for (j = 0; j < a_h - 1; j++) { for (i = 0; i < a_w - 1; i++) --
[EGIT] [core/enlightenment] annotated tag v0.20.3 created (now a347c96)
This is an automated email from the git hooks/post-receive script. discomfitor pushed a change to annotated tag v0.20.3 in repository core/enlightenment. at a347c96 (tag) tagging 80c2439e2b21432c575249573de050610faebc8f (commit) replaces v0.20.1 tagged by Mike Blumenkrantz on Mon Jan 18 16:02:03 2016 -0500 - Log - 0.20.3 release Carsten Haitzler (1): e randr - fix randr dialog to do restore right again Chris Michael (2): Add missing function prototype for e_winlist_direction_select Fix xbl_avail variable being used when it could be undefined Derek Foreman (2): emix: Rename parameter bool to mute wayland: Add support for wl_surface.damage_buffer Jean-Philippe ANDRÉ (1): Fix spelling in .pc file Marcel Hollerbach (3): alsa: fix a valgrind warning mixer: only save state if not in init e_grabinput: do not pass a faulty time Mike Blumenkrantz (33): simplify e_mouse_update() code for x11 compositors only show x11 clients during MapNotify/Request if they have Normal state show non-new x11 clients immediately when changing Withdrawn -> Normal ignore withdrawn state for x11 override clients during show 20.2 release 20.2 NEWS updates block input devices from backlight list unpopulate all gadcons during shutdown add shelf callback for hidden state and trigger extra hide-on-show if hiding un-defer comp util object hiding if second hide occurs during animation add special case for frame adjustment during first recalc of new clients test given coordinates in smart window placement algorithm remove wayland function usage from grabinput methods simplify and clarify winlist directional selection action code check all corners of an object in e_comp_object_util_zone_get() disable custom logging when eina backtrace is active select mixer popup sink after popup has been fully initialized optimize zoomap recalc during recursion make ibar config pointer EINTERN do full cleanup when overriding existing comp autoclose object remove configs for illume modules allow NULL object in e_comp_object_util_autoclose() improve menu hiding and autoclose make E_DESK_TYPE an int define enforce border_fix_on_shelf_toggle config option in shelf create comp object updates tiler in helper function from either show or damage do not unset comp object native surface during shape apply unset WM_STATE for x11 clients upon unmapping them if available, use wl output (nested) for wayland compositor creation use more correct defines for enabling wl output modules during comp init automatically attempt to create a wayland x11 output during comp init 20.3 release 20.3 NEWS updates Seunghun Lee (1): configure.ac: Remove ecore-x from wayland only build. Simon Lees (1): Set QT_QPA_PLATFORM theme to gtk2 Toan Pham (1): enhance winlist next window selection Tom Hacohen (1): Tiling: tile windows with "Static" gravity. Yomi (1): Update copyright year. --- This annotated tag includes the following new commits: new 7c79202 Fix xbl_avail variable being used when it could be undefined new 5160ca5 block input devices from backlight list new fbf1019 unpopulate all gadcons during shutdown new 2ffce2c add shelf callback for hidden state and trigger extra hide-on-show if hiding new 840e40a un-defer comp util object hiding if second hide occurs during animation new 19b9770 add special case for frame adjustment during first recalc of new clients new fa7222a test given coordinates in smart window placement algorithm new 410b76e Tiling: tile windows with "Static" gravity. new 60eacf0 Update copyright year. new fa6db81 Fix spelling in .pc file new 354ea1b configure.ac: Remove ecore-x from wayland only build. new 11cc32b remove wayland function usage from grabinput methods new 9933562 simplify and clarify winlist directional selection action code new d1fdf00 check all corners of an object in e_comp_object_util_zone_get() new dd03e4e disable custom logging when eina backtrace is active new d143145 select mixer popup sink after popup has been fully initialized new 06aa313 optimize zoomap recalc during recursion new 29ebcc8 e randr - fix randr dialog to do restore right again new 6434d2b make ibar config pointer EINTERN new d2db215 do full cleanup when overriding existing comp autoclose object new a707cc3 remove configs for illume modules new b978485 allow NULL object in e_comp_object_util_autoclose()
[EGIT] [core/enlightenment] enlightenment-0.20 05/34: un-defer comp util object hiding if second hide occurs during animation
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=840e40ac460db3adc4f3b67689275e581ef051a2 commit 840e40ac460db3adc4f3b67689275e581ef051a2 Author: Mike BlumenkrantzDate: Tue Dec 29 13:24:29 2015 -0500 un-defer comp util object hiding if second hide occurs during animation this should match expected behavior of normal comp objects --- src/bin/e_comp_object.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 924b861..7a66a7b 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -2522,7 +2522,15 @@ _e_comp_object_util_hide(void *data EINA_UNUSED, Evas_Object *obj) { if (!evas_object_visible_get(obj)) return; /* already hiding */ - if (evas_object_data_get(obj, "comp_hiding")) return; + if (evas_object_data_get(obj, "comp_hiding")) + { +evas_object_data_del(obj, "comp_hiding"); +evas_object_hide(obj); +e_comp_shape_queue(); +if (evas_object_data_del(obj, "comp_ref")) + evas_object_unref(obj); +return; + } if (!evas_object_data_del(obj, "comp_showing")) { evas_object_ref(obj); --
[EGIT] [core/enlightenment] enlightenment-0.20 26/34: e_grabinput: do not pass a faulty time
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=d093fc8e337c7be9ecd09e53fd4eb115dce97080 commit d093fc8e337c7be9ecd09e53fd4eb115dce97080 Author: Marcel HollerbachDate: Sat Jan 16 12:09:00 2016 +0100 e_grabinput: do not pass a faulty time Summary: currently there is ecore_x_current_time passed, which is the time of the last event. if this is passed to ecore_x_window_focus_at_time the request can be ignored because the last event can be in the past. Instead using ecore_x_window_focus fixes this, because current time is passed, which means that x is just using this event at the time it is called. @fix T2948 Test Plan: Try to run spotify and try to trigger the bug, I cannot anymore. Reviewers: zmike, raster Subscribers: raster, abyomi0, cedric, billiob Maniphest Tasks: T2948 Differential Revision: https://phab.enlightenment.org/D3471 --- src/bin/e_grabinput.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/e_grabinput.c b/src/bin/e_grabinput.c index a67d39f..c050a08 100644 --- a/src/bin/e_grabinput.c +++ b/src/bin/e_grabinput.c @@ -173,7 +173,7 @@ _e_grabinput_focus_do(Ecore_Window win, E_Focus_Method method) #ifndef HAVE_WAYLAND_ONLY if (e_comp_util_has_x()) { - ecore_x_window_focus_at_time(win, ecore_x_current_time_get()); + ecore_x_window_focus(win); ecore_x_icccm_take_focus_send(win, ecore_x_current_time_get()); } #endif @@ -189,7 +189,7 @@ _e_grabinput_focus_do(Ecore_Window win, E_Focus_Method method) case E_FOCUS_METHOD_PASSIVE: #ifndef HAVE_WAYLAND_ONLY if (e_comp_util_has_x()) - ecore_x_window_focus_at_time(win, ecore_x_current_time_get()); + ecore_x_window_focus(win); #endif break; --
[EGIT] [core/enlightenment] enlightenment-0.20 21/34: remove configs for illume modules
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=a707cc3be6c7278959fbe4d3cdc6d2bf8db5dda3 commit a707cc3be6c7278959fbe4d3cdc6d2bf8db5dda3 Author: Mike BlumenkrantzDate: Thu Jan 14 10:41:08 2016 -0500 remove configs for illume modules these have been out of the tree for years but I forgot to remove the corresponding configs, leading to error messages when the mobile profile attempts to load them --- config/mobile/Makefile.mk | 10 config/mobile/e.src | 99 --- config/mobile/module.illume-home.src | 6 -- config/mobile/module.illume-indicator.src | 4 -- config/mobile/module.illume-keyboard.src | 5 -- config/mobile/module.illume-softkey.src | 4 -- config/mobile/module.illume2.src | 50 7 files changed, 178 deletions(-) diff --git a/config/mobile/Makefile.mk b/config/mobile/Makefile.mk index b1939c2..16de4a2 100644 --- a/config/mobile/Makefile.mk +++ b/config/mobile/Makefile.mk @@ -4,11 +4,6 @@ config/mobile/enlightenment-mobile.png \ config/mobile/e.src \ config/mobile/e_bindings.src \ config/mobile/module.battery.src \ -config/mobile/module.illume-home.src \ -config/mobile/module.illume-keyboard.src \ -config/mobile/module.illume-indicator.src \ -config/mobile/module.illume-softkey.src \ -config/mobile/module.illume2.src \ config/mobile/module.conf.src configmobilefilesdir = $(datadir)/enlightenment/data/config/mobile @@ -18,9 +13,4 @@ config/mobile/enlightenment-mobile.png \ config/mobile/e.cfg \ config/mobile/e_bindings.cfg \ config/mobile/module.battery.cfg \ -config/mobile/module.illume-home.cfg \ -config/mobile/module.illume-keyboard.cfg \ -config/mobile/module.illume-indicator.cfg \ -config/mobile/module.illume-softkey.cfg \ -config/mobile/module.illume2.cfg \ config/mobile/module.conf.cfg diff --git a/config/mobile/e.src b/config/mobile/e.src index 1431dde..fcb480a 100644 --- a/config/mobile/e.src +++ b/config/mobile/e.src @@ -267,54 +267,6 @@ group "E_Config" struct { } group "modules" list { group "E_Config_Module" struct { -value "name" string: "illume2"; -value "enabled" uchar: 1; -value "delayed" uchar: 0; -value "priority" int: -100; -} -group "E_Config_Module" struct { -value "name" string: "illume-indicator"; -value "enabled" uchar: 1; -value "delayed" uchar: 0; -value "priority" int: 90; -} -group "E_Config_Module" struct { -value "name" string: "illume-softkey"; -value "enabled" uchar: 1; -value "delayed" uchar: 0; -value "priority" int: 85; -} -group "E_Config_Module" struct { -value "name" string: "illume-keyboard"; -value "enabled" uchar: 1; -value "delayed" uchar: 0; -value "priority" int: 0; -} -group "E_Config_Module" struct { -value "name" string: "illume-home"; -value "enabled" uchar: 1; -value "delayed" uchar: 0; -value "priority" int: 0; -} -group "E_Config_Module" struct { -value "name" string: "illume-home-toggle"; -value "enabled" uchar: 1; -value "delayed" uchar: 0; -value "priority" int: 0; -} -group "E_Config_Module" struct { -value "name" string: "illume-kbd-toggle"; -value "enabled" uchar: 1; -value "delayed" uchar: 0; -value "priority" int: 0; -} -group "E_Config_Module" struct { -value "name" string: "illume-mode-toggle"; -value "enabled" uchar: 1; -value "delayed" uchar: 0; -value "priority" int: 0; -} -group "E_Config_Module" struct { value "name" string: "battery"; value "enabled" uchar: 1; value "delayed" uchar: 1; @@ -431,57 +383,6 @@ group "E_Config" struct { value "resizable" uchar: 0; } group "E_Config_Gadcon_Client" struct { -value "name" string: "illume-home-toggle"; -value "id" string: "illume-home-toggle.0"; -value "geom.pos" int: 82; -value "geom.size" int: 41; -value "geom.res" int: 474; -value "geom.pos_x" double: 0.0; -value "geom.pos_y" double: 0.0; -value "geom.size_w" double: 0.0; -value "geom.size_h" double: 0.0; -value "state_info.seq" int: 3; -value "state_info.flags" int: 3; -
[EGIT] [core/enlightenment] enlightenment-0.20 02/34: block input devices from backlight list
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=5160ca5ddce96759ec835398a370f23885cb3648 commit 5160ca5ddce96759ec835398a370f23885cb3648 Author: Mike BlumenkrantzDate: Mon Dec 28 15:58:38 2015 -0500 block input devices from backlight list I guess this is a thing in newer kernel versions? ref T1497 --- src/bin/e_backlight.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/e_backlight.c b/src/bin/e_backlight.c index 95d03be..69583f6 100644 --- a/src/bin/e_backlight.c +++ b/src/bin/e_backlight.c @@ -428,7 +428,7 @@ _bl_sys_find(void) { EINA_LIST_FOREACH(pdevs, l, f) { - if ((!strstr(f, "kbd")) && (!strstr(f, "mail"))) + if ((!strstr(f, "kbd")) && (!strstr(f, "mail")) && (!strstr(f, "input"))) { bl_sysval = eina_stringshare_add(f); break; --
[EGIT] [core/enlightenment] enlightenment-0.20 12/34: remove wayland function usage from grabinput methods
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=11cc32b7a6e4d99b160149a0674d2150fc39ad73 commit 11cc32b7a6e4d99b160149a0674d2150fc39ad73 Author: Mike BlumenkrantzDate: Wed Jan 6 13:02:41 2016 -0500 remove wayland function usage from grabinput methods these never did anythng useful and no longer even compile --- src/bin/e_grabinput.c | 57 --- 1 file changed, 57 deletions(-) diff --git a/src/bin/e_grabinput.c b/src/bin/e_grabinput.c index effe19b..a67d39f 100644 --- a/src/bin/e_grabinput.c +++ b/src/bin/e_grabinput.c @@ -35,9 +35,6 @@ e_grabinput_get(Ecore_Window mouse_win, int confine_mouse, Ecore_Window key_win) #ifndef HAVE_WAYLAND_ONLY if (e_comp->comp_type == E_PIXMAP_TYPE_X) ecore_x_pointer_ungrab(); -#else -if (e_comp->comp_type == E_PIXMAP_TYPE_WL) - ecore_wl_input_ungrab(ecore_wl_input_get()); #endif grab_mouse_win = 0; } @@ -46,9 +43,6 @@ e_grabinput_get(Ecore_Window mouse_win, int confine_mouse, Ecore_Window key_win) #ifndef HAVE_WAYLAND_ONLY if (e_comp->comp_type == E_PIXMAP_TYPE_X) ecore_x_keyboard_ungrab(); -#else -if (e_comp->comp_type == E_PIXMAP_TYPE_WL) - ecore_wl_input_ungrab(ecore_wl_input_get()); #endif grab_key_win = 0; @@ -66,14 +60,6 @@ e_grabinput_get(Ecore_Window mouse_win, int confine_mouse, Ecore_Window key_win) ret = ecore_x_pointer_grab(mouse_win); if (!ret) return 0; } -#else -if (e_comp->comp_type == E_PIXMAP_TYPE_WL) - { - Ecore_Wl_Window *wl_win; - - if ((wl_win = ecore_wl_window_find(mouse_win))) - ecore_wl_input_grab(ecore_wl_input_get(), wl_win, 0); - } #endif grab_mouse_win = mouse_win; } @@ -95,14 +81,6 @@ e_grabinput_get(Ecore_Window mouse_win, int confine_mouse, Ecore_Window key_win) return 0; } } -#else -if (e_comp->comp_type == E_PIXMAP_TYPE_WL) - { - Ecore_Wl_Window *wl_win; - - if ((wl_win = ecore_wl_window_find(key_win))) - ecore_wl_input_grab(ecore_wl_input_get(), wl_win, 0); - } #endif grab_key_win = key_win; } @@ -120,9 +98,6 @@ e_grabinput_release(Ecore_Window mouse_win, Ecore_Window key_win) #ifndef HAVE_WAYLAND_ONLY if (e_comp->comp_type == E_PIXMAP_TYPE_X) ecore_x_pointer_ungrab(); -#else -if (e_comp->comp_type == E_PIXMAP_TYPE_WL) - ecore_wl_input_ungrab(ecore_wl_input_get()); #endif grab_mouse_win = 0; @@ -132,9 +107,6 @@ e_grabinput_release(Ecore_Window mouse_win, Ecore_Window key_win) #ifndef HAVE_WAYLAND_ONLY if (e_comp->comp_type == E_PIXMAP_TYPE_X) ecore_x_keyboard_ungrab(); -#else -if (e_comp->comp_type == E_PIXMAP_TYPE_WL) - ecore_wl_input_ungrab(ecore_wl_input_get()); #endif grab_key_win = 0; @@ -191,10 +163,6 @@ e_grabinput_mouse_win_get(void) static void _e_grabinput_focus_do(Ecore_Window win, E_Focus_Method method) { -#ifdef HAVE_WAYLAND - Ecore_Wl_Window *wl_win; -#endif - /* fprintf(stderr, "focus to %x method %i\n", win, method); */ switch (method) { @@ -209,29 +177,12 @@ _e_grabinput_focus_do(Ecore_Window win, E_Focus_Method method) ecore_x_icccm_take_focus_send(win, ecore_x_current_time_get()); } #endif -#ifdef HAVE_WAYLAND -if (e_comp->comp_type == E_PIXMAP_TYPE_WL) - { - if ((wl_win = ecore_wl_window_find(win))) - { - /* FIXME: Need to add an ecore_wl_window_focus function */ - } - } -#endif break; case E_FOCUS_METHOD_GLOBALLY_ACTIVE: #ifndef HAVE_WAYLAND_ONLY if (e_comp_util_has_x()) ecore_x_icccm_take_focus_send(win, ecore_x_current_time_get()); -#else -if (e_comp->comp_type == E_PIXMAP_TYPE_WL) - { - if ((wl_win = ecore_wl_window_find(win))) - { - /* FIXME: Need to add an ecore_wl_window_focus function */ - } - } #endif break; @@ -239,14 +190,6 @@ _e_grabinput_focus_do(Ecore_Window win, E_Focus_Method method) #ifndef HAVE_WAYLAND_ONLY if (e_comp_util_has_x()) ecore_x_window_focus_at_time(win, ecore_x_current_time_get()); -#else -if (e_comp->comp_type == E_PIXMAP_TYPE_WL) - { - if ((wl_win = ecore_wl_window_find(win))) - { - /* FIXME: Need to add an ecore_wl_window_focus function */ - } - } #endif break; --
[EGIT] [core/enlightenment] enlightenment-0.20 06/34: add special case for frame adjustment during first recalc of new clients
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=19b9770291bad665bc9bcd5d7ea4f0e7c95c0d2b commit 19b9770291bad665bc9bcd5d7ea4f0e7c95c0d2b Author: Mike BlumenkrantzDate: Thu Dec 31 12:56:06 2015 -0500 add special case for frame adjustment during first recalc of new clients in the case where a new client already has coordinates from creation event, the frame was never adjusted which resulted in the window being positioned incorrectly ref T1106 --- src/bin/e_comp_object.c | 5 + 1 file changed, 5 insertions(+) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 7a66a7b..0fa1b00 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -3175,6 +3175,11 @@ reshadow: do { _e_comp_smart_cb_frame_recalc(cw, cw->smart_obj, NULL); +if ((cw->x == -1) && (cw->y == -1) && cw->ec->new_client && (!cw->ec->placed)) + { + cw->ec->x = MAX(cw->ec->zone->x, cw->ec->client.x - cw->client_inset.l); + cw->ec->y = MAX(cw->ec->zone->y, cw->ec->client.y - cw->client_inset.t); + } /* this guarantees that we won't get blocked by the NOP check in the interceptor */ cw->y = cw->x = -9; if (pbg) --
[EGIT] [core/enlightenment] enlightenment-0.20 04/34: add shelf callback for hidden state and trigger extra hide-on-show if hiding
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=2ffce2c32b03f0466fb600eb3bc8d800d26e4310 commit 2ffce2c32b03f0466fb600eb3bc8d800d26e4310 Author: Mike BlumenkrantzDate: Tue Dec 29 13:22:17 2015 -0500 add shelf callback for hidden state and trigger extra hide-on-show if hiding if shown while a hide animation is running, evas will prevent further show intercept callbacks from being reached, resulting in a permanently hidden shelf this shortcuts the (current) hide animation in order to begin showing the object --- src/bin/e_shelf.c | 9 + src/bin/e_shelf.h | 1 + 2 files changed, 10 insertions(+) diff --git a/src/bin/e_shelf.c b/src/bin/e_shelf.c index df5a219..b955b18 100644 --- a/src/bin/e_shelf.c +++ b/src/bin/e_shelf.c @@ -211,6 +211,12 @@ e_shelf_zone_dummy_new(E_Zone *zone, Evas_Object *obj, int id) return es; } +static void +_e_shelf_hidden(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + E_Shelf *es = data; + es->hiding = 0; +} E_API E_Shelf * e_shelf_zone_new(E_Zone *zone, const char *name, const char *style, E_Layer layer, int id) @@ -249,6 +255,7 @@ e_shelf_zone_new(E_Zone *zone, const char *name, const char *style, E_Layer laye if (layer == E_LAYER_DESKTOP) type = E_COMP_OBJECT_TYPE_NONE; es->comp_object = e_comp_object_util_add(es->o_base, type); + evas_object_event_callback_add(es->comp_object, EVAS_CALLBACK_HIDE, _e_shelf_hidden, es); evas_object_data_set(es->comp_object, "E_Shelf", es); evas_object_data_set(es->comp_object, "comp_skip", (void*)1); evas_object_name_set(es->comp_object, es->name); @@ -365,6 +372,7 @@ e_shelf_show(E_Shelf *es) { E_OBJECT_CHECK(es); E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE); + if (es->hiding) evas_object_hide(es->comp_object); evas_object_show(es->comp_object); } @@ -374,6 +382,7 @@ e_shelf_hide(E_Shelf *es) E_OBJECT_CHECK(es); E_OBJECT_TYPE_CHECK(es, E_SHELF_TYPE); evas_object_hide(es->comp_object); + es->hiding = evas_object_visible_get(es->comp_object); } E_API void diff --git a/src/bin/e_shelf.h b/src/bin/e_shelf.h index 5f19ddc..e0ac359 100644 --- a/src/bin/e_shelf.h +++ b/src/bin/e_shelf.h @@ -49,6 +49,7 @@ struct _E_Shelf unsigned chardummy : 1; Eina_Boolcfg_delete : 1; unsigned int locked; + Eina_Bool hiding : 1; }; typedef struct E_Event_Shelf --
[EGIT] [core/enlightenment] enlightenment-0.20 16/34: select mixer popup sink after popup has been fully initialized
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=d143145f8e46e9e9775b60e848edffa76e9706ae commit d143145f8e46e9e9775b60e848edffa76e9706ae Author: Mike BlumenkrantzDate: Fri Jan 8 12:05:41 2016 -0500 select mixer popup sink after popup has been fully initialized attempting to select too early results in callbacks being triggered before various widgets are available --- src/modules/mixer/e_mod_main.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/modules/mixer/e_mod_main.c b/src/modules/mixer/e_mod_main.c index 8dcdaf8..8723c28 100644 --- a/src/modules/mixer/e_mod_main.c +++ b/src/modules/mixer/e_mod_main.c @@ -401,6 +401,7 @@ _popup_new(Instance *inst) Emix_Sink *s; Eina_List *l; int num = 0; + Elm_Object_Item *default_it = NULL; unsigned int volume = 0, i; EINA_SAFETY_ON_NULL_RETURN(mixer_context->sink_default); @@ -420,7 +421,7 @@ _popup_new(Instance *inst) it = elm_list_item_append(inst->list, s->name, NULL, NULL, _sink_selected_cb, s); if (mixer_context->sink_default == s) - elm_list_item_selected_set(it, EINA_TRUE); + default_it = it; num++; } elm_list_go(inst->list); @@ -479,6 +480,9 @@ _popup_new(Instance *inst) e_gadcon_popup_show(inst->popup); e_object_data_set(E_OBJECT(inst->popup), inst); E_OBJECT_DEL_SET(inst->popup, _popup_del_cb); + + if (default_it) + elm_list_item_selected_set(default_it, EINA_TRUE); } static void --
[EGIT] [core/enlightenment] enlightenment-0.20 33/34: 20.3 release
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=4e91278589fcb3ff4f7198666c4a8356f5009ea5 commit 4e91278589fcb3ff4f7198666c4a8356f5009ea5 Author: Mike BlumenkrantzDate: Mon Jan 18 15:51:30 2016 -0500 20.3 release --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 2e57732..62d2531 100644 --- a/configure.ac +++ b/configure.ac @@ -2,11 +2,11 @@ ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## m4_define([v_maj], [0]) m4_define([v_min], [20]) -m4_define([v_mic], [2]) +m4_define([v_mic], [3]) m4_define([v_rev], m4_esyscmd([(git rev-list --count HEAD 2>/dev/null || echo 0) | tr -d '\n']))dnl ##-- When released, remove the dnl on the below line m4_undefine([v_rev]) -m4_define([relname], [0.20.2]) +m4_define([relname], [0.20.3]) ##-- When doing snapshots - change soname. remove dnl on below line m4_define([relname], [ver-autocannoli-0.20]) dnl m4_define([v_rel], [-release relname]) --
[EGIT] [core/enlightenment] enlightenment-0.20 10/34: Fix spelling in .pc file
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=fa6db81ef979053c764ebd9a824486f31ffadfb2 commit fa6db81ef979053c764ebd9a824486f31ffadfb2 Author: Jean-Philippe AndreDate: Wed Jan 6 16:48:26 2016 +0900 Fix spelling in .pc file --- enlightenment.pc.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enlightenment.pc.in b/enlightenment.pc.in index 555af34..c4ee6dd 100644 --- a/enlightenment.pc.in +++ b/enlightenment.pc.in @@ -12,7 +12,7 @@ config_apps=@datadir@/@PACKAGE@/config-apps release=@release@ Name: enlightenment -Description: Enlightenmnt Window Manager +Description: Enlightenment Window Manager Requires: @requirements_e@ Version: @VERSION@ Libs: -L${libdir} --
[EGIT] [core/enlightenment] master 04/04: xkbswitch: change icon if E_EVENT_XKB_CHANGED is emitted
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=1c7cd941d09251a8a4582d6e1f2befadd8f8f587 commit 1c7cd941d09251a8a4582d6e1f2befadd8f8f587 Author: Marcel HollerbachDate: Mon Jan 18 21:07:53 2016 +0100 xkbswitch: change icon if E_EVENT_XKB_CHANGED is emitted --- src/modules/xkbswitch/e_mod_main.c | 19 ++- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/modules/xkbswitch/e_mod_main.c b/src/modules/xkbswitch/e_mod_main.c index 89c1c59..8f7f754 100644 --- a/src/modules/xkbswitch/e_mod_main.c +++ b/src/modules/xkbswitch/e_mod_main.c @@ -44,6 +44,8 @@ static Eina_List *instances = NULL; /* CONFIG STRUCTURE */ Xkb _xkb = { NULL, NULL, NULL }; +static Ecore_Event_Handler *xkb_change_handle = NULL; + static const E_Gadcon_Client_Class _gc_class = { GADCON_CLIENT_CLASS_VERSION, @@ -75,12 +77,8 @@ e_modapi_init(E_Module *m) "preferences-desktop-keyboard", _xkb_cfg_dialog); - _xkb.module = m; -#ifndef HAVE_WAYLAND_ONLY - if (e_comp_util_has_x()) - ecore_event_handler_add(ECORE_X_EVENT_XKB_STATE_NOTIFY, _xkb_changed_state, NULL); -#endif + xkb_change_handle = ecore_event_handler_add(E_EVENT_XKB_CHANGED, _xkb_changed_state, NULL); /* Gadcon */ e_gadcon_provider_register(&_gc_class); return m; @@ -100,6 +98,7 @@ e_modapi_shutdown(E_Module *m EINA_UNUSED) if (_xkb.cfd) e_object_del(E_OBJECT(_xkb.cfd)); _xkb.cfd = NULL; _xkb.module = NULL; + ecore_event_handler_del(xkb_change_handle); e_gadcon_provider_unregister(&_gc_class); return 1; @@ -279,18 +278,12 @@ _gc_icon(const E_Gadcon_Client_Class *client_class EINA_UNUSED, Evas *evas) return o; } -#ifndef HAVE_WAYLAND_ONLY static Eina_Bool -_xkb_changed_state(void *data EINA_UNUSED, int type EINA_UNUSED, void *event EINA_UNUSED) +_xkb_changed_state(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) { - Ecore_X_Event_Xkb *ev = (Ecore_X_Event_Xkb *)event; - - //INF("xkb group %d", ev->group); - e_config->xkb.cur_group = ev->group; - _xkb_update_icon(ev->group); + _xkb_update_icon(e_config->xkb.cur_group); return ECORE_CALLBACK_PASS_ON; } -#endif #if 0 static int --
[EGIT] [core/enlightenment] master 03/04: xkbswitch: enable module for wayland
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=bd7136ade1c890aef614769e14afe37eecb1eff6 commit bd7136ade1c890aef614769e14afe37eecb1eff6 Author: Marcel HollerbachDate: Mon Jan 18 20:53:58 2016 +0100 xkbswitch: enable module for wayland --- src/modules/xkbswitch/e_mod_main.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/modules/xkbswitch/e_mod_main.c b/src/modules/xkbswitch/e_mod_main.c index 9df61a4..89c1c59 100644 --- a/src/modules/xkbswitch/e_mod_main.c +++ b/src/modules/xkbswitch/e_mod_main.c @@ -67,8 +67,6 @@ E_API E_Module_Api e_modapi = E_API void * e_modapi_init(E_Module *m) { - /* FIXME */ - if (e_comp->comp_type == E_PIXMAP_TYPE_WL) return NULL; /* Menus and dialogs */ e_configure_registry_category_add("keyboard_and_mouse", 80, _("Input"), NULL, "preferences-behavior"); --
[EGIT] [core/enlightenment] master 01/04: e_xkb: emit changed event if wayland keyboard has changed
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=7e74ad229cc9ec6b9ab37e8ba93f9bd978d4a029 commit 7e74ad229cc9ec6b9ab37e8ba93f9bd978d4a029 Author: Marcel HollerbachDate: Mon Jan 18 20:51:57 2016 +0100 e_xkb: emit changed event if wayland keyboard has changed --- src/bin/e_xkb.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/e_xkb.c b/src/bin/e_xkb.c index 4c7c76e..def9190 100644 --- a/src/bin/e_xkb.c +++ b/src/bin/e_xkb.c @@ -172,6 +172,8 @@ _e_wl_xkb_update(int cur_group) e_comp_wl_input_keymap_set(NULL, cl->model, cl->name, NULL, NULL); INF("Set wl keyboard to %s %s", cl->model, cl->name); + e_config->xkb.cur_group = cur_group; + _e_xkb_update_event(cur_group); #else (void) cur_group; #endif --
[EGIT] [core/enlightenment] master 02/04: e_xkb: emit changed event if ECORE_X_EVENT_XKB_STATE_NOTIFY is emitted
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=8b2eb6fb8b11507c0a6243df38331f6c6cc6314e commit 8b2eb6fb8b11507c0a6243df38331f6c6cc6314e Author: Marcel HollerbachDate: Mon Jan 18 20:52:26 2016 +0100 e_xkb: emit changed event if ECORE_X_EVENT_XKB_STATE_NOTIFY is emitted --- src/bin/e_xkb.c | 22 ++ 1 file changed, 22 insertions(+) diff --git a/src/bin/e_xkb.c b/src/bin/e_xkb.c index def9190..5e6f3d2 100644 --- a/src/bin/e_xkb.c +++ b/src/bin/e_xkb.c @@ -3,6 +3,7 @@ static void _e_xkb_update_event(int); static int _e_xkb_cur_group = -1; +static Ecore_Event_Handler *xkb_state_handler = NULL; E_API int E_EVENT_XKB_CHANGED = 0; @@ -28,12 +29,31 @@ _e_xkb_init_timer(void *data) return EINA_FALSE; } +#ifndef HAVE_WAYLAND_ONLY +static Eina_Bool +_xkb_changed_state(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) +{ + Ecore_X_Event_Xkb *ev = (Ecore_X_Event_Xkb *)event; + + if (ev->group < 0 || ev->group >= eina_list_count(e_config->xkb.used_layouts)) + return ECORE_CALLBACK_PASS_ON; + + e_config->xkb.cur_group = ev->group; + _e_xkb_update_event(ev->group); + return ECORE_CALLBACK_PASS_ON; +} +#endif + /* externally accessible functions */ E_API int e_xkb_init(void) { if (!E_EVENT_XKB_CHANGED) E_EVENT_XKB_CHANGED = ecore_event_type_new(); +#ifndef HAVE_WAYLAND_ONLY + if (e_comp->comp_type == E_PIXMAP_TYPE_X) + xkb_state_handler = ecore_event_handler_add(ECORE_X_EVENT_XKB_STATE_NOTIFY, _xkb_changed_state, NULL); +#endif if (e_config->xkb.dont_touch_my_damn_keyboard) return 1; e_xkb_update(-1); if (e_config->xkb.cur_layout) @@ -48,6 +68,8 @@ e_xkb_init(void) E_API int e_xkb_shutdown(void) { + if (xkb_state_handler) + ecore_event_handler_del(xkb_state_handler); return 1; } --
[EGIT] [core/efl] efl-1.16 02/02: ecore-x: add safety checks for _ecore_x_disp in some functions
discomfitor pushed a commit to branch efl-1.16. http://git.enlightenment.org/core/efl.git/commit/?id=421683f481f4fca471bb84e96d0f22722cb8305f commit 421683f481f4fca471bb84e96d0f22722cb8305f Author: Mike BlumenkrantzDate: Mon Jan 18 17:17:34 2016 -0500 ecore-x: add safety checks for _ecore_x_disp in some functions xlib immediately crashes upon being passed a null DISPLAY object, so every function in ecore-x should likely have safety checks such as these. an easy project for anyone who has some free time @fix --- src/lib/ecore_x/xlib/ecore_x.c | 23 +++ 1 file changed, 23 insertions(+) diff --git a/src/lib/ecore_x/xlib/ecore_x.c b/src/lib/ecore_x/xlib/ecore_x.c index eda2d5f..01b626d 100644 --- a/src/lib/ecore_x/xlib/ecore_x.c +++ b/src/lib/ecore_x/xlib/ecore_x.c @@ -1227,6 +1227,7 @@ ecore_x_window_root_list(int *num_ret) *num_ret = 0; LOGFN(__FILE__, __LINE__, __FUNCTION__); + EINA_SAFETY_ON_NULL_RETURN_VAL(_ecore_x_disp, NULL); num = ScreenCount(_ecore_x_disp); roots = malloc(num * sizeof(Ecore_X_Window)); if (!roots) @@ -1241,6 +1242,7 @@ ecore_x_window_root_list(int *num_ret) EAPI Ecore_X_Window ecore_x_window_root_first_get(void) { + EINA_SAFETY_ON_NULL_RETURN_VAL(_ecore_x_disp, 0); return RootWindow(_ecore_x_disp, 0); /* int num; @@ -1277,6 +1279,7 @@ ecore_x_window_manage(Ecore_X_Window win) XWindowAttributes att; LOGFN(__FILE__, __LINE__, __FUNCTION__); + EINA_SAFETY_ON_NULL_RETURN_VAL(_ecore_x_disp, EINA_FALSE); if (XGetWindowAttributes(_ecore_x_disp, win, ) != True) return EINA_FALSE; @@ -1309,6 +1312,7 @@ EAPI void ecore_x_window_container_manage(Ecore_X_Window win) { LOGFN(__FILE__, __LINE__, __FUNCTION__); + EINA_SAFETY_ON_NULL_RETURN(_ecore_x_disp); XSelectInput(_ecore_x_disp, win, SubstructureRedirectMask | SubstructureNotifyMask); @@ -1319,6 +1323,7 @@ EAPI void ecore_x_window_client_manage(Ecore_X_Window win) { LOGFN(__FILE__, __LINE__, __FUNCTION__); + EINA_SAFETY_ON_NULL_RETURN(_ecore_x_disp); XSelectInput(_ecore_x_disp, win, PropertyChangeMask | // ResizeRedirectMask | @@ -1337,6 +1342,7 @@ EAPI void ecore_x_window_sniff(Ecore_X_Window win) { LOGFN(__FILE__, __LINE__, __FUNCTION__); + EINA_SAFETY_ON_NULL_RETURN(_ecore_x_disp); XSelectInput(_ecore_x_disp, win, PropertyChangeMask | SubstructureNotifyMask); @@ -1347,6 +1353,7 @@ EAPI void ecore_x_window_client_sniff(Ecore_X_Window win) { LOGFN(__FILE__, __LINE__, __FUNCTION__); + EINA_SAFETY_ON_NULL_RETURN(_ecore_x_disp); XSelectInput(_ecore_x_disp, win, PropertyChangeMask | FocusChangeMask | @@ -1367,6 +1374,7 @@ ecore_x_window_attributes_get(Ecore_X_Window win, Eina_Bool ret; LOGFN(__FILE__, __LINE__, __FUNCTION__); + EINA_SAFETY_ON_NULL_RETURN_VAL(_ecore_x_disp, EINA_FALSE); ret = XGetWindowAttributes(_ecore_x_disp, win, ); if (_ecore_xlib_sync) ecore_x_sync(); if (!ret) return EINA_FALSE; @@ -1408,6 +1416,7 @@ EAPI void ecore_x_window_save_set_add(Ecore_X_Window win) { LOGFN(__FILE__, __LINE__, __FUNCTION__); + EINA_SAFETY_ON_NULL_RETURN(_ecore_x_disp); XAddToSaveSet(_ecore_x_disp, win); if (_ecore_xlib_sync) ecore_x_sync(); } @@ -1416,6 +1425,7 @@ EAPI void ecore_x_window_save_set_del(Ecore_X_Window win) { LOGFN(__FILE__, __LINE__, __FUNCTION__); + EINA_SAFETY_ON_NULL_RETURN(_ecore_x_disp); XRemoveFromSaveSet(_ecore_x_disp, win); if (_ecore_xlib_sync) ecore_x_sync(); } @@ -1430,6 +1440,7 @@ ecore_x_window_children_get(Ecore_X_Window win, unsigned int children_ret_num = 0; LOGFN(__FILE__, __LINE__, __FUNCTION__); + EINA_SAFETY_ON_NULL_RETURN_VAL(_ecore_x_disp, NULL); success = XQueryTree(_ecore_x_disp, win, _ret, _ret, _ret, _ret_num); if (_ecore_xlib_sync) ecore_x_sync(); @@ -1460,6 +1471,7 @@ ecore_x_pointer_control_set(int accel_num, { Eina_Bool ret; LOGFN(__FILE__, __LINE__, __FUNCTION__); + EINA_SAFETY_ON_NULL_RETURN_VAL(_ecore_x_disp, EINA_FALSE); ret = !!XChangePointerControl(_ecore_x_disp, 1, 1, accel_num, accel_denom, threshold); if (_ecore_xlib_sync) ecore_x_sync(); @@ -1473,6 +1485,7 @@ ecore_x_pointer_control_get(int *accel_num, { Eina_Bool ret; LOGFN(__FILE__, __LINE__, __FUNCTION__); + EINA_SAFETY_ON_NULL_RETURN_VAL(_ecore_x_disp, EINA_FALSE); ret = !!XGetPointerControl(_ecore_x_disp, accel_num, accel_denom, threshold); if (_ecore_xlib_sync) ecore_x_sync(); @@ -1485,6 +1498,7 @@ ecore_x_pointer_mapping_set(unsigned char *map, { Eina_Bool ret; LOGFN(__FILE__, __LINE__, __FUNCTION__); + EINA_SAFETY_ON_NULL_RETURN_VAL(_ecore_x_disp, EINA_FALSE); ret = (XSetPointerMapping(_ecore_x_disp, map, nmap)
[EGIT] [bindings/python/python-efl] master 01/02: ecore_con.Url: do not fail when receiving an event that is not for us.
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=fc68b43317fdacaeb02d5785fe1fb2c31b499d40 commit fc68b43317fdacaeb02d5785fe1fb2c31b499d40 Author: Dave AndreoliDate: Mon Jan 18 21:24:26 2016 +0100 ecore_con.Url: do not fail when receiving an event that is not for us. The url callbacks are called for EVERY ecore_con usage, object_from_instance can fail in case the Url is not generated from us (for example an elm Image that load the data from the net). So just ignore those events. --- efl/ecore_con/efl.ecore_con.pyx | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/efl/ecore_con/efl.ecore_con.pyx b/efl/ecore_con/efl.ecore_con.pyx index 2d2f094..af14c88 100644 --- a/efl/ecore_con/efl.ecore_con.pyx +++ b/efl/ecore_con/efl.ecore_con.pyx @@ -227,7 +227,13 @@ cdef Eina_Bool _con_event_filter_cb(void *data, int ev_type, void *ev) with gil: event_cls = _event_mapping_get(ev_type) if event_cls: py_event = event_cls() -py_event._set_obj(ev) + +# object_from_instance can fail in _set_obj if the event is +# generated from an object not managed by us, so just ignore it. +try: +py_event._set_obj(ev) +except: +return 1 # do we have callbacks for this object/event ? try: --
[EGIT] [core/enlightenment] enlightenment-0.20 24/34: make E_DESK_TYPE an int define
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=82469996810273fb9a32817d94c22f9ef5b028e8 commit 82469996810273fb9a32817d94c22f9ef5b028e8 Author: Mike BlumenkrantzDate: Thu Jan 14 15:09:01 2016 -0500 make E_DESK_TYPE an int define this was causing unsigned vs signed comparison warnings --- src/bin/e_desk.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/e_desk.h b/src/bin/e_desk.h index b683097..18639cf 100644 --- a/src/bin/e_desk.h +++ b/src/bin/e_desk.h @@ -13,7 +13,7 @@ typedef void (*E_Desk_Flip_Cb)(void *data, E_Desk *desk, int dx, int dy, Eina_Bo #ifndef E_DESK_H #define E_DESK_H -#define E_DESK_TYPE 0xE0b01005 +#define E_DESK_TYPE (int)0xE0b01005 typedef enum { --
[EGIT] [core/enlightenment] enlightenment-0.20 14/34: check all corners of an object in e_comp_object_util_zone_get()
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=d1fdf0077cbe171d0710cd95838cb961260b85ad commit d1fdf0077cbe171d0710cd95838cb961260b85ad Author: Mike BlumenkrantzDate: Thu Jan 7 17:27:36 2016 -0500 check all corners of an object in e_comp_object_util_zone_get() if the top left corner is offscreen, checking other corners is still valid for returning a useful zone --- src/bin/e_comp_object.c | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 0fa1b00..b2abfbe 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -2854,12 +2854,18 @@ e_comp_object_util_zone_get(Evas_Object *obj) zone = cw->ec->zone; if (!zone) { -int x, y; +int x, y, w, h; if (e_win_client_get(obj)) return e_win_client_get(obj)->zone; -evas_object_geometry_get(obj, , , NULL, NULL); +evas_object_geometry_get(obj, , , , ); zone = e_comp_zone_xy_get(x, y); +if (zone) return zone; +zone = e_comp_zone_xy_get(x + w, y + h); +if (zone) return zone; +zone = e_comp_zone_xy_get(x + w, y); +if (zone) return zone; +zone = e_comp_zone_xy_get(x, y + h); } return zone; } --
[EGIT] [core/efl] efl-1.16 01/02: edje: unswallow objects from parent edje when swallowing into new edje
discomfitor pushed a commit to branch efl-1.16. http://git.enlightenment.org/core/efl.git/commit/?id=35ad4aaf532898fbd5129d9d1b1a2ce24ccb6c6c commit 35ad4aaf532898fbd5129d9d1b1a2ce24ccb6c6c Author: Mike BlumenkrantzDate: Mon Jan 11 18:27:35 2016 -0500 edje: unswallow objects from parent edje when swallowing into new edje the passed edje is not guaranteed to be the one which owns the swallowed object at any given time, so get the current owner to ensure that the correct one is passed ref a645c8153f82c593920190416b8115b546b3668f #MasterOfAllBorkers @fix --- src/lib/edje/edje_util.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c index aa77208..670b662 100644 --- a/src/lib/edje/edje_util.c +++ b/src/lib/edje/edje_util.c @@ -2857,10 +2857,13 @@ _edje_object_part_swallow(Eo *obj EINA_UNUSED, Edje *ed, const char *part, Evas_ rpcur = evas_object_data_get(obj_swallow, "\377 edje.swallowing_part"); if (rpcur) { +Edje *sed; + /* the object is already swallowed in the requested part */ if (rpcur == rp) return EINA_TRUE; +sed = evas_object_data_get(obj_swallow, ".edje"); /* The object is already swallowed somewhere, unswallow it first */ -edje_object_part_unswallow(ed->obj, obj_swallow); +edje_object_part_unswallow(sed->obj, obj_swallow); } if (!rp) --