---- audacity-src-1.2.3/src/MeterToolBar.cpp.orig 2004-11-18 07:17:30.000000000 +0100
-+++ audacity-src-1.2.3/src/MeterToolBar.cpp 2005-05-03 15:11:28.885869256 +0200
-@@ -16,6 +16,7 @@
- #include <wx/object.h> // tooltip.h needs this but doesn't include it.
- #include <wx/window.h> // tooltip.h needs this but doesn't include it.
+--- audacity-src-2.0.5/configure.in~ 2013-10-19 09:31:48.000000000 +0200
++++ audacity-src-2.0.5/configure.in 2014-01-15 14:33:23.736199148 +0100
+@@ -294,7 +294,7 @@
+ AC_MSG_NOTICE([Checking that the chosen version of wxWidgets is 2.8.x])
+
+ case "${wx_version}" in
+- 2.8.*)
++ 2.8.*|3.0.*)
+ echo "Great, you're using wxWidgets ${wx_version}!"
+ ;;
+ *)
+@@ -311,7 +311,7 @@
+ ac_configure_args="$ac_configure_args --with-wx-config=\"$WX_CONFIG\""
+
+ dnl Gather wx arguments
+-LIBS="$LIBS `$WX_CONFIG $wxconfigargs --libs`"
++LIBS="$LIBS `$WX_CONFIG $wxconfigargs --libs` -lwx_x11univ_core-3.0"
+ CXXFLAGS="$CXXFLAGS `$WX_CONFIG $wxconfigargs --cxxflags`"
+
+ dnl-----------------------------------------------------------------
+--- audacity-src-2.0.5/lib-src/lib-widget-extra/configure.in~ 2013-10-19 09:31:34.000000000 +0200
++++ audacity-src-2.0.5/lib-src/lib-widget-extra/configure.in 2014-01-15 14:35:09.519583138 +0100
+@@ -142,7 +142,7 @@
+ AC_MSG_NOTICE([Checking that the chosen version of wxWidgets is 2.8.x])
+
+ case "${wx_version}" in
+- 2.8.*)
++ 2.8.*|3.0.*)
+ echo "Great, you're using wxWidgets ${wx_version}!"
+ ;;
+ *)
+--- audacity-src-2.0.5/lib-src/FileDialog/FileDialog.h~ 2013-10-19 09:31:33.000000000 +0200
++++ audacity-src-2.0.5/lib-src/FileDialog/FileDialog.h 2014-01-15 14:48:35.805376488 +0100
+@@ -55,11 +55,11 @@
+ //----------------------------------------------------------------------------
+
+ wxString
+-FileSelector(const wxChar *message = wxFileSelectorPromptStr,
++FileSelector(const wxChar *message = (const wxChar *)wxFileSelectorPromptStr,
+ const wxChar *default_path = NULL,
+ const wxChar *default_filename = NULL,
+ const wxChar *default_extension = NULL,
+- const wxChar *wildcard = wxFileSelectorDefaultWildcardStr,
++ const wxChar *wildcard = (const wxChar *)wxFileSelectorDefaultWildcardStr,
+ int flags = 0,
+ wxWindow *parent = NULL,
+ wxString label = wxEmptyString,
+--- audacity-src-2.0.5/lib-src/FileDialog/gtk/FileDialogPrivate.cpp 2014-01-15 18:42:47.255235243 +0100
++++ audacity-src-2.0.5/lib-src/FileDialog/gtk/FileDialogPrivate.cpp.org 2014-01-15 18:42:42.785091188 +0100
+@@ -18,13 +18,17 @@
+
+ #include "../FileDialog.h"
+
+-#if defined(__WXGTK24__) && (!defined(__WXGPE__))
++
++
++
++#if 1
+
+ #include <gtk/gtk.h>
+ #include "private.h"
+
+ #include <unistd.h> // chdir
+
++#include "wx/defs.h"
+ #include "wx/intl.h"
+ #include "wx/filename.h" // wxFilename
+ #include "wx/tokenzr.h" // wxStringTokenizer
+@@ -299,7 +303,7 @@
+ EndModal(wxID_OK);
+ } else
+ #endif
+- wxGenericFileDialog::OnListOk( event );
++ wxGenericFileDialog::OnOk( event );
+ }
+
+ int FileDialog::ShowModal()
+--- audacity-src-2.0.5/src/Sequence.cpp.org 2014-01-15 18:46:25.845608473 +0100
++++ audacity-src-2.0.5/src/Sequence.cpp 2014-01-15 18:54:18.464160530 +0100
+@@ -1034,8 +1034,8 @@
+ _("Sequence has block file with length %s > mMaxSamples %s.\nTruncating to mMaxSamples."),
+ Internat::ToString(((wxLongLong)(bb->f->GetLength())).ToDouble(), 0).c_str(),
+ Internat::ToString(((wxLongLong)mMaxSamples).ToDouble(), 0).c_str());
+- ::wxMessageBox(sMsg, _("Warning - Length in Writing Sequence"), wxICON_EXCLAMATION | wxOK);
+- ::wxLogWarning(sMsg);
++ wxMessageBox(sMsg, _("Warning - Length in Writing Sequence"), wxICON_EXCLAMATION | wxOK);
++ wxLogWarning(sMsg);
+ bb->f->SetLength(mMaxSamples);
+ }
+
+--- audacity-src-2.0.5/src/AudacityApp.cpp.org 2014-01-15 18:55:56.667324154 +0100
++++ audacity-src-2.0.5/src/AudacityApp.cpp 2014-01-15 19:35:30.704368875 +0100
+@@ -1324,7 +1324,7 @@
+ }
+
+ if (option < argc - 1 &&
+- argv[option + 1] &&
++ !argv[option + 1].IsEmpty() &&
+ !wxString(wxT("-blocksize")).CmpNoCase(argv[option])) {
+ long theBlockSize;
+ if (wxString(argv[option + 1]).ToLong(&theBlockSize)) {
+--- audacity-src-2.0.5/src/AudioIO.cpp~ 2013-10-19 09:31:48.000000000 +0200
++++ audacity-src-2.0.5/src/AudioIO.cpp 2014-01-15 19:36:45.000091144 +0100
+@@ -561,7 +561,7 @@
+ wxString errStr = _("Could not find any audio devices.\n");
+ errStr += _("You will not be able to play or record audio.\n\n");
+ wxString paErrStr = LAT1CTOWX(Pa_GetErrorText(err));
+- if (paErrStr)
++ if (paErrStr != wxEmptyString)
+ errStr += _("Error: ")+paErrStr;
+ // XXX: we are in libaudacity, popping up dialogs not allowed! A
+ // long-term solution will probably involve exceptions
+--- audacity-src-2.0.5/src/CaptureEvents.cpp~ 2013-10-19 09:31:48.000000000 +0200
++++ audacity-src-2.0.5/src/CaptureEvents.cpp 2014-01-15 19:45:04.053070193 +0100
+@@ -76,8 +76,6 @@
+ // temporarily replace the global GDK event handler with our function
+ gdk_event_handler_set((GdkEventFunc)main_do_event, &queue, NULL);
+
+- // temporarily suspend idle callbacks
+- wxTheApp->SuspendIdleCallback();
+ }
+
+ CaptureEvents::~CaptureEvents()
+--- audacity-src-2.0.5/src/CaptureEvents.cpp~ 2014-01-15 19:45:04.000000000 +0100
++++ audacity-src-2.0.5/src/CaptureEvents.cpp 2014-01-15 19:45:45.754464727 +0100
+@@ -59,9 +59,6 @@
+ break;
+ }
+
+- // don't allow idle callbacks while we're active
+- wxTheApp->SuspendIdleCallback();
+-
+ return;
+ }
+
+--- audacity-src-2.0.5/src/Menus.cpp~ 2013-10-19 09:31:48.000000000 +0200
++++ audacity-src-2.0.5/src/Menus.cpp 2014-01-15 19:55:08.146305162 +0100
+@@ -2403,7 +2403,7 @@
+ // The workaround is to queue a context menu event, allowing the key press
+ // event to complete.
+ wxContextMenuEvent e(wxEVT_CONTEXT_MENU, GetId());
+- mTrackPanel->AddPendingEvent(e);
++ mTrackPanel->GetEventHandler()->AddPendingEvent(e);
+ }
+
+ void AudacityProject::OnTrackMute()
+--- audacity-src-2.0.5/src/PitchName.cpp.org 2014-01-15 19:58:21.012574229 +0100
++++ audacity-src-2.0.5/src/PitchName.cpp 2014-01-15 20:07:39.509684788 +0100
+@@ -20,6 +20,12 @@
+ #include <math.h>
+ #include <stdio.h>
+
++#include "wx/defs.h"
++#include "wx/dlimpexp.h"
++#include "wx/wxcrtbase.h"
++#include "wx/wxcrtvararg.h"
++#include "wx/wxcrt.h"
++
+ #include "PitchName.h"
+
+
+--- audacity-src-2.0.5/src/PlatformCompatibility.cpp.org 2014-01-15 20:31:30.447274594 +0100
++++ audacity-src-2.0.5/src/PlatformCompatibility.cpp 2014-01-15 20:31:50.037920878 +0100
+@@ -37,9 +37,8 @@
+ static wxString path;
+
+ if (!found) {
+- wxStandardPaths std;
+
+- path = std.GetExecutablePath();
++ path = wxStandardPaths::Get().GetExecutablePath();
+
+ found = true;
+ }
+@@ -65,4 +64,4 @@
+ #else
+ return filePath;
+ #endif
+-}
+\ Brak znaku nowej linii na końcu pliku
++}
+--- audacity-src-2.0.5/src/Profiler.cpp~ 2013-10-19 09:31:49.000000000 +0200
++++ audacity-src-2.0.5/src/Profiler.cpp 2014-01-15 20:32:39.369547031 +0100
+@@ -20,6 +20,9 @@
+
+ *//*******************************************************************/
+
++#include <stdio.h>
++#include <string.h>
++
+ #include "Profiler.h"
+
+ ///write to a profile at the end of the test.
+@@ -165,4 +168,4 @@
+ else
+ return 0.0;
+ }
+-
+\ Brak znaku nowej linii na końcu pliku
++
+--- audacity-src-2.0.5/src/Project.cpp~ 2014-01-15 20:34:38.000000000 +0100
++++ audacity-src-2.0.5/src/Project.cpp 2014-01-15 20:35:31.352033096 +0100
+@@ -1675,7 +1675,7 @@
+ wxCommandEvent e(EVT_CAPTURE_KEY);
+ e.SetEventObject(&event);
+
+- if (w->ProcessEvent(e)) {
++ if (w->ProcessWindowEvent(e)) {
+ return false;
+ }
+ }
+--- audacity-src-2.0.5/src/TrackPanel.cpp.org 2014-01-15 20:40:41.349305322 +0100
++++ audacity-src-2.0.5/src/TrackPanel.cpp 2014-01-15 20:44:35.530549708 +0100
+@@ -5097,7 +5097,7 @@
+ // The activate event is used to make the
+ // parent window 'come alive' if it didn't have focus.
+ wxActivateEvent e;
+- GetParent()->ProcessEvent(e);
++ GetParent()->GetEventHandler()->ProcessEvent(e);
+
+ // wxTimers seem to be a little unreliable, so this
+ // "primes" it to make sure it keeps going for a while...
+@@ -5534,7 +5534,7 @@
+ int trackKind = pTrack->GetKind();
+ currentTool = selectTool; // the default.
+
+- if( event.ButtonIsDown(3) || event.RightUp()){
++ if( event.ButtonIsDown((wxMouseButton)3) || event.RightUp()){
+ currentTool = zoomTool;
+ } else if( trackKind == Track::Time ){
+ currentTool = envelopeTool;
+@@ -8251,7 +8251,7 @@
+ mSliderOffset = 0;
+
+ int fontSize = 10;
+- mFont.Create(fontSize, wxSWISS, wxNORMAL, wxNORMAL);
++ mFont.Create(fontSize, wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL);
+
+ int allowableWidth = GetTrackInfoWidth() - 2; // 2 to allow for left/right borders
+ int textWidth, textHeight;
+--- audacity-src-2.0.5/src/UploadDialog.cpp.org 2014-01-15 21:26:09.207158042 +0100
++++ audacity-src-2.0.5/src/UploadDialog.cpp 2014-01-15 21:36:01.093744587 +0100
+@@ -113,12 +113,12 @@
+ icons->Add(*mp3Icon);
+ icons->Add(*upIcon);
+
+- wxFlexGridSizer *topSizer = new wxFlexGridSizer(2, 1);
++ wxFlexGridSizer *topSizer = new wxFlexGridSizer(2, 1, 0);
+ wxStaticBoxSizer *connectionBox = new wxStaticBoxSizer(new wxStaticBox(this, -1, wxT("FTP Connection"), wxDefaultPosition, wxDefaultSize, 0, wxT("")), wxVERTICAL);
+ wxStaticBoxSizer *fileBox = new wxStaticBoxSizer(new wxStaticBox(this, -1, wxT("File Manager"), wxDefaultPosition, wxDefaultSize, 0, wxT("")), wxVERTICAL);
+ wxStaticBoxSizer *siteBox = new wxStaticBoxSizer(new wxStaticBox(this, -1, wxT("Site Manager"), wxDefaultPosition, wxDefaultSize, 0, wxT("")), wxVERTICAL);
+
+- wxFlexGridSizer *connectionSizer = new wxFlexGridSizer(2, 4);
++ wxFlexGridSizer *connectionSizer = new wxFlexGridSizer(2, 4, 0);
+ wxBoxSizer *leftSizer = new wxBoxSizer(wxVERTICAL);
+ wxBoxSizer *rightSizer = new wxBoxSizer(wxVERTICAL);
+ wxBoxSizer *fileButtonSizer = new wxBoxSizer(wxHORIZONTAL);
+--- audacity-src-2.0.5/src/commands/ScriptCommandRelay.cpp~ 2013-10-19 09:31:52.000000000 +0200
++++ audacity-src-2.0.5/src/commands/ScriptCommandRelay.cpp 2014-01-15 21:38:44.739235286 +0100
+@@ -57,7 +57,7 @@
+ wxASSERT(cmd != NULL);
+ AppCommandEvent ev;
+ ev.SetCommand(cmd);
+- project->AddPendingEvent(ev);
++ project->GetEventHandler()->AddPendingEvent(ev);
+ }
+
+ /// This is the function which actually obeys one command. Rather than applying
+--- audacity-src-2.0.5/src/effects/BassTreble.cpp~ 2014-01-15 21:52:07.000000000 +0100
++++ audacity-src-2.0.5/src/effects/BassTreble.cpp 2014-01-15 21:54:22.387472634 +0100
+@@ -35,6 +35,7 @@
+ #include <wx/checkbox.h>
+ #include <wx/slider.h>
+ #include <wx/sizer.h>
++#include <wx/textctrl.h>
+
+ // Used to communicate the type of the filter.
+ static const int bassType = 0; //Low Shelf
+--- audacity-src-2.0.5/src/effects/Compressor.cpp~ 2013-10-19 09:31:50.000000000 +0200
++++ audacity-src-2.0.5/src/effects/Compressor.cpp 2014-01-15 21:56:28.328381464 +0100
+@@ -39,6 +39,7 @@
+ #include <wx/brush.h>
+ #include <wx/image.h>
+ #include <wx/dcmemory.h>
++#include <wx/dcclient.h>
+
+ #include "Compressor.h"
+ #include "../ShuttleGui.h"
+--- audacity-src-2.0.5/src/import/ImportRaw.cpp~ 2013-10-19 09:31:52.000000000 +0200
++++ audacity-src-2.0.5/src/import/ImportRaw.cpp 2014-01-15 22:08:33.731103084 +0100
+@@ -324,7 +324,7 @@
+
+ if (sf_format_check(&info)) {
+ mEncodingSubtype[mNumEncodings] = subtype;
+- encodings.Add(LAT1CTOWX(sf_encoding_index_name(i)));
++ encodings.Add(wxString (sf_encoding_index_name(i).wc_str(), wxConvISO8859_1));
+
+ if ((mEncoding & SF_FORMAT_SUBMASK) == subtype)
+ selection = mNumEncodings;
+--- audacity-src-2.0.5/src/ondemand/ODManager.cpp~ 2013-10-19 09:31:48.000000000 +0200
++++ audacity-src-2.0.5/src/ondemand/ODManager.cpp 2014-01-15 22:09:57.850563760 +0100
+@@ -311,7 +311,7 @@
+ AudacityProject::AllProjectsDeleteLock();
+ AudacityProject* proj = GetActiveProject();
+ if(proj)
+- proj->AddPendingEvent( event );
++ proj->GetEventHandler()->AddPendingEvent( event );
+ AudacityProject::AllProjectsDeleteUnlock();
+ }
+ mTerminateMutex.Lock();
+--- audacity-src-2.0.5/src/ondemand/ODTask.cpp~ 2013-10-19 09:31:48.000000000 +0200
++++ audacity-src-2.0.5/src/ondemand/ODTask.cpp 2014-01-15 22:10:33.568417325 +0100
+@@ -158,7 +158,7 @@
+ if(IsTaskAssociatedWithProject(gAudacityProjects[i]))
+ {
+ //this assumes tasks are only associated with one project.
+- gAudacityProjects[i]->AddPendingEvent( event );
++ gAudacityProjects[i]->GetEventHandler()->AddPendingEvent( event );
+ //mark the changes so that the project can be resaved.
+ gAudacityProjects[i]->GetUndoManager()->SetODChangesFlag();
+ break;
+--- audacity-src-2.0.5/src/prefs/KeyConfigPrefs.cpp~ 2013-10-19 09:31:49.000000000 +0200
++++ audacity-src-2.0.5/src/prefs/KeyConfigPrefs.cpp 2014-01-15 22:11:54.407771374 +0100
+@@ -992,7 +992,7 @@
+ nevent.SetDirection(!e.ShiftDown());
+ nevent.SetEventObject(t);
+ nevent.SetCurrentFocus(t);
+- t->GetParent()->ProcessEvent(nevent);
++ t->GetParent()->GetEventHandler()->ProcessEvent(nevent);
+
+ return;
+ }
+
+--- audacity-src-2.0.5/src/Tags.cpp~ 2013-10-19 09:31:52.000000000 +0200
++++ audacity-src-2.0.5/src/Tags.cpp 2014-01-18 21:43:27.834969194 +0100
+@@ -482,7 +482,7 @@
+
+ while (*attrs) {
+ wxString attr = *attrs++;
+- if (!*attr)
++ if (attr.IsEmpty())
+ break;
+ wxString value = *attrs++;
+
+--- audacity-src-2.0.5/src/toolbars/DeviceToolBar.cpp~ 2013-10-19 09:31:49.000000000 +0200
++++ audacity-src-2.0.5/src/toolbars/DeviceToolBar.cpp 2014-01-18 21:53:51.332343784 +0100
+@@ -70,10 +70,6 @@
+ void DeviceToolBar::Create(wxWindow *parent)
+ {
+ ToolBar::Create(parent);
+-
+- // Simulate a size event to set initial meter placement/size
+- wxSizeEvent dummy;
+- OnSize(dummy);
+ }
+
+ void DeviceToolBar::RecreateTipWindows()
+--- audacity-src-2.0.5/src/toolbars/ToolsToolBar.cpp~ 2013-10-19 09:31:49.000000000 +0200
++++ audacity-src-2.0.5/src/toolbars/ToolsToolBar.cpp 2014-01-18 21:55:38.645899664 +0100
+@@ -59,7 +59,7 @@
+
+ // Strings to convert a tool number into a status message
+ // These MUST be in the same order as the ids above.
+-static const wxChar * MessageOfTool[numTools] = {
++static const char * MessageOfTool[numTools] = {
+ wxTRANSLATE("Click and drag to select audio"),
+ wxTRANSLATE("Click and drag to edit the amplitude envelope"),
+ wxTRANSLATE("Click and drag to edit the samples"),
+@@ -71,7 +71,7 @@
+ wxTRANSLATE("Left=Zoom In, Right=Zoom Out, Middle=Normal"),
+ #endif
+ wxTRANSLATE("Click and drag to move a track in time"),
+- wxT("") // multi-mode tool
++ "" // multi-mode tool
+ };
+
+ ////////////////////////////////////////////////////////////
+--- audacity-src-2.0.5/src/widgets/ImageRoll.h~ 2013-10-19 09:31:50.000000000 +0200
++++ audacity-src-2.0.5/src/widgets/ImageRoll.h 2014-01-18 21:59:51.830959923 +0100
+@@ -15,6 +15,7 @@
+ #include <wx/defs.h>
+ #include <wx/dynarray.h>
+ #include <wx/panel.h>
++#include <wx/dc.h>
+
+ WX_DECLARE_OBJARRAY(wxBitmap, BitmapArray);
+ WX_DECLARE_OBJARRAY(wxImage, ImageArray);
+@@ -48,7 +49,7 @@
+ protected:
+
+ void DrawBitmap(wxDC &dc, wxBitmap &bitmap,
+- int x, int y, int logicalFunc = wxCOPY);
++ int x, int y, wxRasterOperationMode logicalFunc = wxCOPY);
+
+ void Init(RollType type, const wxImage &src, wxColour magicColor);
+
+--- audacity-src-2.0.5/src/widgets/ImageRoll.cpp~ 2013-10-19 09:31:50.000000000 +0200
++++ audacity-src-2.0.5/src/widgets/ImageRoll.cpp 2014-01-18 22:00:44.529374296 +0100
+@@ -100,6 +100,7 @@
+ #include <wx/bitmap.h>
+ #include <wx/dcmemory.h>
+ #include <wx/image.h>
++#include <wx/dcclient.h>
+
+ WX_DEFINE_OBJARRAY(BitmapArray);
+ WX_DEFINE_OBJARRAY(ImageArray);
+@@ -299,7 +300,7 @@
+ }
+
+ void ImageRoll::DrawBitmap(wxDC &dc, wxBitmap &bitmap,
+- int x, int y, int logicalFunc)
++ int x, int y, wxRasterOperationMode logicalFunc)
+ {
+ if (logicalFunc == wxCOPY)
+ dc.DrawBitmap(bitmap, x, y);
+--- audacity-src-2.0.5/src/widgets/ASlider.cpp~ 2013-10-19 09:31:50.000000000 +0200
++++ audacity-src-2.0.5/src/widgets/ASlider.cpp 2014-01-18 22:02:45.678817685 +0100
+@@ -1191,7 +1191,7 @@
+ nevent.SetDirection( !event.ShiftDown() );
+ nevent.SetEventObject( mParent );
+ nevent.SetCurrentFocus( mParent );
+- mParent->GetParent()->ProcessEvent( nevent );
++ mParent->GetParent()->ProcessWindowEvent( nevent );
+ }
+ break;
+
+@@ -1203,7 +1203,7 @@
+ if (def && def->IsEnabled()) {
+ wxCommandEvent cevent(wxEVT_COMMAND_BUTTON_CLICKED,
+ def->GetId());
+- mParent->ProcessEvent(cevent);
++ mParent->ProcessWindowEvent(cevent);
+ }
+ }
+
+@@ -1228,7 +1228,7 @@
+ int intValue = (int)( ( mCurrentValue - mMinValue ) * 1000.0f /
+ ( mMaxValue - mMinValue ) );
+ e.SetInt( intValue );
+- mParent->ProcessEvent( e );
++ mParent->ProcessWindowEvent( e );
+ }
+
+ int LWSlider::ValueToPosition(float val)
+--- audacity-src-2.0.5/src/widgets/ExpandingToolBar.cpp~ 2013-10-19 09:31:50.000000000 +0200
++++ audacity-src-2.0.5/src/widgets/ExpandingToolBar.cpp 2014-01-18 22:11:30.136223627 +0100
+@@ -77,6 +77,7 @@
+ #include <wx/dragimag.h>
+ #include <wx/arrimpl.cpp>
+ #include <wx/dialog.h>
++#include <wx/dcclient.h>
+
+ #include "ExpandingToolBar.h"
+ #include "AButton.h"
+--- audacity-src-2.0.5/src/widgets/Grabber.cpp~ 2013-10-19 09:31:50.000000000 +0200
++++ audacity-src-2.0.5/src/widgets/Grabber.cpp 2014-01-18 22:12:27.131449284 +0100
+@@ -89,7 +89,7 @@
+ e.SetEventObject(parent);
+
+ // Queue the event
+- parent->AddPendingEvent(e);
++ parent->GetEventHandler()->AddPendingEvent(e);
+ }
+
+ //
+--- audacity-src-2.0.5/src/widgets/Grid.cpp.org 2014-01-18 22:14:27.708786335 +0100
++++ audacity-src-2.0.5/src/widgets/Grid.cpp 2014-01-18 22:16:29.522831589 +0100
+@@ -26,16 +26,18 @@
+ #include "Grid.h"
+ #include "TimeTextCtrl.h"
+
+-TimeEditor::TimeEditor()
++TimeEditor::TimeEditor() :
++ mFormat(wxT("seconds")),
++ mRate(44100),
++ mOld(0.0)
+ {
+- TimeEditor(wxT("seconds"), 44100);
+ }
+
+-TimeEditor::TimeEditor(const wxString &format, double rate)
++TimeEditor::TimeEditor(const wxString &format, double rate) :
++ mFormat(format),
++ mRate(rate),
++ mOld(0.0)
+ {
+- mFormat = format;
+- mRate = rate;
+- mOld = 0.0;
+ }
+
+ TimeEditor::~TimeEditor()
+@@ -499,7 +501,7 @@
+ if (def && def->IsEnabled()) {
+ wxCommandEvent cevent(wxEVT_COMMAND_BUTTON_CLICKED,
+ def->GetId());
+- GetParent()->ProcessEvent(cevent);
++ GetParent()->ProcessWindowEvent(cevent);
+ }
+ }
+ else {
+--- audacity-src-2.0.5/src/widgets/Grid.h 2014-01-18 22:24:05.184633440 +0100
++++ audacity-src-2.0.5/src/widgets/Grid.h.org 2014-01-18 22:21:44.749968295 +0100
+@@ -53,6 +53,9 @@
+
+ void BeginEdit(int row, int col, wxGrid *grid);
+ bool EndEdit(int row, int col, wxGrid *grid);
++ bool EndEdit(int WXUNUSED(row), int WXUNUSED(col), const wxGrid * WXUNUSED(grid),
++ const wxString& WXUNUSED(oldval), wxString * WXUNUSED(newval)) {return false;};
++ void ApplyEdit(int WXUNUSED(row), int WXUNUSED(col), wxGrid* WXUNUSED(grid)) {};
+
+ void Reset();
+
+@@ -128,6 +125,9 @@
+
+ void BeginEdit(int row, int col, wxGrid *grid);
+ bool EndEdit(int row, int col, wxGrid *grid);
++ bool EndEdit(int WXUNUSED(row), int WXUNUSED(col), const wxGrid * WXUNUSED(grid),
++ const wxString& WXUNUSED(oldval), wxString * WXUNUSED(newval)) {return false;};
++ void ApplyEdit(int WXUNUSED(row), int WXUNUSED(col), wxGrid* WXUNUSED(grid)) {};
+
+ void Reset();
+
+--- audacity-src-2.0.5/src/widgets/TimeTextCtrl.cpp 2013-10-19 09:31:50.000000000 +0200
++++ audacity-src-2.0.5/src/widgets/TimeTextCtrl.cpp 2014-01-18 22:29:03.714552995 +0100
+@@ -176,6 +176,7 @@
+ #include <wx/stattext.h>
#include <wx/tooltip.h>
+ #include <wx/toplevel.h>
+#include <wx/dcclient.h>
- #include "MeterToolBar.h"
+ #ifdef _DEBUG
+ #ifdef _MSC_VER
+@@ -425,7 +426,7 @@
+ {
+ wxCommandEvent e(EVT_RELEASE_KEYBOARD);
+ e.SetEventObject(this);
+- GetParent()->GetEventHandler()->ProcessEvent(e);
++ GetParent()->ProcessWindowEvent(e);
+
+ if (mBackgroundBitmap)
+ delete mBackgroundBitmap;
+@@ -1044,7 +1045,7 @@
+ e.SetEventType(EVT_RELEASE_KEYBOARD);
+ }
+ e.SetEventObject(this);
+- GetParent()->GetEventHandler()->ProcessEvent(e);
++ GetParent()->ProcessWindowEvent(e);
+
+ Refresh(false);
+ }
+@@ -1160,7 +1161,7 @@
+ nevent.SetDirection(!event.ShiftDown());
+ nevent.SetEventObject(parent);
+ nevent.SetCurrentFocus(parent);
+- GetParent()->ProcessEvent(nevent);
++ GetParent()->ProcessWindowEvent(nevent);
+ }
+
+ else if (keyCode == WXK_RETURN || keyCode == WXK_NUMPAD_ENTER) {
+@@ -1169,7 +1170,7 @@
+ if (def && def->IsEnabled()) {
+ wxCommandEvent cevent(wxEVT_COMMAND_BUTTON_CLICKED,
+ def->GetId());
+- GetParent()->ProcessEvent(cevent);
++ GetParent()->ProcessWindowEvent(cevent);
+ }
+ }
+
+@@ -1218,7 +1219,7 @@
+ {
+ wxCommandEvent event(wxEVT_COMMAND_TEXT_UPDATED, GetId());
+ event.SetEventObject(this);
+- GetEventHandler()->ProcessEvent(event);
++ ProcessWindowEvent(event);
+
+ #if wxUSE_ACCESSIBILITY
+ GetAccessible()->NotifyEvent(wxACC_EVENT_OBJECT_NAMECHANGE,
+--- audacity-src-2.0.5/src/xml/XMLWriter.cpp~ 2013-10-19 09:31:48.000000000 +0200
++++ audacity-src-2.0.5/src/xml/XMLWriter.cpp 2014-01-18 22:31:17.405663293 +0100
+@@ -246,7 +246,7 @@
+ mHasKids[0] = true;
+ }
+
+- Write(value.c_str());
++ Write(value);
+ }
+
+ void XMLWriter::WriteSubTree(const wxChar *value)
+--- audacity-src-2.0.5/src/effects/nyquist/Nyquist.cpp~ 2013-10-19 09:31:50.000000000 +0200
++++ audacity-src-2.0.5/src/effects/nyquist/Nyquist.cpp 2014-01-18 22:32:46.528625569 +0100
+@@ -701,7 +701,8 @@
+ // See also http://bugzilla.audacityteam.org/show_bug.cgi?id=642#c9
+ // for further info about this thread safety question.
+ wxString prevlocale = wxSetlocale(LC_NUMERIC, NULL);
+- wxSetlocale(LC_NUMERIC, wxT("C"));
++ wxString C(wxT("C"));
++ wxSetlocale(LC_NUMERIC, C);
+
+ nyx_init();
+ nyx_set_os_callback(StaticOSCallback, (void *)this);
+--- audacity-src-2.0.5/src/PitchName.cpp~ 2014-01-18 22:36:45.000000000 +0100
++++ audacity-src-2.0.5/src/PitchName.cpp 2014-01-18 22:36:48.306661815 +0100
+@@ -20,6 +20,8 @@
+ #include <math.h>
+ #include <stdio.h>
+
++#include <wx/string.h>
++
+ #include "PitchName.h"
+
+
+--- audacity-src-2.0.5/src/LyricsWindow.cpp.org 2014-01-18 22:45:15.566855563 +0100
++++ audacity-src-2.0.5/src/LyricsWindow.cpp 2014-01-19 00:21:21.443062502 +0100
+@@ -68,11 +68,10 @@
+ // loads either the XPM or the windows resource, depending on the platform
+ #if !defined(__WXMAC__) && !defined(__WXX11__)
+ #ifdef __WXMSW__
+- wxIcon ic(wxICON(AudacityLogo));
++ SetIcon(wxICON(AudacityLogo));
+ #else
+- wxIcon ic(wxICON(AudacityLogo48x48));
++ SetIcon(wxICON(AudacityLogo48x48));
+ #endif
+- SetIcon(ic);
+ #endif
+
+ wxPoint panelPos(0, 0);
+--- audacity-src-2.0.5/src/MixerBoard.cpp~ 2013-10-19 09:31:50.000000000 +0200
++++ audacity-src-2.0.5/src/MixerBoard.cpp 2014-01-19 00:22:04.117814479 +0100
+@@ -1723,11 +1723,10 @@
+ // loads either the XPM or the windows resource, depending on the platform
+ #if !defined(__WXMAC__) && !defined(__WXX11__)
+ #ifdef __WXMSW__
+- wxIcon ic(wxICON(AudacityLogo));
++ SetIcon(wxICON(AudacityLogo));
+ #else
+- wxIcon ic(wxICON(AudacityLogo48x48));
++ SetIcon(wxICON(AudacityLogo48x48));
+ #endif
+- SetIcon(ic);
+ #endif
+ }
+
+--- audacity-src-2.0.5/src/Project.cpp~ 2014-01-18 22:40:12.000000000 +0100
++++ audacity-src-2.0.5/src/Project.cpp 2014-01-19 00:23:07.386584398 +0100
+@@ -981,14 +981,14 @@
+ // loads either the XPM or the windows resource, depending on the platform
+ #if !defined(__WXMAC__) && !defined(__WXX11__)
+ #if defined(__WXMSW__)
+- wxIcon ic(wxICON(AudacityLogo));
++ SetIcon(wxICON(AudacityLogo));
+ #elif defined(__WXGTK__)
+- wxIcon ic(wxICON(AudacityLogoAlpha));
++ SetIcon(wxICON(AudacityLogoAlpha));
+ #else
+ wxIcon ic;
+ ic.CopyFromBitmap(theTheme.Bitmap(bmpAudacityLogo48x48));
++ SetIcon(ic);
+ #endif
+- SetIcon(ic);
+ #endif
+ mIconized = false;