netstar pushed a commit to branch master.

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

commit a5461ad41652446b39e5a21494949f215eb6c94d
Author: Alastair Poole <nets...@gmail.com>
Date:   Tue Jun 30 13:23:01 2020 +0100

    shutdown: allow control of cleaning up.
    
    Flag to shutdown now or ordered triggering callbacks.
---
 src/bin/main.c  | 2 ++
 src/bin/ui/ui.c | 7 ++++++-
 src/bin/ui/ui.h | 1 +
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/bin/main.c b/src/bin/main.c
index 6ef07e6..a9ee8bb 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -46,6 +46,8 @@ _win_add(void)
    if (!ui)
      return NULL;
 
+   ui->shutdown_now = EINA_TRUE;
+
    evas_object_smart_callback_add(win, "delete,request", _win_del_cb, ui);
    evas_object_show(win);
 
diff --git a/src/bin/ui/ui.c b/src/bin/ui/ui.c
index f503767..0e6b926 100644
--- a/src/bin/ui/ui.c
+++ b/src/bin/ui/ui.c
@@ -747,7 +747,7 @@ _quit_cb(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED,
 {
    Ui *ui = data;
 
-   evas_object_hide(ui->win);
+   ui->shutdown_now = EINA_TRUE;
    evisum_ui_shutdown(ui);
 }
 
@@ -1282,6 +1282,11 @@ _evisum_resize_cb(void *data, Evas *e, Evas_Object *obj, 
void *event_info)
 void
 evisum_ui_shutdown(Ui *ui)
 {
+   if (ui->shutdown_now)
+     {
+        exit(0);
+     }
+
    if (ui->win_cpu)
      evas_object_smart_callback_call(ui->win_cpu, "delete,request", NULL);
    if (ui->win_mem)
diff --git a/src/bin/ui/ui.h b/src/bin/ui/ui.h
index 8964dc5..20f023b 100644
--- a/src/bin/ui/ui.h
+++ b/src/bin/ui/ui.h
@@ -87,6 +87,7 @@ typedef struct Ui
    Sort_Type       sort_type;
    Eina_Bool       sort_reverse;
    Eina_Bool       show_self;
+   Eina_Bool       shutdown_now;
 
    Eina_Bool       zfs_mounted;
 

-- 


Reply via email to