Efl.Ui.Button_Legacy: Prevent duplicate signal emit of contents
authorJunsuChoi <jsuya.choi@samsung.com>
Tue, 12 May 2020 15:20:15 +0000 (11:20 -0400)
committerJongmin Lee <jm105.lee@samsung.com>
Tue, 12 May 2020 21:52:15 +0000 (06:52 +0900)
commitb23296dcf54f120e44e5c3ce20a966f8ded11950
tree5280a3a6e96e720f646fe6d7c94651859c657b99
parent5c35e1ad58adc066bbf353f9a384ee1ddfc17b76
Efl.Ui.Button_Legacy: Prevent duplicate signal emit of contents

Summary:
When call elm_button_add, theme_apply of layout is called and
_efl_ui_button_legacy_efl_ui_widget_theme_apply is called.
Then it calls the signal emit for the icon.
In the button theme, the default of the icon is hidden,
so this call is unnecessary.

Test Plan:
Evas_Object *bt;
clock_t start, finish;
start = clock();
bt = elm_button_add(win);
finish = clock();
printf("duration : %f\n", (double)(finish-start)/CLOCKS_PER_SEC);

Evas_Object *bt;
clock_t start, finish;
double sum= 0 ;
double avg = 0;
double cnt = 1000;

for(int i =0 ; i<(int)cnt; i++)
  {
     start = clock();
     bt = elm_button_add(win);
     finish = clock();
     sum += (double)(finish-start)/CLOCKS_PER_SEC;
  }
avg = sum / cnt ;
printf("button avg : %f %f\n",avg, sum);

[before]
button avg : 0.000215

[after]
button avg : 0.000138

Reviewers: Hermet, YOhoho, Jaehyun_Cho, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11810
src/lib/elementary/efl_ui_button.c