Package: audacity / 2.0.6-2
Metadata
Package | Version | Patches format |
---|---|---|
audacity | 2.0.6-2 | 3.0 (quilt) |
Patch series
view the series filePatch | File delta | Description |
---|---|---|
fix minsrc autoreconf.patch | (download) |
lib-src/Makefile.am |
2 1 + 1 - 0 ! |
fix autoreconf for the minimal audacity source tarball. The minimal audacity source tarball does not ship every library in lib-src. |
wxWidgets 3.0.patch | (download) |
configure.ac |
26 13 + 13 - 0 ! |
compile audacity against wxwidgets 3.0 Solved compilation issues: (1.) Allow wxWidgets 3.0 in various configure scripts. (2.) The file dialog was derived from an internal wx class that disappeared in wx3.0 (discussed in further detail below). (3.) In several places the types in interfaces changed between wxChar* and wxString. I've tried to modify the code so it works with both interfaces (thanks to implicit conversion; may look a bit weird in some places). (4.) Calls to "wxTheApp->SuspendIdleCallback()" are no longer supported. They were part of a workaround for a clipboard problem, which fortunately doesn't seem to be there any longer in wx3.0, so I deactivated it for wx3.0. (5.) AddPendingEvent() and ProcessEvent() now have the visibility "protected" in wxWindow. It has always been a bad idea to call them directly on a wxWindow object, but now it's explicitly forbidden. Instead, those functions should be called on the object returned by GetEventHandler(). (6.) The class wxStandardPaths is now a singleton and has to be treated as such (no more explicit constructor calls). (7.) "wxLogWarning" is a macro now, so the "::" prefix doesn't work on it anymore. (8.) Several int types (which were actually used as enums) are now real enum types (e.g. wxRasterOperationMode, wxMouseButton) and have to be used as such. (9.) Apart from the FD constants (which have been fixed in Olly's patch already) there are some other constants which have received a prefix (e.g. wx* -> wxFONTFAMILY_*, wx* -> wxFONTSTYLE_*, wx* -> wxFONTWEIGHT_*). (10.) Signature changes in constructors of wxFlexGridSizer and wxIcon and wxSizeEvent (11.) Missing includes (missing header files were probably included indirectly in wx2.8 by chance) (12.) When deriving from the abstract class wxGridTableBase, |
clang ftbfs.patch | (download) |
lib-src/libnyquist/nyquist/ffts/src/fftlib.c |
48 24 + 24 - 0 ! |
fix build failure with clang Fixed undefined reference error in lib-src/libnyquist/nyquist/ffts/src/fftlib.c |
fix cursor recapturing sliders.patch | (download) |
src/widgets/ASlider.cpp |
4 3 + 1 - 0 ! |
fix cursor recapturing in track panel sliders wxWidgets 3.0 has added a lot of asserts to detect incorrect usage of its APIs. Now capturing the cursor, when it's already captured, throughs an assertion failure. This can be the case in the track panel sliders because the sliders capture the cursor themselves (because they are also used in other places outside the track panel, where this is actually necessary), but the track panel also manages the cursor capturing because it needs it for other operations. Fix the recapturing problem by letting the sliders capture the cursor only if necessary. |
workaround wxwidgets fit recovery.patch | (download) |
src/AutoRecovery.cpp |
23 23 + 0 - 0 ! |
workaround for wx bug causing layout problems in recovery dialog Workaround for a bug in wxWidgets 3.0 that causes the Fit() function to fail in certain desktop environments (gnome, xfce) before the first window of the same style class is shown on screen (http://trac.wxwidgets.org/ticket/16440). As a workaround, call Fit() and other methods that depend on its results again *after* we know that the window has been shown. While the bug may affect other calls to Fit() on a low level, the workaround is necessary only for the recovery dialog, which is particularly vulnerable because: 1. It is shown very, very early in the program execution and therefore very likely to be the first dialog of its style class shown on screen. 2. It doesn't have scrollbars or flexible-size controls that could compensate the wrong dialog size. |
wxwidgets clipboard reentry workaround.patch | (download) |
src/Project.cpp |
10 7 + 3 - 0 ! |
workaround for wxwidgets bug: reentry in clipboard The wxWidgets bug http://trac.wxwidgets.org/ticket/16636 prevents us from doing clipboard operations in wxShowEvent and wxTimerEvent processing because those event could possibly be processed during the (not sufficiently protected) Yield() of a first clipboard operation, causing reentry. Audacity had a workaround in place for this problem (the class "CaptureEvents"), which however isn't applicable with wxWidgets 3.0 because it's based on changing the gdk event handler, a change that would be overridden by wxWidgets's own gdk event handler change. Instead, as a new workaround, specifically protect those processings of wxShowEvent and wxTimerEvent that try to do clipboard operations from being executed within Yield(). This is done by delaying their execution by posting pure wxWidgets events - which are never executed during Yield(). |
wxwidgets effect dialogs segfault.patch | (download) |
src/effects/lv2/LV2Effect.cpp |
4 2 + 2 - 0 ! |
fix effect dialog segfault due to events before initialization Both the LV2EffectDialog and the VampEffectDialog receive EVT_TEXT events before they are properly initialized. To prevent this, a workaround was already in place, but was only active on Windows. Activated the workaround for wxGTK with wxWidgets >= 3.0, too. |