diff options
author | Vincent Sanders <vince@netsurf-browser.org> | 2013-02-14 18:21:11 +0000 |
---|---|---|
committer | Vincent Sanders <vince@netsurf-browser.org> | 2013-02-18 11:23:48 +0000 |
commit | b112dec78d5e8289ded3f61db96e495690ae96b5 (patch) | |
tree | 9babaed21ed2eb841b8d398e28814544c73656d9 /amiga/context_menu.c | |
parent | 3bfb5b96a7c7cb2718a60987e69cd659ed49b9d8 (diff) | |
download | netsurf-b112dec78d5e8289ded3f61db96e495690ae96b5.tar.gz netsurf-b112dec78d5e8289ded3f61db96e495690ae96b5.tar.bz2 |
change browser_window_create and refactor all callsites
Diffstat (limited to 'amiga/context_menu.c')
-rwxr-xr-x | amiga/context_menu.c | 36 |
1 files changed, 32 insertions, 4 deletions
diff --git a/amiga/context_menu.c b/amiga/context_menu.c index 952d5c2c8..2091f55ca 100755 --- a/amiga/context_menu.c +++ b/amiga/context_menu.c @@ -718,6 +718,8 @@ static uint32 ami_context_menu_hook(struct Hook *hook,Object *item,APTR reserved const char *source_data; ULONG source_size; struct bitmap *bm; + nsurl *url; + nserror error; if(GetAttrs(item,PMIA_ID,&itemid, PMIA_UserData,&userdata, @@ -776,14 +778,40 @@ static uint32 ami_context_menu_hook(struct Hook *hook,Object *item,APTR reserved case CMID_FRAMEWIN: case CMID_URLOPENWIN: - bw = browser_window_create(userdata, gwin->bw, - nsurl_access(hlcache_handle_get_url(gwin->bw->current_content)), true, false); + error = nsurl_create(userdata, &url); + if (error == NSERROR_OK) { + error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY, + url, + hlcache_handle_get_url(gwin->bw->current_content), + gwin->bw, + &bw); + nsurl_unref(url); + } + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } + + break; case CMID_FRAMETAB: case CMID_URLOPENTAB: - bw = browser_window_create(userdata, gwin->bw, - nsurl_access(hlcache_handle_get_url(gwin->bw->current_content)), true, true); + error = nsurl_create(userdata, &url); + if (error == NSERROR_OK) { + error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE | + BROWSER_WINDOW_GO_FLAG_HISTORY | + BROWSER_WINDOW_GO_FLAG_TAB, + url, + hlcache_handle_get_url(gwin->bw->current_content), + gwin->bw, + &bw); + nsurl_unref(url); + } + if (error != NSERROR_OK) { + warn_user(messages_get_errorcode(error), 0); + } + break; case CMID_FRAMESAVE: |