diff options
| -rw-r--r-- | ChangeLog | 7 | ||||
| -rw-r--r-- | fm.h | 9 | ||||
| -rw-r--r-- | main.c | 17 | 
3 files changed, 27 insertions, 6 deletions
| @@ -1,5 +1,10 @@  2007-05-30  Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> +	* [w3m-dev 04266] Bug fix when tab browsing +	* fm.h, main.c: fix for tab browsing. + +2007-05-30  Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> +  	* [w3m-dev 04265] compile error when #undef USE_BG_COLOR  	* terms.c: add #ifdef __CYGWIN__. @@ -8895,4 +8900,4 @@ a	* [w3m-dev 03276] compile error on EWS4800  	* release-0-2-1  	* import w3m-0.2.1 -$Id: ChangeLog,v 1.995 2007/05/30 04:43:59 inu Exp $ +$Id: ChangeLog,v 1.996 2007/05/30 04:47:24 inu Exp $ @@ -1,4 +1,4 @@ -/* $Id: fm.h,v 1.137 2007/05/23 13:07:44 inu Exp $ */ +/* $Id: fm.h,v 1.138 2007/05/30 04:47:24 inu Exp $ */  /*    * w3m: WWW wo Miru utility   *  @@ -523,6 +523,13 @@ typedef struct _DownloadList {  } 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; \ @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.256 2007/05/29 12:07:02 inu Exp $ */ +/* $Id: main.c,v 1.257 2007/05/30 04:47:24 inu Exp $ */  #define MAINPROGRAM  #include "fm.h"  #include <signal.h> @@ -4717,8 +4717,10 @@ DEFUN(reload, RELOAD, "Reload buffer")  	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 @@ DEFUN(reload, RELOAD, "Reload buffer")      }      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 @@ do_mouse_action(int btn, int x, int y)  	    cursorXY(Currentbuf, cx, cy);  	}      } +    else { +	return; +    }      if (!(map && map->func))  	map = &mouse_action.default_map[btn];      if (map && map->func) { @@ -6555,8 +6562,10 @@ DEFUN(ldDL, DOWNLOAD_LIST, "Display download list panel")  	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; | 
