diff options
Diffstat (limited to 'apps/plugins/oscilloscope.c')
-rw-r--r-- | apps/plugins/oscilloscope.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/apps/plugins/oscilloscope.c b/apps/plugins/oscilloscope.c index 4195d96d5f..e9c21ff119 100644 --- a/apps/plugins/oscilloscope.c +++ b/apps/plugins/oscilloscope.c | |||
@@ -23,12 +23,13 @@ | |||
23 | 23 | ||
24 | #include "plugin.h" | 24 | #include "plugin.h" |
25 | #include "lib/helper.h" | 25 | #include "lib/helper.h" |
26 | #include "lib/pluginlib_exit.h" | ||
26 | 27 | ||
27 | #ifdef HAVE_LCD_BITMAP | 28 | #ifdef HAVE_LCD_BITMAP |
28 | #include "lib/xlcd.h" | 29 | #include "lib/xlcd.h" |
29 | #include "lib/configfile.h" | 30 | #include "lib/configfile.h" |
30 | 31 | ||
31 | PLUGIN_HEADER | 32 | |
32 | 33 | ||
33 | /* variable button definitions */ | 34 | /* variable button definitions */ |
34 | #if CONFIG_KEYPAD == RECORDER_PAD | 35 | #if CONFIG_KEYPAD == RECORDER_PAD |
@@ -751,9 +752,8 @@ void anim_vertical(int cur_left, int cur_right) | |||
751 | last_pos = cur_y; | 752 | last_pos = cur_y; |
752 | } | 753 | } |
753 | 754 | ||
754 | void cleanup(void *parameter) | 755 | void cleanup(void) |
755 | { | 756 | { |
756 | (void)parameter; | ||
757 | #if LCD_DEPTH > 1 | 757 | #if LCD_DEPTH > 1 |
758 | rb->lcd_set_foreground(LCD_DEFAULT_FG); | 758 | rb->lcd_set_foreground(LCD_DEFAULT_FG); |
759 | rb->lcd_set_background(LCD_DEFAULT_BG); | 759 | rb->lcd_set_background(LCD_DEFAULT_BG); |
@@ -772,6 +772,7 @@ enum plugin_status plugin_start(const void* parameter) | |||
772 | 772 | ||
773 | (void)parameter; | 773 | (void)parameter; |
774 | 774 | ||
775 | atexit(cleanup); | ||
775 | configfile_load(cfg_filename, disk_config, | 776 | configfile_load(cfg_filename, disk_config, |
776 | sizeof(disk_config) / sizeof(disk_config[0]), | 777 | sizeof(disk_config) / sizeof(disk_config[0]), |
777 | CFGFILE_MINVERSION); | 778 | CFGFILE_MINVERSION); |
@@ -892,9 +893,7 @@ enum plugin_status plugin_start(const void* parameter) | |||
892 | break; | 893 | break; |
893 | 894 | ||
894 | default: | 895 | default: |
895 | if (rb->default_event_handler_ex(button, cleanup, NULL) | 896 | exit_on_usb(button); |
896 | == SYS_USB_CONNECTED) | ||
897 | return PLUGIN_USB_CONNECTED; | ||
898 | break; | 897 | break; |
899 | } | 898 | } |
900 | if (button != BUTTON_NONE) | 899 | if (button != BUTTON_NONE) |
@@ -908,7 +907,6 @@ enum plugin_status plugin_start(const void* parameter) | |||
908 | displaymsg = true; | 907 | displaymsg = true; |
909 | } | 908 | } |
910 | } | 909 | } |
911 | cleanup(NULL); | ||
912 | if (rb->memcmp(&osc, &osc_disk, sizeof(osc))) /* save settings if changed */ | 910 | if (rb->memcmp(&osc, &osc_disk, sizeof(osc))) /* save settings if changed */ |
913 | { | 911 | { |
914 | rb->memcpy(&osc_disk, &osc, sizeof(osc)); | 912 | rb->memcpy(&osc_disk, &osc, sizeof(osc)); |