netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=fe808cfcaec4a0f19da02fc488a9f910cb17194f

commit fe808cfcaec4a0f19da02fc488a9f910cb17194f
Author: Alastair Poole <nets...@gmail.com>
Date:   Fri Sep 4 01:23:18 2020 +0100

    ui: simplify resize...
    
    Still to catch that one bug...this is better though I think...
---
 src/bin/ui/ui.c | 32 ++++++++++----------------------
 src/bin/ui/ui.h |  1 -
 2 files changed, 10 insertions(+), 23 deletions(-)

diff --git a/src/bin/ui/ui.c b/src/bin/ui/ui.c
index b1ddbbb..ef0dba6 100644
--- a/src/bin/ui/ui.c
+++ b/src/bin/ui/ui.c
@@ -496,6 +496,7 @@ _content_get(void *data, Evas_Object *obj, const char 
*source)
    evas_object_show(l);
 
    evas_object_show(it->obj);
+   elm_table_align_set(it->obj, 0, 0);
 
    return it->obj;
 }
@@ -572,7 +573,8 @@ _process_list_feedback_cb(void *data, Ecore_Thread *thread 
EINA_UNUSED,
 
    ui = data;
 
-   eina_lock_take(&_lock);
+   if (!eina_lock_take_try(&_lock))
+     return;
 
    list = proc_info_all_get();
 
@@ -612,12 +614,13 @@ _process_list_feedback_cb(void *data, Ecore_Thread 
*thread EINA_UNUSED,
                proc_info_free(prev);
 
              elm_object_item_data_set(it, proc);
-             elm_genlist_item_update(it);
+             //elm_genlist_item_update(it);
 
              it = elm_genlist_item_next_get(it);
           }
      }
 
+   elm_genlist_realized_items_update(ui->genlist_procs);
    eina_lock_release(&_lock);
 }
 
@@ -1497,31 +1500,16 @@ _evisum_key_down_cb(void *data, Evas *e, Evas_Object 
*obj, void *event_info)
    _config_save(ui);
 }
 
-static Eina_Bool
-_evisum_resize_timer_cb(void *data)
-{
-   Ui *ui = data;
-
-   ecore_timer_del(ui->timer_resize);
-   ui->timer_resize = NULL;
-
-   ui->ready = EINA_TRUE;
-   _process_list_update(ui);
-
-   return ECORE_CALLBACK_CANCEL;
-}
-
 static void
 _evisum_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
 {
    Ui *ui = data;
 
-   ui->ready = EINA_FALSE;
-   elm_genlist_clear(ui->genlist_procs);
-   if (ui->timer_resize)
-     ecore_timer_reset(ui->timer_resize);
-   else
-     ui->timer_resize = ecore_timer_add(0.2, _evisum_resize_timer_cb, ui);
+   if (eina_lock_take_try(&_lock))
+     {
+        elm_genlist_realized_items_update(ui->genlist_procs);
+        eina_lock_release(&_lock);
+     }
 
    _config_save(ui);
 }
diff --git a/src/bin/ui/ui.h b/src/bin/ui/ui.h
index 4e7bcc5..e6d6ab5 100644
--- a/src/bin/ui/ui.h
+++ b/src/bin/ui/ui.h
@@ -91,7 +91,6 @@ typedef struct Ui
    Eina_Bool       show_self;
    Eina_Bool       shutdown_now;
    Eina_Bool       restart;
-   Ecore_Timer    *timer_resize;
 
    Ecore_Animator *animator;
    Eina_Bool       zfs_mounted;

-- 


Reply via email to