rpms/calf/F-13 calf.git-4e589965840bbd15c967991a4229e87dc262a101.patch, NONE, 1.1 calf.spec, 1.4, 1.5

Orcan Ogetbil oget at fedoraproject.org
Thu Jul 15 04:00:38 UTC 2010


Author: oget

Update of /cvs/pkgs/rpms/calf/F-13
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv20747

Modified Files:
	calf.spec 
Added Files:
	calf.git-4e589965840bbd15c967991a4229e87dc262a101.patch 
Log Message:
* Wed Jul 14 2010 Orcan Ogetbil <oget[DOT]fedora[AT]gmail[DOT]com> - 0.0.18.5-4
- Fix ladspa_wrapper crash RHBZ#600713


calf.git-4e589965840bbd15c967991a4229e87dc262a101.patch:
 ladspa_wrap.h |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

--- NEW FILE calf.git-4e589965840bbd15c967991a4229e87dc262a101.patch ---
From: Krzysztof Foltman <wdev at foltman.com>
Date: Fri, 9 Jul 2010 07:03:06 +0000 (+0100)
Subject: Attempt to fix the Rosegarden crash.
X-Git-Url: http://repo.or.cz/w/calf.git/commitdiff_plain/4e589965840bbd15c967991a4229e87dc262a101?hp=4fbb849c7f69d9e52c7ddd73e0bad0970f235891

Attempt to fix the Rosegarden crash.

Rosegarden seems to unload the plugins after discovery, which interferes with
the cleanup of local static objects (like one created in ladspa_wrapper::get).
This workaround causes the wrapper object to never be cleaned up, which causes
a memory leak, but fixes the crash. Obviously, if this works, I will have to
convert it into a proper fix using __attribute__((destructor)).
---

diff --git a/src/calf/ladspa_wrap.h b/src/calf/ladspa_wrap.h
index 250b556..85c27a6 100644
--- a/src/calf/ladspa_wrap.h
+++ b/src/calf/ladspa_wrap.h
@@ -506,8 +506,9 @@ struct ladspa_wrapper
     
     /// Get a wrapper singleton - used to prevent initialization order problems which were present in older versions
     static ladspa_wrapper &get() { 
-        static ladspa_wrapper instance;
-        return instance;
+        static ladspa_wrapper *instance = new ladspa_wrapper;
+        // never destroyed, but that's OK - otherwise it may run into problems with hosts that unload plugins after discovery
+        return *instance;
     }
 };
 


Index: calf.spec
===================================================================
RCS file: /cvs/pkgs/rpms/calf/F-13/calf.spec,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -p -r1.4 -r1.5
--- calf.spec	24 Jul 2009 18:38:36 -0000	1.4
+++ calf.spec	15 Jul 2010 04:00:38 -0000	1.5
@@ -1,6 +1,6 @@
 Name:		calf
 Version:	0.0.18.5
-Release:	3%{?dist}
+Release:	4%{?dist}
 Summary:	Audio plugins pack
 Group:		Applications/Multimedia
 # The jackhost code is GPLv2+ 
@@ -13,8 +13,11 @@ URL:		http://calf.sourceforge.net/
 Source0:	http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
 Source1:	%{name}-dssi.desktop
 # LV2: use correct LADSPA URIs
-# http://repo.or.cz/w/calf.git?a=commit;h=fb526c311c4ab401986b7d559d32732d6acd7cde
+# http://repo.or.cz/w/calf.git/commit/fb526c311c4ab401986b7d559d32732d6acd7cde
 Patch0:		%{name}.git-fb526c311c4ab401986b7d559d32732d6acd7cde.patch
+# Fix ladspa_wrapper crash RHBZ#600713
+# http://repo.or.cz/w/calf.git/commit/4e589965840bbd15c967991a4229e87dc262a101
+Patch1:		%{name}.git-4e589965840bbd15c967991a4229e87dc262a101.patch
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:	desktop-file-utils
@@ -80,6 +83,7 @@ This package contains DSSI synthesizers 
 %prep
 %setup -q
 %patch0 -p1 -b .ladspa_uri
+%patch1 -p1
 
 # Make sure that optflags are not overriden.
 sed -i 's|-O3||' configure
@@ -160,6 +164,9 @@ gtk-update-icon-cache %{_datadir}/icons/
 %{_libdir}/dssi/%{name}.so
 
 %changelog
+* Wed Jul 14 2010 Orcan Ogetbil <oget[DOT]fedora[AT]gmail[DOT]com> - 0.0.18.5-4
+- Fix ladspa_wrapper crash RHBZ#600713
+
 * Fri Jul 24 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.0.18.5-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
 



More information about the scm-commits mailing list