summaryrefslogtreecommitdiff
path: root/amiga/gui.c
diff options
context:
space:
mode:
Diffstat (limited to 'amiga/gui.c')
-rw-r--r--amiga/gui.c29
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();