summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2013-06-18 14:59:17 +0100
committerMichael Drake <tlsa@netsurf-browser.org>2013-06-18 14:59:17 +0100
commit11d4788c8b8713de5fa06ea64e9999eb57e815fa (patch)
treea18bbd4045eb11977630e501f95219754c8979c0
parentd064e9ac78e38f3622935092e166c30a8917f043 (diff)
parent6c17aa78a7cae12edd12ff7d6ad543302462c585 (diff)
downloadnetsurf-11d4788c8b8713de5fa06ea64e9999eb57e815fa.tar.gz
netsurf-11d4788c8b8713de5fa06ea64e9999eb57e815fa.tar.bz2
Merge branch 'master' of git://git.netsurf-browser.org/netsurf
-rw-r--r--Docs/BUILDING-GTK8
-rwxr-xr-xamiga/gui_options.c27
-rw-r--r--amiga/menu.c35
-rwxr-xr-xamiga/menu.h8
-rw-r--r--css/css.c15
-rw-r--r--render/layout.c3
-rw-r--r--resources/FatMessages5
7 files changed, 57 insertions, 44 deletions
diff --git a/Docs/BUILDING-GTK b/Docs/BUILDING-GTK
index 01f46320b..16b15a4af 100644
--- a/Docs/BUILDING-GTK
+++ b/Docs/BUILDING-GTK
@@ -66,9 +66,11 @@
Debian-like OS:
- $ apt-get install libglade2-dev libcurl3-dev libmng-dev
+ $ apt-get install libgtk2.0-dev libcurl3-dev libmng-dev
$ apt-get install librsvg2-dev liblcms1-dev libjpeg-dev
+ If you want to build with gtk 3 replace libgtk2.0-dev with libgtk-3-dev
+
Recent OS versions might need libcurl4-dev instead of libcurl3-dev but
note that when it has not been built with OpenSSL, the SSL_CTX is not
available and results that certification details won't be presented in case
@@ -82,8 +84,8 @@
Fedora:
- $ yum install libglade2-devel curl-devel libmng-devel
- $ yum install librsvg2-devel lcms-devel
+ $ yum install curl-devel libmng-devel
+ $ yum install librsvg2-devel lcms-devel expat-devel
Other:
diff --git a/amiga/gui_options.c b/amiga/gui_options.c
index e436cd2e9..a1bd2914b 100755
--- a/amiga/gui_options.c
+++ b/amiga/gui_options.c
@@ -96,6 +96,7 @@ enum
GID_OPTS_PROXY_PORT,
GID_OPTS_PROXY_USER,
GID_OPTS_PROXY_PASS,
+ GID_OPTS_PROXY_BYPASS,
GID_OPTS_FETCHMAX,
GID_OPTS_FETCHHOST,
GID_OPTS_FETCHCACHE,
@@ -278,6 +279,7 @@ void ami_gui_opts_setup(void)
gadlab[GID_OPTS_PROXY_HOST] = (char *)ami_utf8_easy((char *)messages_get("Host"));
gadlab[GID_OPTS_PROXY_USER] = (char *)ami_utf8_easy((char *)messages_get("Username"));
gadlab[GID_OPTS_PROXY_PASS] = (char *)ami_utf8_easy((char *)messages_get("Password"));
+ gadlab[GID_OPTS_PROXY_BYPASS] = (char *)ami_utf8_easy((char *)messages_get("ProxyBypass"));
gadlab[GID_OPTS_FETCHMAX] = (char *)ami_utf8_easy((char *)messages_get("FetchesMax"));
gadlab[GID_OPTS_FETCHHOST] = (char *)ami_utf8_easy((char *)messages_get("FetchesHost"));
gadlab[GID_OPTS_FETCHCACHE] = (char *)ami_utf8_easy((char *)messages_get("FetchesCached"));
@@ -401,7 +403,7 @@ void ami_gui_opts_open(void)
ULONG screenmodeid = 0;
ULONG proxytype = 0;
BOOL screenmodedisabled = FALSE, screennamedisabled = FALSE;
- BOOL proxyhostdisabled = TRUE, proxyauthdisabled = TRUE;
+ BOOL proxyhostdisabled = TRUE, proxyauthdisabled = TRUE, proxybypassdisabled = FALSE;
BOOL disableanims, animspeeddisabled = FALSE, acceptlangdisabled = FALSE;
BOOL scaleselected = nsoption_bool(scale_quality), scaledisabled = FALSE;
BOOL download_notify_disabled = FALSE;
@@ -441,7 +443,7 @@ void ami_gui_opts_open(void)
screenmodeid = strtoul(nsoption_charp(screen_modeid),NULL,0);
}
- if(nsoption_bool(http_proxy))
+ if(nsoption_bool(http_proxy) == true)
{
proxytype = nsoption_int(http_proxy_auth) + 1;
switch(nsoption_int(http_proxy_auth))
@@ -453,6 +455,8 @@ void ami_gui_opts_open(void)
proxyhostdisabled = FALSE;
break;
}
+ } else {
+ proxybypassdisabled = TRUE;
}
sprintf(animspeed,"%.2f",(float)(nsoption_int(minimum_gif_delay)/100.0));
@@ -819,6 +823,16 @@ void ami_gui_opts_open(void)
CHILD_Label, LabelObject,
LABEL_Text, gadlab[GID_OPTS_PROXY_PASS],
LabelEnd,
+ LAYOUT_AddChild, gow->objects[GID_OPTS_PROXY_BYPASS] = StringObject,
+ GA_ID, GID_OPTS_PROXY_BYPASS,
+ GA_RelVerify, TRUE,
+ GA_Disabled, proxybypassdisabled,
+ STRINGA_TextVal, nsoption_charp(http_proxy_noproxy),
+ STRINGA_BufferPos, 0,
+ StringEnd,
+ CHILD_Label, LabelObject,
+ LABEL_Text, gadlab[GID_OPTS_PROXY_BYPASS],
+ LabelEnd,
LayoutEnd, // proxy
CHILD_WeightedHeight, 0,
LAYOUT_AddChild,VGroupObject,
@@ -1642,6 +1656,9 @@ void ami_gui_opts_use(bool save)
GetAttr(STRINGA_TextVal,gow->objects[GID_OPTS_PROXY_PASS],(ULONG *)&data);
nsoption_set_charp(http_proxy_auth_pass, (char *)strdup((char *)data));
+ GetAttr(STRINGA_TextVal,gow->objects[GID_OPTS_PROXY_BYPASS],(ULONG *)&data);
+ nsoption_set_charp(http_proxy_noproxy, (char *)strdup((char *)data));
+
GetAttr(INTEGER_Number,gow->objects[GID_OPTS_FETCHMAX],(ULONG *)&nsoption_int(max_fetchers));
GetAttr(INTEGER_Number,gow->objects[GID_OPTS_FETCHHOST],(ULONG *)&nsoption_int(max_fetchers_per_host));
GetAttr(INTEGER_Number,gow->objects[GID_OPTS_FETCHCACHE],(ULONG *)&nsoption_int(max_cached_fetch_handles));
@@ -2013,6 +2030,8 @@ BOOL ami_gui_opts_event(void)
gow->win,NULL, GA_Disabled, TRUE, TAG_DONE);
RefreshSetGadgetAttrs((struct Gadget *)gow->objects[GID_OPTS_PROXY_PASS],
gow->win,NULL, GA_Disabled, TRUE, TAG_DONE);
+ RefreshSetGadgetAttrs((struct Gadget *)gow->objects[GID_OPTS_PROXY_BYPASS],
+ gow->win,NULL, GA_Disabled, TRUE, TAG_DONE);
break;
case 1:
RefreshSetGadgetAttrs((struct Gadget *)gow->objects[GID_OPTS_PROXY_HOST],
@@ -2024,6 +2043,8 @@ BOOL ami_gui_opts_event(void)
gow->win,NULL, GA_Disabled, TRUE, TAG_DONE);
RefreshSetGadgetAttrs((struct Gadget *)gow->objects[GID_OPTS_PROXY_PASS],
gow->win,NULL, GA_Disabled, TRUE, TAG_DONE);
+ RefreshSetGadgetAttrs((struct Gadget *)gow->objects[GID_OPTS_PROXY_BYPASS],
+ gow->win,NULL, GA_Disabled, FALSE, TAG_DONE);
break;
case 2:
@@ -2037,6 +2058,8 @@ BOOL ami_gui_opts_event(void)
gow->win,NULL, GA_Disabled, FALSE, TAG_DONE);
RefreshSetGadgetAttrs((struct Gadget *)gow->objects[GID_OPTS_PROXY_PASS],
gow->win,NULL, GA_Disabled, FALSE, TAG_DONE);
+ RefreshSetGadgetAttrs((struct Gadget *)gow->objects[GID_OPTS_PROXY_BYPASS],
+ gow->win,NULL, GA_Disabled, FALSE, TAG_DONE);
break;
}
break;
diff --git a/amiga/menu.c b/amiga/menu.c
index d5e67b9f1..3e9ac9708 100644
--- a/amiga/menu.c
+++ b/amiga/menu.c
@@ -159,32 +159,6 @@ static void ami_menu_alloc_item(struct gui_window_2 *gwin, int num, UBYTE type,
}
}
- if((GadToolsBase->lib_Version > 53) ||
- ((GadToolsBase->lib_Version == 53) && (GadToolsBase->lib_Revision >= 5))) {
- /* GadTools 53.5+ only. For now we will only create the menu
- using label.image if there's a bitmap associated with the item. */
- if(bm != NULL) {
- struct DrawInfo *dri = GetScreenDrawInfo(scrn);
- struct BitMap *menu_icon = ami_bitmap_get_native(bm, 16, 16, NULL);
-
- gwin->menuobj[num] = LabelObject,
- LABEL_DrawInfo, dri,
- LABEL_DisposeImage, TRUE,
- LABEL_Image, BitMapObject,
- BITMAP_Screen, scrn,
- BITMAP_BitMap, menu_icon,
- BITMAP_Width, 16,
- BITMAP_Height, 16,
- BitMapEnd,
- LABEL_Text, gwin->menulab[num],
- LabelEnd;
-
- gwin->menutype[num] |= MENU_IMAGE;
-
- FreeScreenDrawInfo(scrn, dri);
- }
- }
-
if(key) gwin->menukey[num] = key;
if(func) gwin->menu_hook[num].h_Entry = (HOOKFUNC)func;
if(hookdata) gwin->menu_hook[num].h_Data = hookdata;
@@ -218,8 +192,10 @@ void ami_init_menulabs(struct gui_window_2 *gwin)
ami_menu_item_project_save, (void *)AMINS_SAVE_TEXT);
ami_menu_alloc_item(gwin, M_SAVECOMP, NM_SUB, "SaveCompNS", 0, NULL,
ami_menu_item_project_save, (void *)AMINS_SAVE_COMPLETE);
+#ifdef WITH_PDF_EXPORT
ami_menu_alloc_item(gwin, M_SAVEPDF, NM_SUB, "PDFNS", 0, NULL,
ami_menu_item_project_save, (void *)AMINS_SAVE_PDF);
+#endif
ami_menu_alloc_item(gwin, M_SAVEIFF, NM_SUB, "IFF", 0, NULL,
ami_menu_item_project_save, (void *)AMINS_SAVE_IFF);
ami_menu_alloc_item(gwin, M_BAR_P2, NM_ITEM, NM_BARLABEL, 0, NULL, NULL, NULL);
@@ -343,9 +319,6 @@ struct NewMenu *ami_create_menu(struct gui_window_2 *gwin)
if(gwin->menu_hook[i].h_Entry) gwin->menu[i].nm_UserData = &gwin->menu_hook[i];
}
-#ifndef WITH_PDF_EXPORT
- gwin->menu[M_SAVEPDF].nm_Flags = NM_ITEMDISABLED;
-#endif
#if defined(WITH_JS) || defined(WITH_MOZJS)
gwin->menu[M_JS].nm_Flags = CHECKIT | MENUTOGGLE;
if(nsoption_bool(enable_javascript) == true)
@@ -492,7 +465,7 @@ void ami_menu_update_checked(struct gui_window_2 *gwin)
GetAttr(WINDOW_MenuStrip, gwin->objects[OID_MAIN], (ULONG *)&menustrip);
if(!menustrip) return;
-
+#if defined(WITH_JS) || defined(WITH_MOZJS)
if(nsoption_bool(enable_javascript) == true) {
if((ItemAddress(menustrip, AMI_MENU_JS)->Flags & CHECKED) == 0)
ItemAddress(menustrip, AMI_MENU_JS)->Flags ^= CHECKED;
@@ -500,7 +473,7 @@ void ami_menu_update_checked(struct gui_window_2 *gwin)
if(ItemAddress(menustrip, AMI_MENU_JS)->Flags & CHECKED)
ItemAddress(menustrip, AMI_MENU_JS)->Flags ^= CHECKED;
}
-
+#endif
if(nsoption_bool(foreground_images) == true) {
if((ItemAddress(menustrip, AMI_MENU_FOREIMG)->Flags & CHECKED) == 0)
ItemAddress(menustrip, AMI_MENU_FOREIMG)->Flags ^= CHECKED;
diff --git a/amiga/menu.h b/amiga/menu.h
index 53c2db5f3..e96fcf0ee 100755
--- a/amiga/menu.h
+++ b/amiga/menu.h
@@ -41,8 +41,10 @@ enum {
M_SAVESRC,
M_SAVETXT,
M_SAVECOMP,
- M_SAVEPDF,
M_SAVEIFF,
+#ifdef WITH_PDF_EXPORT
+ M_SAVEPDF,
+#endif
M_BAR_P2,
M_CLOSETAB,
M_CLOSEWIN,
@@ -108,8 +110,8 @@ enum {
/* The Intuition menu numbers of some menus we might need to modify */
#define AMI_MENU_SAVEAS_TEXT FULLMENUNUM(0,4,1)
#define AMI_MENU_SAVEAS_COMPLETE FULLMENUNUM(0,4,2)
-#define AMI_MENU_SAVEAS_PDF FULLMENUNUM(0,4,3)
-#define AMI_MENU_SAVEAS_IFF FULLMENUNUM(0,4,4)
+#define AMI_MENU_SAVEAS_IFF FULLMENUNUM(0,4,3)
+#define AMI_MENU_SAVEAS_PDF FULLMENUNUM(0,4,4)
#define AMI_MENU_CLOSETAB FULLMENUNUM(0,6,0)
#define AMI_MENU_CUT FULLMENUNUM(1,0,0)
#define AMI_MENU_COPY FULLMENUNUM(1,1,0)
diff --git a/css/css.c b/css/css.c
index 0410f180d..8f20504bd 100644
--- a/css/css.c
+++ b/css/css.c
@@ -643,13 +643,10 @@ nserror nscss_import(hlcache_handle *handle,
assert(ctx->css->imports[ctx->index].c == handle);
switch (event->type) {
- case CONTENT_MSG_LOADING:
- break;
- case CONTENT_MSG_READY:
- break;
case CONTENT_MSG_DONE:
error = nscss_import_complete(ctx);
break;
+
case CONTENT_MSG_ERROR:
hlcache_handle_release(handle);
ctx->css->imports[ctx->index].c = NULL;
@@ -657,9 +654,19 @@ nserror nscss_import(hlcache_handle *handle,
error = nscss_import_complete(ctx);
/* Already released handle */
break;
+
+ case CONTENT_MSG_LOADING:
+ case CONTENT_MSG_READY:
case CONTENT_MSG_STATUS:
+ case CONTENT_MSG_REDIRECT:
+ /* messages content handler will legitamately recive
+ * but does not need to handle
+ */
break;
+
default:
+ /* all other messages are unexpected and fatal */
+ LOG(("Unhandled message type %d", event->type));
assert(0);
}
diff --git a/render/layout.c b/render/layout.c
index 14d06ee5a..fd518d993 100644
--- a/render/layout.c
+++ b/render/layout.c
@@ -2911,7 +2911,8 @@ bool layout_line(struct box *first, int *width, int *y,
if ((d->type == BOX_INLINE && d->inline_end) ||
d->type == BOX_BR ||
d->type == BOX_TEXT ||
- d->type == BOX_INLINE_END) {
+ d->type == BOX_INLINE_END ||
+ d->object != NULL) {
css_fixed value = 0;
css_unit unit = CSS_UNIT_PX;
switch (css_computed_vertical_align(d->style, &value,
diff --git a/resources/FatMessages b/resources/FatMessages
index d25af013f..52307835a 100644
--- a/resources/FatMessages
+++ b/resources/FatMessages
@@ -5475,6 +5475,11 @@ de.all.Proxy:HTTP Proxy
fr.all.Proxy:HTTP Proxy
it.all.Proxy:Proxy HTTP
nl.all.Proxy:HTTP Proxy
+en.ami.ProxyBypass:Bypass proxy for
+de.ami.ProxyBypass:Bypass proxy for
+fr.ami.ProxyBypass:Bypass proxy for
+it.ami.ProxyBypass:Bypass proxy for
+nl.ami.ProxyBypass:Bypass proxy for
en.all.Fetching:Fetching
de.all.Fetching:Fetching
fr.all.Fetching:Fetching