I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
In this commit, I used ELM_SAFE_FREE even inside shutdown function.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
I splited ELM_SAFE_FREE refactoring patches. One commit per each file as recommended.
For the detail, please refer 3072dab12f12fe83fb5a628d15efd5cded11787f.
1. ELM_FREE_FUNC -> ELM_SAFE_FREE
2. There were a lot of suggestions and consideration in the mailing list.
ELM_SAFE_FREE will be used only when it checks the pointer, deletes it, and initializes it to NULL.
ex)
if (timer)
{
ecore_timer_del(timer);
timer = NULL;
}
=>
ELM_SAFE_FREE(timer, ecore_timer_del);
My first aim was to remove many human mistakes but it looks like people want more optimized code in a code level.
So this macro will be used only for reducing 5 lines of code into 1 line.
Otherwise, I will just call xxx_del() manually.
3. ELM_SAFE_FREE can be used for other del or free functions such as ecore_job_del, ecore_animator_del, eina_stringshare_del, free, ...
Apps like setting want to change gesture tap timeout value on runtime.
So I added below APIs.
elm_config_glayer_long_tap_start_timeout_set/get
elm_config_glayer_double_tap_timeout_set/get
As document mentioned, "changed" should be emitted when the color value is changed.
So, this patch emits "changed" signal when color value is really changed.
In addition, fixed some formatting issue of test_colorselector.
There are pros and cons but this
1. reduces human mistakes.
2. enhances readability.
3. enhances code quality.
4. removes future bug.
5. was adopted from enlightenment.
This is not all. I will work on enhancing elementary more and more.
When we call elm_entry_markup_filter_remove() with internally defined filter callbacks,
it doesn't work. So we need a one of pointer for saving the address of data.
10 Elm_Entry_Filter_Limit_Size lim;
11 lim.max_char_count = 20;
12 lim.max_byte_count = 0;
13 elm_entry_markup_filter_append(en, elm_entry_filter_limit_size,
&lim);
14
15 elm_entry_markup_filter_remove(en, elm_entry_filter_limit_size,
&lim);
16 lim.max_char_count = 50;
17 lim.max_byte_count = 0;
18 elm_entry_markup_filter_append(en, elm_entry_filter_limit_size,
&lim);
In this code, we expect to see the filter of entry will be renewed.
But elm_entry_markup_filter_remove() doesn't work.
Because, markup_filter does not hold the address of data when we use
the filter callback which is defined in elm_entry.c
_filter_new() in elm_entry.c
You can see that _filter_new allocates new pointer and names as lim2.
lim2 is saved in data of _Elm_Entry_Markup_Filter. So the address of
data doesn't equal to the input data.
If the ELM_CLOUSEAU env var is set to 1 elm auto-starts clouseau.
Next step would be integrating it into the elm config and making it
toggle-able on run-time.
Summary:
This patch applies automatic focus feature to elm_genlist and elm_list
containers.
Currently (prior to this patch), focusable widgets inside list items of both
containers receive focus by an explicit mouse click over them, and lose focus
when focus goes to someone else in the window.
This change also adds the ability to:
- focus by default on the first-from-right focusable widget upon items selection
- lose the focus when another item is selected (focused or not)
- move focus between focusable widgets inside the same item by left and right
arrow keys accordingly (up and down keys when elm_list is in horizontal mode)
Focus is supported for horizontal and vertical lists.
Tests have been added for genlists and lists to check focus feature.
With this new API the user can block movements on X axis, Y Axis or
both. I was left with no option but to come up with this, side by side
with elm_object_scroll_freeze_push(), elm_object_scroll_hold_push()
and elm_object_scroll_lock_x_set() (or
elm_object_scroll_lock_y_set()), once all of these will act on *parent
and/or child* widgets too, making those useless for any pratical use
of scroll blocking. Here's a sane, new option, enjoy it.
Before removing the framespace and frame object, set the window to
fullscreen, so its geometry will be saved taking into account the frame
size.
This is required because Ecore_Evas does not control the frame object
and frame size, it's all controlled by the application (Elementary, in
this case).