no args for gtk_init
[psensor.git] / src / main.c
index da7fdef..b28333c 100644 (file)
 #include "nvidia.h"
 #endif
 
+#ifdef HAVE_LIBATIADL
+#include "amd.h"
+#endif
+
 #ifdef HAVE_REMOTE_SUPPORT
 #include "rsensor.h"
 #endif
 #include "ui_notify.h"
 #endif
 
+#ifdef HAVE_GTOP
+#include "cpu.h"
+#endif
+
 #include "compat.h"
 
 static const char *program_name;
@@ -141,7 +149,9 @@ void update_psensor_measures(struct ui_psensor *ui)
 #ifdef HAVE_NVIDIA
                nvidia_psensor_list_update(sensors);
 #endif
-
+#ifdef HAVE_LIBATIADL
+               amd_psensor_list_update(sensors);
+#endif
                g_mutex_unlock(ui->sensors_mutex);
 
                sleep(cfg->sensor_update_interval);
@@ -326,7 +336,7 @@ int main(int argc, char **argv)
        gdk_threads_init();
        /* gdk_threads_enter(); */
 
-       gtk_init(&argc, &argv);
+       gtk_init(NULL, NULL);
 
 #ifdef HAVE_LIBNOTIFY
        ui.notification_last_time = NULL;
@@ -354,6 +364,12 @@ int main(int argc, char **argv)
 #ifdef HAVE_NVIDIA
                ui.sensors = nvidia_psensor_list_add(ui.sensors, 600);
 #endif
+#ifdef HAVE_LIBATIADL
+               ui.sensors = amd_psensor_list_add(ui.sensors, 600);
+#endif
+#ifdef HAVE_GTOP
+               ui.sensors = cpu_psensor_list_add(ui.sensors, 600);
+#endif
        }
 
        associate_preferences(ui.sensors);
@@ -389,13 +405,21 @@ int main(int argc, char **argv)
        /* main loop */
        gtk_main();
 
-       psensor_cleanup();
+       g_mutex_lock(ui.sensors_mutex);
 
-       psensor_list_free(ui.sensors);
+       psensor_cleanup();
 
 #ifdef HAVE_NVIDIA
        nvidia_cleanup();
 #endif
+#ifdef HAVE_LIBATIADL
+       amd_cleanup();
+#endif
+
+       psensor_list_free(ui.sensors);
+       ui.sensors = NULL;
+
+       g_mutex_unlock(ui.sensors_mutex);
 
        return 0;
 }