aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--ChangeLog8
-rw-r--r--main.c35
2 files changed, 25 insertions, 18 deletions
diff --git a/ChangeLog b/ChangeLog
index 6a6432c..4b07f2a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 $
diff --git a/main.c b/main.c
index 1f38f72..e6707e9 100644
--- a/main.c
+++ b/main.c
@@ -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