summaryrefslogtreecommitdiff
path: root/src/callbacks.cpp
diff options
context:
space:
mode:
authormbkma <[email protected]>2021-04-24 19:45:10 +0200
committerraveit65 <[email protected]>2021-05-09 19:09:50 +0200
commit0b648d5782a9b6f050e6552bf62700495e161835 (patch)
treec9185497e98f3593f6243afb8466acffbd1e2de8 /src/callbacks.cpp
parentc12b68367de45f1f7c28a9517a3e610873d2b9e4 (diff)
downloadmate-system-monitor-0b648d5782a9b6f050e6552bf62700495e161835.tar.bz2
mate-system-monitor-0b648d5782a9b6f050e6552bf62700495e161835.tar.xz
port to GtkApplication
see https://gitlab.gnome.org/GNOME/gnome-system-monitor/-/commit/aa625d19e7b72587f70fb18dc3dcfcdba528533e
Diffstat (limited to 'src/callbacks.cpp')
-rw-r--r--src/callbacks.cpp22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/callbacks.cpp b/src/callbacks.cpp
index 090f1e5..852a1e0 100644
--- a/src/callbacks.cpp
+++ b/src/callbacks.cpp
@@ -264,6 +264,7 @@ cb_app_exit (GtkAction *action, gpointer data)
ProcData * const procdata = static_cast<ProcData*>(data);
cb_app_delete (NULL, NULL, procdata);
+ gtk_widget_destroy (procdata->app);
}
@@ -278,9 +279,9 @@ cb_app_delete (GtkWidget *window, GdkEventAny *event, gpointer data)
if (procdata->disk_timeout)
g_source_remove (procdata->disk_timeout);
- gtk_main_quit ();
+ procdata->terminating = TRUE;
- return TRUE;
+ return FALSE;
}
@@ -497,16 +498,17 @@ cb_timeout (gpointer data)
ProcData * const procdata = static_cast<ProcData*>(data);
guint new_interval;
- proctable_update (procdata);
+ if (!procdata->terminating) {
+ proctable_update (procdata);
- if (procdata->smooth_refresh->get(new_interval))
- {
- procdata->timeout = g_timeout_add(new_interval,
- cb_timeout,
- procdata);
- return FALSE;
+ if (procdata->smooth_refresh->get(new_interval))
+ {
+ procdata->timeout = g_timeout_add(new_interval,
+ cb_timeout,
+ procdata);
+ return FALSE;
+ }
}
-
return TRUE;
}