diff options
Diffstat (limited to 'amiga/gui.c')
-rw-r--r-- | amiga/gui.c | 29 |
1 files changed, 8 insertions, 21 deletions
diff --git a/amiga/gui.c b/amiga/gui.c index 231bcb3e4..c45ef23ce 100644 --- a/amiga/gui.c +++ b/amiga/gui.c @@ -133,6 +133,7 @@ #include "amiga/hotlist.h" #include "amiga/icon.h" #include "amiga/launch.h" +#include "amiga/libs.h" #include "amiga/login.h" #include "amiga/menu.h" #include "amiga/misc.h" @@ -167,11 +168,6 @@ struct ami_gui_tb_userdata { }; struct MsgPort *appport; -struct Library *KeymapBase = NULL; -struct KeymapIFace *IKeymap = NULL; -struct Library *ApplicationBase=NULL; -struct ApplicationIFace *IApplication=NULL; - Class *urlStringClass; BOOL locked_screen = FALSE; @@ -408,16 +404,6 @@ bool ami_locate_resource(char *fullpath, const char *file) static void ami_open_resources(void) { - /* Allocate ports/ASL and open libraries and devices */ - - if((KeymapBase = OpenLibrary("keymap.library",37))) { - IKeymap = (struct KeymapIFace *)GetInterface(KeymapBase,"main",1,NULL); - } - - if((ApplicationBase = OpenLibrary("application.library", 53))) { - IApplication = (struct ApplicationIFace *)GetInterface(ApplicationBase, "application", 2, NULL); - } - urlStringClass = MakeStringClass(); if(!(appport = AllocSysObjectTags(ASOT_PORT, @@ -2985,12 +2971,6 @@ static void gui_quit(void) ami_openurl_close(); FreeStringClass(urlStringClass); - if(IApplication) DropInterface((struct Interface *)IApplication); - if(ApplicationBase) CloseLibrary(ApplicationBase); - - if(IKeymap) DropInterface((struct Interface *)IKeymap); - if(KeymapBase) CloseLibrary(KeymapBase); - LOG(("Freeing scheduler")); ami_schedule_free(); ami_schedule_close_timer(); @@ -3001,6 +2981,8 @@ static void gui_quit(void) FreeVec(current_user_dir); FreeVec(current_user_faviconcache); FreeVec(current_user); + + ami_libs_close(); } char *ami_gui_get_cache_favicon_name(nsurl *url, bool only_if_avail) @@ -5268,6 +5250,11 @@ int main(int argc, char** argv) */ nslog_init(NULL, &argc, argv); + /* Need to do this before opening any splash windows etc... */ + if ((ami_libs_open() == false)) { + return 20; /* FAIL */ + } + /* Open splash window */ Object *splash_window = ami_gui_splash_open(); |