diff options
| -rw-r--r-- | ChangeLog | 8 | ||||
| -rw-r--r-- | main.c | 35 | 
2 files changed, 25 insertions, 18 deletions
| @@ -1,5 +1,11 @@  2002-12-25  Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> +	* [w3m-dev 03598] restore cursor when download list panel is updated. +	* main.c (stopDownload): delete->replace +		(ldDL): use DownloadListBuffer() + +2002-12-25  Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> +  	* [w3m-dev 03597] Re: meta refresh  	* main.c (Event): next, linked list  		(N_EVENT_QUEUE): deleted @@ -6062,4 +6068,4 @@ a	* [w3m-dev 03276] compile error on EWS4800  	* release-0-2-1  	* import w3m-0.2.1 -$Id: ChangeLog,v 1.644 2002/12/24 17:28:48 ukai Exp $ +$Id: ChangeLog,v 1.645 2002/12/24 17:33:31 ukai Exp $ @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.178 2002/12/24 17:28:48 ukai Exp $ */ +/* $Id: main.c,v 1.179 2002/12/24 17:33:31 ukai Exp $ */  #define MAINPROGRAM  #include "fm.h"  #include <signal.h> @@ -6233,17 +6233,17 @@ stopDownload(void)  void  ldDL(void)  { -    Buffer *prev = Currentbuf; -    int delete = FALSE, new_tab = FALSE; +    Buffer *buf; +    int replace = FALSE, new_tab = FALSE;  #ifdef USE_ALARM      int reload;  #endif      if (Currentbuf->bufferprop & BP_INTERNAL &&  	!strcmp(Currentbuf->buffername, DOWNLOAD_LIST_TITLE)) -	delete = TRUE; +	replace = TRUE;      if (!FirstDL) { -	if (delete) { +	if (replace) {  	    if (Currentbuf == Firstbuf && Currentbuf->nextBuffer == NULL) {  		if (nTab > 1)  		    deleteTab(CurrentTab); @@ -6254,29 +6254,30 @@ ldDL(void)  	}  	return;      } -    if (!delete && open_tab_dl_list) { -	_newT(); -	prev = Currentbuf; -	delete = TRUE; -	new_tab = TRUE; -    }  #ifdef USE_ALARM      reload = checkDownloadList();  #endif -    cmd_loadBuffer(DownloadListBuffer(), BP_NO_URL, LB_NOLINK); -    if (Currentbuf == prev) { -	if (new_tab) -	    deleteTab(CurrentTab); -	displayBuffer(Currentbuf, B_FORCE_REDRAW); +    buf = DownloadListBuffer(); +    if (!buf) { +	displayBuffer(Currentbuf, B_NORMAL);  	return;      } -    if (delete) +    buf->bufferprop |= (BP_INTERNAL | BP_NO_URL); +    if (replace) +	restorePosition(buf, Currentbuf); +    if (!replace && open_tab_dl_list) { +	_newT(); +	new_tab = TRUE; +    } +    pushBuffer(buf); +    if (replace || new_tab)  	deletePrevBuf();  #ifdef USE_ALARM      if (reload)  	Currentbuf->event = setAlarmEvent(Currentbuf->event, 1, AL_IMPLICIT,  					  FUNCNAME_reload, NULL);  #endif +    displayBuffer(Currentbuf, B_FORCE_REDRAW);  }  static void | 
