upstream fix of crash when opening new tab while reloading page

This commit is contained in:
Ondrej Vasik 2008-07-15 08:51:44 +00:00
parent 486b6432a3
commit fb86df7d3b
2 changed files with 49 additions and 1 deletions

View File

@ -0,0 +1,42 @@
Fix crash after a tab was opened during reload.
---
commit b07fecc2be6eeb7e20e555f6128e50f1ed4ee7f9
tree 5df3f87ddb3ed9bae1126009cd755f7137c89cf6
parent 6b05cdb3a0a12e8cf8bae3860b1a59e86d3076a1
author Kalle Olavi Niemitalo <kon@iki.fi> Tue, 15 Jul 2008 00:09:27 +0300
committer Kalle Olavi Niemitalo <Kalle@Astalo.kon.iki.fi> Tue, 15 Jul 2008 00:09:27 +0300
NEWS | 2 ++
src/viewer/text/vs.c | 6 ++++++
2 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/NEWS b/NEWS
index b01a90a..7108a8e 100644
--- a/NEWS
+++ b/NEWS
@@ -44,6 +44,8 @@
Miscellaneous:
+* critical: Fix crash after a tab was opened during reload. This was
+ triggered by the bug 620 fix in ELinks 0.12pre1.
* critical bug 723: fix dangling pointer crash when following a link
in a frame
* critical bug 756: ``assertion (cached)->object.refcount >= 0 failed''
diff --git a/src/viewer/text/vs.c b/src/viewer/text/vs.c
index d0bbdf5..a7978db 100644
--- a/src/viewer/text/vs.c
+++ b/src/viewer/text/vs.c
@@ -79,6 +79,12 @@ copy_vs(struct view_state *dst, struct view_state *src)
dst->ecmascript_fragile = 1;
#endif
+ /* destroy_vs(vs) does mem_free_if(vs->form_info), so each
+ * view_state must have its own form_info. Normally we make a
+ * copy below, but not if src->form_info_len is 0, which it
+ * can be even if src->form_info is not NULL. */
+ dst->form_info = NULL;
+
/* Clean as a baby. */
dst->doc_view = NULL;

View File

@ -1,7 +1,7 @@
Name: elinks Name: elinks
Summary: A text-mode Web browser Summary: A text-mode Web browser
Version: 0.12 Version: 0.12
Release: 0.1.pre1%{?dist} Release: 0.2.pre1%{?dist}
License: GPLv2 License: GPLv2
URL: http://elinks.or.cz URL: http://elinks.or.cz
Group: Applications/Internet Group: Applications/Internet
@ -28,6 +28,7 @@ Patch4: elinks-0.11.0-sysname.patch
Patch5: elinks-0.10.1-xterm.patch Patch5: elinks-0.10.1-xterm.patch
Patch6: elinks-0.11.0-union.patch Patch6: elinks-0.11.0-union.patch
Patch7: elinks-0.11.3-macropen.patch Patch7: elinks-0.11.3-macropen.patch
Patch8: elinks-0.12pre1-tabreload.patch
%description %description
Links is a text-based Web browser. Links does not display any images, Links is a text-based Web browser. Links does not display any images,
@ -53,6 +54,8 @@ quickly and swiftly displays Web pages.
%patch6 -p1 %patch6 -p1
# fix for open macro in new glibc # fix for open macro in new glibc
%patch7 -p1 %patch7 -p1
# upstream fix for opening tab during reload
%patch8 -p1
%build %build
./autogen.sh ./autogen.sh
@ -83,6 +86,9 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man5/* %{_mandir}/man5/*
%changelog %changelog
* Tue Jul 15 2008 Ondrej Vasik <ovasik@redhat.com> 0.12-0.2.pre1
- fix a crash when opening tab during page reload
* Tue Jul 1 2008 Ondrej Vasik <ovasik@redhat.com> 0.12-0.1.pre1 * Tue Jul 1 2008 Ondrej Vasik <ovasik@redhat.com> 0.12-0.1.pre1
- unstable elinks-0.12 pre1, solves several long-term issues - unstable elinks-0.12 pre1, solves several long-term issues
unsolvable (or very hard to solve) in 0.11.4 (like #173411), unsolvable (or very hard to solve) in 0.11.4 (like #173411),