summaryrefslogtreecommitdiff
path: root/atari
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2012-10-22 20:01:51 +0100
committerChris Young <chris@unsatisfactorysoftware.co.uk>2012-10-22 20:01:51 +0100
commitbcd43d3f5989b236f696773ab523f56cac54cd8a (patch)
treedc1d00799cc93d9c7e3f7298b3fdcabb92bd28e7 /atari
parent094b866388f504bbbecec6290c286f8b6cb008fb (diff)
parent9629e428a55961106fcd15fd9e0ad9de0649f314 (diff)
downloadnetsurf-bcd43d3f5989b236f696773ab523f56cac54cd8a.tar.gz
netsurf-bcd43d3f5989b236f696773ab523f56cac54cd8a.tar.bz2
Merge branch 'master' of git://git.netsurf-browser.org/netsurf
Diffstat (limited to 'atari')
-rwxr-xr-xatari/browser_win.c29
-rwxr-xr-xatari/findfile.c5
-rwxr-xr-xatari/gui.c24
-rwxr-xr-xatari/statusbar.c44
-rwxr-xr-xatari/statusbar.h12
5 files changed, 87 insertions, 27 deletions
diff --git a/atari/browser_win.c b/atari/browser_win.c
index 8beb39645..f6daf37c4 100755
--- a/atari/browser_win.c
+++ b/atari/browser_win.c
@@ -103,6 +103,9 @@ int window_create( struct gui_window * gw,
}
if( inflags & WIDGET_RESIZE ){
flags |= ( SIZER );
+ }
+ if( inflags & WIDGET_STATUSBAR ){
+ flags |= ( INFO );
}
gw->root = malloc( sizeof(struct s_gui_win_root) );
@@ -141,8 +144,10 @@ int window_create( struct gui_window * gw,
/* create statusbar component: */
if( sb ) {
- gw->root->statusbar = sb_create( gw );
- mt_CompAttach( &app, gw->root->cmproot, gw->root->statusbar->comp );
+ gw->root->statusbar = sb_create( gw );
+#ifdef WITH_COMOPONENT_STATUSBAR
+ mt_CompAttach( &app, gw->root->cmproot, gw->root->statusbar->comp );
+#endif
} else {
gw->root->statusbar = NULL;
}
@@ -231,7 +236,7 @@ void window_open( struct gui_window * gw, GRECT pos )
plot_set_dimensions(br.g_x, br.g_y, br.g_w, br.g_h);
gw->browser->attached = true;
if( gw->root->statusbar != NULL ){
- gw->root->statusbar->attached = true;
+ sb_attach(gw->root->statusbar, gw);
}
tb_adjust_size( gw );
/*TBD: get already present content and set size? */
@@ -247,7 +252,7 @@ void window_update_back_forward( struct gui_window * gw)
tb_update_buttons( gw, -1 );
}
-void window_set_stauts( struct gui_window * gw , char * text )
+void window_set_stauts(struct gui_window * gw , char * text )
{
if( gw->root == NULL )
return;
@@ -428,13 +433,11 @@ static void __CDECL evnt_window_dd( WINDOW *win, short wbuff[8], void * data )
if( !strncmp( ext, "ARGS", 4) && dd_msg > 0)
{
ddreply(dd_hdl, DD_OK);
- buff = (char*)alloca(sizeof(char)*(size+1));
- if( buff != NULL )
+ buff = (char*)malloc(sizeof(char)*(size+1));
+ if (buff != NULL)
{
- if( Fread(dd_hdl, size, buff ) == size)
- {
+ if (Fread(dd_hdl, size, buff ) == size)
buff[size] = 0;
- }
LOG(("file: %s, ext: %s, size: %d dropped at: %d,%d\n",
(char*)buff, (char*)&ext,
size, mx, my
@@ -451,8 +454,9 @@ static void __CDECL evnt_window_dd( WINDOW *win, short wbuff[8], void * data )
utf8_convert_ret ret;
char *utf8_fn;
- ret = utf8_from_local_encoding( buff, 0, &utf8_fn);
- if (ret != UTF8_CONVERT_OK) {
+ ret = utf8_from_local_encoding(buff, 0, &utf8_fn);
+ if (ret != UTF8_CONVERT_OK) {
+ free(buff);
/* A bad encoding should never happen */
LOG(("utf8_from_local_encoding failed"));
assert(ret != UTF8_CONVERT_BADENC);
@@ -463,7 +467,8 @@ static void __CDECL evnt_window_dd( WINDOW *win, short wbuff[8], void * data )
mx+gw->browser->scroll.current.x,
my+gw->browser->scroll.current.y,
utf8_fn );
- free( utf8_fn );
+ free(utf8_fn);
+ free(buff);
}
}
}
diff --git a/atari/findfile.c b/atari/findfile.c
index 3a06f61e9..93bf4638e 100755
--- a/atari/findfile.c
+++ b/atari/findfile.c
@@ -41,7 +41,7 @@ char * local_file_to_url( const char * filename )
return( NULL );
}
- char * fname_local = alloca( strlen(filename)+1 );
+ char * fname_local = malloc( strlen(filename)+1 );
char * start = (char*)fname_local;
strcpy( start, filename );
@@ -72,6 +72,9 @@ char * local_file_to_url( const char * filename )
url = malloc( strlen(start) + FILE_SCHEME_PREFIX_LEN + 1);
strcpy( url, FILE_SCHEME_PREFIX );
strcat( url, start );
+
+ free(fname_local);
+
return( url );
#undef BACKSLASH
}
diff --git a/atari/gui.c b/atari/gui.c
index a2dac21d3..c2158e05e 100755
--- a/atari/gui.c
+++ b/atari/gui.c
@@ -553,12 +553,12 @@ gui_window_remove_caret(struct gui_window *w)
void
gui_window_set_icon(struct gui_window *g, hlcache_handle *icon)
-{
- struct bitmap *bmp_icon;
+{
+ struct bitmap *bmp_icon;
+
+ bmp_icon = (icon != NULL) ? content_get_bitmap(icon) : NULL;
- bmp_icon = (icon != NULL) ? content_get_bitmap(icon) : NULL;
-
- window_set_icon(g, bmp_icon);
+ window_set_icon(g, bmp_icon);
}
void
@@ -911,6 +911,17 @@ nsurl *gui_get_resource_url(const char *path)
return url;
}
+/* Documented in desktop/options.h */
+void gui_options_init_defaults(void)
+{
+ /* Set defaults for absent option strings */
+ nsoption_setnull_charp(cookie_file, strdup("cookies"));
+
+ if (nsoption_charp(cookie_file) == NULL) {
+ die("Failed initialising string options");
+ }
+}
+
static void gui_init(int argc, char** argv)
{
char buf[PATH_MAX];
@@ -961,9 +972,6 @@ static void gui_init(int argc, char** argv)
urldb_load(nsoption_charp(url_file));
}
- if (nsoption_charp(cookie_file) == NULL ){
- nsoption_set_charp(cookie_file, (char*)"cookies");
- }
LOG(("Loading cookies from: %s", nsoption_charp(cookie_file) ));
if( strlen(nsoption_charp(cookie_file)) ){
urldb_load_cookies(nsoption_charp(cookie_file));
diff --git a/atari/statusbar.c b/atari/statusbar.c
index f4dbbe578..08a62c55d 100755
--- a/atari/statusbar.c
+++ b/atari/statusbar.c
@@ -44,7 +44,8 @@
#include "atari/res/netsurf.rsh"
#include "atari/plot/plot.h"
#include "atari/osspec.h"
-
+
+#ifdef WITH_CUSTOM_STATUSBAR
extern int atari_plot_vdi_handle;
static
@@ -182,7 +183,8 @@ void sb_destroy( CMP_STATUSBAR s )
}
void sb_set_text( CMP_STATUSBAR sb , char * text )
-{
+{
+
LGRECT work;
assert( sb != NULL );
assert( sb->comp != NULL );
@@ -197,4 +199,42 @@ void sb_set_text( CMP_STATUSBAR sb , char * text )
work.g_x, work.g_y, work.g_w, work.g_h );
}
}
+}
+
+#else
+
+CMP_STATUSBAR sb_create( struct gui_window * gw )
+{
+ CMP_STATUSBAR s = malloc( sizeof(struct s_statusbar) );
+ s->attached = false;
+ sb_set_text( s, (char*)"" );
+ return( s );
}
+
+void sb_destroy( CMP_STATUSBAR s )
+{
+ LOG(("%s\n", __FUNCTION__ ));
+ if( s ) {
+ free( s );
+ }
+}
+
+void sb_attach(CMP_STATUSBAR sb, struct gui_window * gw)
+{
+ sb->aes_win = gw->root->handle->handle;
+ sb->attached = true;
+}
+
+void sb_set_text(CMP_STATUSBAR sb, char * text )
+{
+ LGRECT work;
+ assert( sb != NULL );
+ strncpy(sb->text, text, STATUSBAR_MAX_SLEN);
+ sb->text[STATUSBAR_MAX_SLEN]=0;
+ sb->textlen = strlen(sb->text);
+ if(sb->attached){
+ wind_set_str(sb->aes_win, WF_INFO, sb->text);
+ }
+}
+
+#endif
diff --git a/atari/statusbar.h b/atari/statusbar.h
index fd01a0c79..fc6749e91 100755
--- a/atari/statusbar.h
+++ b/atari/statusbar.h
@@ -23,15 +23,19 @@
#define STATUSBAR_MAX_SLEN 255
struct s_statusbar
-{
- COMPONENT * comp;
+{
+#ifdef WITH_COMPONENT_STATUSBAR
+ COMPONENT * comp;
+#endif
char text[STATUSBAR_MAX_SLEN+1];
size_t textlen;
- bool attached;
+ bool attached;
+ short aes_win;
};
CMP_STATUSBAR sb_create( struct gui_window * gw );
void sb_destroy( CMP_STATUSBAR s );
-void sb_set_text( CMP_STATUSBAR sb , char * text );
+void sb_set_text( CMP_STATUSBAR sb , char * text );
+void sb_attach(CMP_STATUSBAR sb, struct gui_window * gw);
#endif