Paul Licameli
2cbdd1cc43
Exception safety in: ControlToolBar & Ruler functions...
...
... because SetupCutPreviewTracks has a small chance of throwing for want
of disk space.
StopStream however is considered nonthrowing.
2017-03-21 14:11:23 -04:00
Paul Licameli
0bb6a3d971
Exception safety in: importing functions...
...
... Side effects on preferences may persist even after errors.
2017-03-21 14:11:23 -04:00
Paul Licameli
0c8bedc59a
Exception safety in: subclasses of ExportPlugin; and more error checking
2017-03-21 14:11:22 -04:00
Paul Licameli
48459404a5
Exception safety in: general exporting routines
2017-03-21 14:11:22 -04:00
Paul Licameli
464828d88f
Exception safety in: batch processing
2017-03-21 14:11:21 -04:00
Paul Licameli
abbe9276f0
Exception safety in: CommandManager
2017-03-21 14:11:21 -04:00
Paul Licameli
40aa70a255
Exception safety for Edit toolbar button presses
2017-03-21 14:11:21 -04:00
Paul Licameli
664974d3ff
Exception safety in: ondemand
2017-03-21 14:11:20 -04:00
Paul Licameli
195732f074
Exception safety in: BatchCommands
2017-03-21 14:11:20 -04:00
Paul Licameli
1a90b7d942
TimerRecordDialog: comment why nothing need be done for exceptions
2017-03-21 14:11:20 -04:00
Paul Licameli
63e44e2b6b
Rearrange a few things in time shift button up...
...
... to reclaim some memory earlier, before possible throws
2017-03-21 14:11:19 -04:00
Paul Licameli
68c726918b
If exception in cut/copy, leave clipboard clear (no partial results)
2017-03-21 14:11:19 -04:00
Paul Licameli
41f1ebfb5d
Commit resampling of tracks to undo history one track at a time
2017-03-21 14:11:18 -04:00
Paul Licameli
82dd7545c9
Reviewed uses of release(); prefer Destroy_ptr to hold window objects
2017-03-21 14:11:18 -04:00
Paul Licameli
7927fe065f
Fix move constructors and assignments of AudacityException classes
2017-03-21 14:11:17 -04:00
Paul Licameli
e9a4fc8354
fix the XML writer -- don't throw if target path did not previously exist.
2017-03-21 14:11:17 -04:00
Paul Licameli
12e3d1d2e2
Small correction to parsing of LOF file
2017-03-21 11:21:25 -04:00
James Crook
5e3a4fa29d
Name Record Beside menu option correctly.
2017-03-21 13:31:33 +00:00
Paul Licameli
52fd607b42
Sequence::AppendBlock and Sequence::Blockify are static
2017-03-20 17:49:03 -04:00
Paul Licameli
2677796b0c
Zero and return false for all failures to read block file summary...
...
... Though in the only place where these summaries are used, which is
Sequence::GetWaveDisplay, we ignore the correctly reported error code anyway.
Also RAII in management of relevant memory buffers and mutexes.
2017-03-20 17:49:03 -04:00
Paul Licameli
7b7ad75a49
Remove Sequence::CopyWrite and needless file reads in Sequence::Set
2017-03-20 17:49:03 -04:00
James Crook
c6b4e2fffe
Add code to capture menus
...
So far, this only walks the menus, printing out their contents to debug.
2017-03-20 17:06:29 +00:00
David Bailes
879579475d
Fix for bug 1611: after select none, temporary in-correctness
...
After select none, the timeline and selection times are temporarily not updated.
Fix: AudacityProject::SelectNone refreshes the TrackPanel, so call it after changing the SelectedRegion.
2017-03-20 15:06:59 +00:00
David Bailes
ec7fe2dfcc
Fix for bug 613: menu key deselects track.
...
When the menu key is pressed, mouse events are also generated, and one of these was interpreted as a mouse click outside the tracks, which deselected the tracks.
A possible fix would have been to make a change in TrackPanel::HandleTrackSpecificMouseEvent() so that only left clicks outside of tracks would deselect tracks.
However, I decided that a better fix was to modify TrackPanel::OnMouseEvent to ignore the mouse events generated when the menu key is pressed. This should prevent these mouse events from causing bugs in any new code.
2017-03-20 13:33:24 +00:00
James Crook
5b9ae95930
Bug 1610 - Unable to save projects
...
We were throwing an exception for attempting to delete a file that was not there.
2017-03-20 11:53:39 +00:00
James Crook
8f71aa67df
Allow same command more than once in the menus.
...
Pause appears in both Record and Play, and we want the P shortcut to work.
2017-03-19 19:32:35 +00:00
James Crook
148fc40b78
Restore menu items removed for DarkAudacity.
...
I'm not sure how useful they are, but Audacity may want them still.
Changed 'Store' to 'Save' to avoid confusion with 'Restore'.
2017-03-19 18:52:39 +00:00
James Crook
5c1f4d24b5
Menu rearrangement merged from DarkAudacity
2017-03-19 16:43:51 +00:00
James Crook
e78d209a68
GPL v2 and CC BY 3.0
...
Missing Version numbers.
2017-03-19 13:59:19 +00:00
James Crook
439edae203
Update source files.
...
Used autoreconf --no-recursive --install to do this.
2017-03-18 20:13:39 +00:00
James Crook
748e718395
Workaround for FLAC__MAX_METADATA_TYPE not defined.
2017-03-18 19:44:12 +00:00
James Crook
47fb879157
Don't translate the empty string.
2017-03-18 18:04:56 +00:00
James Crook
e94fa1d65e
Fix compilation on MSVC2013 Express.
...
MSVC2013 Express does not support some initialisation syntax for structs and instead gives error C2905.
This workaround to get us compiling again may need revisiting.
2017-03-18 16:07:15 +00:00
Paul Licameli
3bb04245c5
Strong exception safety in all uses of XMLFileWriter...
...
... Strong, meaning that the file at the specified path is created or modified
only if all write operations complete without exceptions, barring one very
unlikely possibility that a final file rename fails, but even in that case the
output is successfully written to some path.
This commit does not add throws, but changes the type thrown to a subclass of
AudacityException, so that GuardedCall will cause the user to see an error
dialog in all cases.
Duplicated logic for making temporary files and backups is now all in one
place, the class XMLWriter.
There may be more new GuardedCalls than necessary -- the catch-all for the
event loop, AudacityApp::OnExceptionInMainLoop, might be trusted instead in
some cases -- but they are sufficient.
2017-03-18 11:45:33 -04:00
Paul Licameli
b81cdee7e3
Comment where xml writing functions may throw
2017-03-18 11:45:05 -04:00
Paul Licameli
e9a0876818
TrackPanel aborts any dragging action when an exception escapes
2017-03-17 17:53:03 -04:00
Paul Licameli
006aeda0a9
Use SafelyProcessEvent
2017-03-17 17:53:03 -04:00
Paul Licameli
8e5975b10d
Report read exceptions met in SBSMS and Nyquist callbacks to user...
...
... without letting them propagate through the libraries.
2017-03-17 17:53:03 -04:00
Paul Licameli
a8a2598ba3
Intercept exceptions in command script, report failure.
2017-03-17 17:53:02 -04:00
Paul Licameli
d11027c2a7
Allow exceptions from BlockFile::Recover, handle them in ProjectFSCK
2017-03-17 17:53:02 -04:00
Paul Licameli
f508493561
more guarded calls
2017-03-17 17:53:02 -04:00
Paul Licameli
01c5f25a19
Rewrite one try-catch with GuardedCall so we can show the user errors
2017-03-17 17:53:01 -04:00
Paul Licameli
6525bb18cf
Translate exceptions to error codes in callback functions...
...
... That is what the library protocols allow, and libraries may be written
in C and might corrupt their state if C++ exceptions pass through them.
2017-03-17 17:53:01 -04:00
Paul Licameli
576d3e3013
Don't let the catch-all block in Effect intercept the new exception
2017-03-17 17:53:01 -04:00
Paul Licameli
87e75176c5
Guarded calls in batch processing
2017-03-17 17:53:00 -04:00
Paul Licameli
eeb301e50d
Gracefully handle disk exhaustion exceptions during recording
2017-03-17 17:53:00 -04:00
Paul Licameli
f4e2fb5eac
AudioIO::StopStream stops exceptions in many non-editing actions
2017-03-17 17:53:00 -04:00
Paul Licameli
a1bc6948f4
Define application-level exception handler of last resort.
2017-03-17 17:53:00 -04:00
Paul Licameli
9fde75268f
Define an AudacityException subclass for unready on-demand data
2017-03-17 17:52:58 -04:00
Paul Licameli
acf3c018bb
Define an AudacityException subclass for user cancellation of progress
2017-03-17 17:52:58 -04:00