Commit Graph

16 Commits

Author SHA1 Message Date
John Maguire 341dc7326f Reformat all C++ 2020-09-22 14:56:06 +01:00
Jim Broadus 6a9276ec0a Fix LibraryModel async query crash.
A LibraryBackend may be deleted while an associated LibraryModel object is using
it. An example is an async query running while a connected device is removed.
To prevent this, use a share pointer for the LibraryBackend.

This fixes one case where LibraryBackend is used after deletion. However, the
raw pointer is still passed around in several other places. These should be
evaluated on a case-by-case basis to insure that circular depencencies aren't
introduced.
2020-01-14 21:47:31 -08:00
Jim Broadus 95187ed0a1 Fix encoding of GError messages when logging. (#6228)
GError messages contain non-ascii characters. This normally just produces some garbage when we use the default QString contructor that assumes ASCII for logging. However, when a message includes the right double quote, UTF-8 sequence 0xE2 0x80 0x9D, the final byte is OSC. VT100 expects a command sequence to follow and stops echoing output until it sees ST or BEL character, which may never come. Thus, the console output is halted.

This change uses QString::fromLocal8Bit instead of depending on the default constructor. About half of the sites in the codebase had already been converted.

One side effect is that log messages are quoted. There are additional options to control this, but those were only introduced in Qt 5.4.
2018-12-02 09:51:19 +00:00
John Maguire bebd781fdf Reformat all non-3rd-party C/C++/Objective-C++.
Command line:
find src ext -regex '.*\.\(h\|cpp\|mm\)' -exec clang-format -i
 -style='{BasedOnStyle: Google, DerivePointerBinding: false}' {} \;
2014-02-07 16:34:20 +01:00
John Maguire 71893e4847 Use nullptr instead of NULL everywhere. 2014-02-06 17:29:59 +01:00
John Maguire d309d4ab27 Use c++11 instead of boost where possible. 2014-02-06 16:51:39 +01:00
David Sansome ccb9f8cf94 Use URLs everywhere instead of filenames. Move the URL parsing and song loading code out of individual playlist parsers and into the base class. Fix the playlist parser unit tests. 2011-04-28 12:27:53 +00:00
David Sansome 3eedc916ad Add a new logging system 2011-04-22 16:50:29 +00:00
David Sansome ed1a25693c Add missing licenses to debian/copyright, and add copyright information to each source file 2010-11-20 13:27:10 +00:00
David Sansome aa6e67eb1f Some native path separator fixes for libgpod on Windows, should fix loading of classic iPods on Windows. 2010-09-09 21:49:51 +00:00
David Sansome 43a27979dc Keep a shared_ptr on connected devices during the lifetime of their background processing threads 2010-08-09 21:32:25 +00:00
David Sansome e65c710b5f Improve error handling while transferring the iTunes database to/from the iPod 2010-08-09 19:24:17 +00:00
David Sansome d29fb119a4 Don't rewrite the paths of songs on afc devices, and mark them as streams in the playlist so they won't get re-read on startup 2010-08-08 13:27:36 +00:00
David Sansome 2a7c6de273 Register gstafcsrc properly, and use it when playing songs from an afcdevice 2010-08-01 18:09:38 +00:00
David Sansome bc97872bc4 Destroy the gpodloader, only load the itunes database once, ensure only one Organiser thread can write to the ipod at once, make Organiser threads wait for the device to be loaded before they start writing. 2010-07-24 17:41:18 +00:00
David Sansome e9525e8ec3 Very basic support for reading iPods with libgpod. Uses a hardcoded ~/.gvfs path for now. 2010-07-04 20:52:45 +00:00