[w3m-dev 04266] Bug fix when tab browsing
[email protected] Wed, 30 May 2007 12:42:47 +0900 (JST)
| Newsgroups | gmane.comp.web.w3m.devel |
|---|---|
| Message-ID | <[email protected]> |
(4) * reload * (~~~) ----------------------------------- <[email protected]> --- fm.h.orig Thu May 24 13:36:20 2007 +++ fm.h Wed May 30 11:49:27 2007 @@ -523,6 +523,13 @@ } DownloadList; #define DOWNLOAD_LIST_TITLE "Download List Panel" +#define COPY_BUFROOT(dstbuf, srcbuf) {\ + (dstbuf)->rootX = (srcbuf)->rootX; \ + (dstbuf)->rootY = (srcbuf)->rootY; \ + (dstbuf)->COLS = (srcbuf)->COLS; \ + (dstbuf)->LINES = (srcbuf)->LINES; \ +} + #define COPY_BUFPOSITION(dstbuf, srcbuf) {\ (dstbuf)->topLine = (srcbuf)->topLine; \ (dstbuf)->currentLine = (srcbuf)->currentLine; \ --- main.c.orig Wed May 30 09:31:28 2007 +++ main.c Wed May 30 11:56:18 2007 @@ -4717,8 +4717,10 @@ buf->linkBuffer[LB_N_FRAME] = fbuf; pushBuffer(buf); Currentbuf = buf; - if (Currentbuf->firstLine) + if (Currentbuf->firstLine) { + COPY_BUFROOT(Currentbuf, &sbuf); restorePosition(Currentbuf, &sbuf); + } displayBuffer(Currentbuf, B_FORCE_REDRAW); return; } @@ -4783,8 +4785,10 @@ } Currentbuf->search_header = sbuf.search_header; Currentbuf->form_submit = sbuf.form_submit; - if (Currentbuf->firstLine) + if (Currentbuf->firstLine) { + COPY_BUFROOT(Currentbuf, &sbuf); restorePosition(Currentbuf, &sbuf); + } displayBuffer(Currentbuf, B_FORCE_REDRAW); } @@ -5215,6 +5219,9 @@ cursorXY(Currentbuf, cx, cy); } } + else { + return; + } if (!(map && map->func)) map = &mouse_action.default_map[btn]; if (map && map->func) { @@ -6555,8 +6562,10 @@ return; } buf->bufferprop |= (BP_INTERNAL | BP_NO_URL); - if (replace) + if (replace) { + COPY_BUFROOT(buf, Currentbuf); restorePosition(buf, Currentbuf); + } if (!replace && open_tab_dl_list) { _newT(); new_tab = TRUE;