From 93cb949372630d807615f53a8a6379937ed6819f Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Mon, 23 Aug 2010 17:12:26 +0000 Subject: Revert "Introduce plugin_crt0.c that every plugin links." Too much errors and no time to fix them now. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27863 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/text_viewer/text_viewer.c | 13 +++++++------ apps/plugins/text_viewer/tv_action.c | 4 +++- apps/plugins/text_viewer/tv_action.h | 5 ++++- 3 files changed, 14 insertions(+), 8 deletions(-) (limited to 'apps/plugins/text_viewer') diff --git a/apps/plugins/text_viewer/text_viewer.c b/apps/plugins/text_viewer/text_viewer.c index 5d06d4b477..eae85213ac 100644 --- a/apps/plugins/text_viewer/text_viewer.c +++ b/apps/plugins/text_viewer/text_viewer.c @@ -21,12 +21,11 @@ * ****************************************************************************/ #include "plugin.h" -#include "lib/pluginlib_exit.h" #include "tv_action.h" #include "tv_button.h" #include "tv_preferences.h" - +PLUGIN_HEADER enum plugin_status plugin_start(const void* file) { @@ -57,7 +56,6 @@ enum plugin_status plugin_start(const void* file) return PLUGIN_ERROR; } - atexit(tv_exit); while (!done) { #ifdef HAVE_LCD_BITMAP if (rb->global_settings->statusbar != STATUSBAR_OFF && preferences->statusbar) @@ -81,12 +79,12 @@ enum plugin_status plugin_start(const void* file) if (res != TV_MENU_RESULT_EXIT_MENU) { + tv_exit(NULL); + done = true; if (res == TV_MENU_RESULT_ATTACHED_USB) return PLUGIN_USB_CONNECTED; else if (res == TV_MENU_RESULT_ERROR) return PLUGIN_ERROR; - else - done = true; } } break; @@ -197,6 +195,7 @@ enum plugin_status plugin_start(const void* file) #ifdef TV_QUIT2 case TV_QUIT2: #endif + tv_exit(NULL); done = true; break; @@ -205,7 +204,9 @@ enum plugin_status plugin_start(const void* file) break; default: - exit_on_usb(button); + if (rb->default_event_handler_ex(button, tv_exit, NULL) + == SYS_USB_CONNECTED) + return PLUGIN_USB_CONNECTED; display_update = false; break; } diff --git a/apps/plugins/text_viewer/tv_action.c b/apps/plugins/text_viewer/tv_action.c index 1e5473b438..c95ece0649 100644 --- a/apps/plugins/text_viewer/tv_action.c +++ b/apps/plugins/text_viewer/tv_action.c @@ -47,8 +47,10 @@ static void tv_finalize_action(void) tv_finalize_window(); } -void tv_exit(void) +void tv_exit(void *parameter) { + (void)parameter; + /* save preference and bookmarks */ if (!tv_save_settings()) rb->splash(HZ, "Can't save preferences and bookmarks"); diff --git a/apps/plugins/text_viewer/tv_action.h b/apps/plugins/text_viewer/tv_action.h index 5b3571db30..fba008dbe9 100644 --- a/apps/plugins/text_viewer/tv_action.h +++ b/apps/plugins/text_viewer/tv_action.h @@ -58,8 +58,11 @@ bool tv_init_action(unsigned char **buf, size_t *bufsize); /* * finalize modules + * + * [In] parameter + * this argument does not use */ -void tv_exit(void); +void tv_exit(void *parameter); /* * load the file -- cgit v1.2.3