summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorNils Czernia2018-06-16 12:08:29 +0200
committerNils Czernia2018-06-16 12:08:29 +0200
commit55ac0987a1c9d2c31782119403967ea8a218eba4 (patch)
treee276eb7ddb6a646a2f00f5caa4cd344eb4ad31ed
parent18f9d50a824ac657c89a83da6dbcc7951ee1b5bd (diff)
downloadaur-55ac0987a1c9d2c31782119403967ea8a218eba4.tar.gz
Fixed FS#55636 - [qucs] Simulator crashed
-rw-r--r--ChangeLog3
-rw-r--r--PKGBUILD15
-rw-r--r--issue710.patch17
3 files changed, 28 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644
index dba4cf7ec79b..000000000000
--- a/ChangeLog
+++ /dev/null
@@ -1,3 +0,0 @@
-2007-06-27 tardo <tardo@nagi-fanboi.net>
-* Built for x86_64
-
diff --git a/PKGBUILD b/PKGBUILD
index 927d8a1972a1..57afc4a5111f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,5 +1,5 @@
-# $Id: PKGBUILD 266875 2017-11-15 14:29:11Z foutrelis $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+ $Id: PKGBUILD 266875 2017-11-15 14:29:11Z foutrelis $
+# Maintainer: Nils Czernia <nils[at]czserver.de>
# Contributor: Víctor Martínez Romanos <vmromanos@gmail.com>
pkgname=qucs
@@ -14,8 +14,15 @@ makedepends=('gperf')
optdepends=('freehdl: to permit digital circuit simulation'
# 'asco: to enable circuit optimization'
'perl')
-source=("http://downloads.sourceforge.net/project/qucs/qucs/$pkgver/qucs-$pkgver.tar.gz")
-sha256sums=('45c6434fde24c533e63550675ac21cdbd3cc6cbba29b82a1dc3f36e7dd4b3b3e')
+source=("http://downloads.sourceforge.net/project/qucs/qucs/$pkgver/qucs-$pkgver.tar.gz"
+ "issue710.patch")
+sha256sums=('45c6434fde24c533e63550675ac21cdbd3cc6cbba29b82a1dc3f36e7dd4b3b3e'
+ '9c396e2fcc835164df8de76eb1689e3480fbf4729d9971054617fd57f48c43db')
+
+prepare() {
+ cd "$srcdir"/$pkgname-${pkgver/s/.}
+ patch -p0 -i ../issue710.patch
+}
build() {
cd "$srcdir"/$pkgname-${pkgver/s/.}
diff --git a/issue710.patch b/issue710.patch
new file mode 100644
index 000000000000..1e1806aace45
--- /dev/null
+++ b/issue710.patch
@@ -0,0 +1,17 @@
+--- qucs-core/src/net.cpp
++++ qucs-core/src/net.cpp
+@@ -350,7 +350,13 @@ void net::orderAnalysis (void) {
+ void net::sortChildAnalyses (analysis * parent) {
+ ptrlist<analysis> * alist = parent->getAnalysis ();
+ if (alist != nullptr) {
+- for (auto *a: *alist) {
++
++ for (auto it = alist->begin(); it != alist->end(); /* empty */) {
++ // Copy the value of the element (a pointer), and advance the
++ // iterator prior to manipulating the list.
++ analysis *a = *it;
++ ++it;
++
+ if (a->getType () == ANALYSIS_DC
+ || containsAnalysis (a, ANALYSIS_DC)) {
+ parent->delAnalysis (a);