diff options
author | mezz <mezz@FreeBSD.org> | 2010-03-18 09:53:51 +0800 |
---|---|---|
committer | mezz <mezz@FreeBSD.org> | 2010-03-18 09:53:51 +0800 |
commit | 533202afbfdc96b106fe06759d54790d55dd226d (patch) | |
tree | 5fc67d285f40ae6cb550cc1dbff7e470a2ebee59 /graphics/inkscape | |
parent | 288ff418e317c245897c0a20d9a08f5c8ec900a3 (diff) | |
download | freebsd-ports-gnome-533202afbfdc96b106fe06759d54790d55dd226d.tar.gz freebsd-ports-gnome-533202afbfdc96b106fe06759d54790d55dd226d.tar.zst freebsd-ports-gnome-533202afbfdc96b106fe06759d54790d55dd226d.zip |
Fix an infinite loop when opening a file. Bump the PORTREVISION.
PR: ports/142903
Submitted by: Thinker K.F. Li <thinker@branda.to>
Diffstat (limited to 'graphics/inkscape')
-rw-r--r-- | graphics/inkscape/Makefile | 2 | ||||
-rw-r--r-- | graphics/inkscape/files/patch-src_document-subset.cpp | 25 |
2 files changed, 26 insertions, 1 deletions
diff --git a/graphics/inkscape/Makefile b/graphics/inkscape/Makefile index 2dc15b0593b6..5297ebbb08db 100644 --- a/graphics/inkscape/Makefile +++ b/graphics/inkscape/Makefile @@ -7,7 +7,7 @@ PORTNAME= inkscape PORTVERSION= 0.47 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= graphics gnome MASTER_SITES= SF diff --git a/graphics/inkscape/files/patch-src_document-subset.cpp b/graphics/inkscape/files/patch-src_document-subset.cpp new file mode 100644 index 000000000000..6f09418b24da --- /dev/null +++ b/graphics/inkscape/files/patch-src_document-subset.cpp @@ -0,0 +1,25 @@ +--- src/document-subset.cpp.orig 2010-01-17 13:47:18.000000000 +0800 ++++ src/document-subset.cpp 2010-01-17 13:49:59.000000000 +0800 +@@ -184,9 +184,6 @@ + + void _doRemove(SPObject *obj) { + Record &record=records[obj]; +- record.release_connection.disconnect(); +- record.position_changed_connection.disconnect(); +- records.erase(obj); + + if ( record.parent == NULL ) { + Record &root = records[NULL]; +@@ -198,6 +195,12 @@ + } + } + ++ /* Record must be ereased after removing from root, or ++ * content of record would be invalided. */ ++ record.release_connection.disconnect(); ++ record.position_changed_connection.disconnect(); ++ records.erase(obj); ++ + removed_signal.emit(obj); + sp_object_unref(obj); + } |