1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-11-23 09:20:16 +01:00
Commit Graph

27 Commits

Author SHA1 Message Date
Leland Lucius
9b67c5aeec Bug 2688 - Bad saves with Unicode project filenames 2021-03-07 16:27:16 -06:00
James Crook
cc9d53df04 Add Comments (for Bug 2673 fix)
Bug 2673 was an important multi-threading issue, and so I added
comments about the code.  Also a LogDebug to track cache use.

Bug 2673 was also a crash with no error message reported.
That is something to revisit later and deserved a comment.
It's believed that the underlying issue is fixed now.

The 'ANSWER-MEs' can be answered in 3.0.1.
2021-02-23 12:24:41 +00:00
Leland Lucius
53f7cacdb2 Bug 2673 - Win: Mixer Board problem on Windows - causes crash 2021-02-22 19:27:02 -06:00
Leland Lucius
c9d37675f7 First stab at responding to whitebox review
In some cases, I've simply left the REVIEW: in and
responded to it. In other cases, I've resolved what
was mentioned in the review.
2021-01-26 02:21:12 -06:00
Paul Licameli
046ae403ba Remove inappropriate assertion...
... Errors reported by sqlite are not conditions that should be provably
impossible.
2020-12-06 15:16:49 -05:00
Paul Licameli
4e260389da Move AbbreviatePath to FileNames 2020-12-06 14:55:12 -05:00
Paul Licameli
6944ba564c Use events to break dependency cycle introduced at 3978e8c 2020-11-25 12:24:21 -05:00
Paul Licameli
5ebfe4670c Bug2596: Error dialogs opening unreadable project should not be blank 2020-11-24 12:43:00 -05:00
Paul Licameli
54359fbefd Fix a comment 2020-11-24 12:03:57 -05:00
Paul Licameli
e00f8da5d5 Bug2595: Don't make spurious disk-full errors while recording...
... The error that the checkpoint thread got was only SQLITE_BUSY, while the
main thread was simultaneously doing reads only for redrawing the screen.

Do some retrials in case of SQLITE_BUSY.
2020-11-23 20:17:05 -05:00
Paul Licameli
045bedfe04 Simplify two GuardedCalls into one 2020-11-23 16:47:38 -05:00
James Crook
3978e8c9ee Bug 2546 - Recording onto a nearly full disk results in two error messages re "disk full" 2020-10-28 12:38:15 +00:00
James Crook
6a237d67f1 Bug 2539 - Residual wording changes to warning messages.
QA asked for these improved wordings so that it is clearer to users what is going on.
2020-09-21 10:47:06 +01:00
James Crook
13c5fe476f Remove test code which generated a disk full warning. 2020-09-14 19:00:25 +01:00
James Crook
caf4eadb97 Help button for many warning messages; Restored warning icon.
The error icon was gone because we are now using the ErrorDialog, which didn't have it.  So added back explicitly.  I decided to go with wxART_WARNING rather than wxART_ERROR because nearly all of these present as warnings.
2020-09-14 17:43:28 +01:00
James Crook
f06b9a9c71 UnitaryProject-25 Disk Full Errors
The disk full error text is now shorter/clearer and has a Help button with it.
2020-09-10 12:58:22 +01:00
Paul Licameli
327ada3c46 Give a "yellow zone" warning for checkpoint failure without data loss 2020-09-06 12:58:48 -04:00
Paul Licameli
e7b3c2b99f Cut and paste TransactionScope into DBConnection.* files 2020-09-05 14:44:34 -04:00
Paul Licameli
eb7e67623e Demote error message storage from ProjectFileIO into DBConnection 2020-09-05 14:32:39 -04:00
Paul Licameli
22c00fab03 Fix misspelled file name in comments and add Doxygen 2020-08-27 22:18:27 -04:00
Paul Licameli
2389b191f6 Bug2513: Disk exhaustion error message should be as was pre-Unitary 2020-08-26 16:56:03 -04:00
Leland Lucius
863be98ccd AUP3: Deal with a couple of delays
The first was due to a left over bit of code in Compact and has
been removed.

The second is in SaveProject. This one can't be removed, so a
progress dialog was added.
2020-07-29 09:00:38 -05:00
Leland Lucius
d4627f0daf AUP3: Reduce crash exposure when compacting
There's still the possibility if a crash happens at just the
right time that the project will be named "<project>_compact_back"
so we should probably look for it during startup.

This also changes all "Vacuum" references to "compact".
2020-07-28 23:25:50 -05:00
Leland Lucius
f3293fd102 AUP3: Adjust checkpoint thread controls
To better reflect how they are used...simple flags
2020-07-27 23:15:38 -05:00
Paul Licameli
3f68d0f1cd Fix inverted assertion condition 2020-07-23 11:32:20 -04:00
Paul Licameli
5bc2cb991f Do debug check for closing of DB before Project destruction safely...
... It wasn't safe, on some platforms, because the sequence of destruction
of ProjectFileIO and ConnectionPtr is unspecified.  It is safer that
ConnectionPtr just checks itself, not that ProjectFileIO fetches it again.
2020-07-23 11:06:50 -04:00
Paul Licameli
a3fcd611b5 Dependency cleanup (#627)
* DBConnection doesn't use ProjectFileIO or need friendship...

... Instead, it is given its own weak_ptr to the project

* Demote the bypass flag into DBConnection...

... So SqliteSampleBlock needs ProjectFileIO only to get the DBConnection

* Accessor functions for the connection objects for SqliteSampleBlock

* Another level of indirection to get to the DBConnection object...

... The document holds the unique_ptr to DBConnection in an attached object;
later we want the SqliteSampleBlockFactory to locate the same pointer without
using ProjectFileIO

* SqliteSampleBlock and its factory don't use class ProjectFileIO...

... Instead they share a pointer to the pointer to the current DBConnection.

This means they no longer know how to invoke the lazy opening of that
connection.

So just require that this be done before any operations on blocks happen.  If
it hasn't, throw and let the application recover.

* ProjectFileIO no longer needs weak_ptr to Project for safety...

... so eliminate much ugliness from 127696879d

* Move DBConnection to new files...

... And SqliteSampleBlock does not depend on ProjectFileIO.

* SampleBlock.h doesn't need ClientData.h

* Function ProjectFileIO::Conn() isn't needed
2020-07-23 01:04:46 -05:00