1
0
mirror of https://github.com/clementine-player/Clementine synced 2025-01-09 16:43:00 +01:00
Commit Graph

30 Commits

Author SHA1 Message Date
Jim Broadus
dbe67bf32b Fix closure timing hole.
When a closure involves an ObjectHelper, a connection is made from the
receiver's destroyed signal and the helper object's deleteLater slot. Since
the signal between the sender and the helper object isn't disconnected until
either object is actually destroyed, this leaves a hole where the helper
holds a pointer to an invalid receiver object, but is still able to receive
the signal connected to its Invoke slot.

Instead of connecting the destroyed signal to deleteLater, connect it to a new
TearDown slot that immediately disconnects the signal then calls deleteLater.
2020-01-11 00:53:35 -08:00
John Maguire
f300946c81 Remove most usages of QFutureWatcher 2015-11-27 14:28:12 +00:00
John Maguire
2d61fe6c87 Changed my mind about automatically passing QFutures. 2015-11-27 12:04:14 +00:00
Arnaud Bienner
ec98a68c3d Update SLOT signatures.
There weren't update as part of commit 33494dcddc: this prevented the slider to be updated, among other things.
2015-11-27 11:44:59 +01:00
John Maguire
3cc9c1e446 Remove ModelFutureWatcher 2015-11-26 19:02:08 +00:00
John Maguire
689858026e Actually pass the finished QFuture back. 2015-11-26 18:42:12 +00:00
John Maguire
2cd15ff430 Add NewClosure overload for QFuture 2015-11-26 18:35:17 +00:00
John Maguire
b2a532be62 Experiment with typesafe time units 2015-07-20 14:35:13 +01:00
John Maguire
aa22a43f44 Add exponential back-off to Amazon requests. 2015-04-17 12:10:40 +01: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
d309d4ab27 Use c++11 instead of boost where possible. 2014-02-06 16:51:39 +01:00
John Maguire
cc43e339c1 Use boost function for compatibility 2013-11-22 11:53:47 +00:00
John Maguire
b17b075361 Compile fixes for 10.9 2013-11-21 17:59:31 +00:00
John Maguire
dd59aaada0 Delete closures if the receiver is deleted. 2013-02-26 16:27:44 +01:00
John Maguire
195e1cb2ad Support arbitrary return type in closure for member function pointer. 2012-12-13 16:55:23 +01:00
John Maguire
020f08438f Support member function pointers in Closure.
Bonus: type-safe slots
2012-12-13 16:27:55 +01:00
John Maguire
94f76a9d08 Support function pointers and std functions with arguments in Closure. 2012-12-13 16:13:38 +01:00
John Maguire
c294098aef Use tr1 for mac compatibility 2012-11-26 10:10:20 +01:00
John Maguire
11f664083a Add support for standard function callbacks in NewClosure (including C++11 lambdas). 2012-11-26 09:41:26 +01:00
John Maguire
4e9231976e Unpack variadic arguments into QGenericArguments without boost::tuple. 2012-11-22 17:57:26 +01:00
John Maguire
8171192df5 Port Closure to variadic templates. 2012-11-22 17:19:04 +01:00
John Maguire
66c8d6d360 Tidy up a bit. 2012-04-13 15:53:17 +02:00
John Maguire
133c2e1640 Postpone the database check & backup to a little while after startup. 2012-04-13 15:49:56 +02:00
John Maguire
a09165c392 Make it more obviously wrong to use the Closure internals. 2012-03-20 15:14:44 +01:00
John Maguire
e4ae4b6df5 Remove poor man's static asserts. 2012-03-19 21:19:24 +01:00
John Maguire
c4d3062459 Make the SharedClosure implementation a bit less horrible. 2012-03-19 21:17:57 +01:00
David Sansome
d7a5af07fb Copy+paste the shared pointer closure constructor a couple of times for different numbers of arguments. 2012-03-19 19:38:36 +00:00
John Maguire
e1d77e0124 Add support for QSharedPointer in Closure. 2012-03-19 19:37:57 +01:00
David Sansome
b9e08bbfe6 Update podcasts on a schedule and on demand. Update them immediately after subscribing, and make episodes appear in the tree. 2012-03-09 15:26:15 +00:00
David Sansome
9041117867 Move everything around in the source tree - static libraries and external binaries now go in "ext/". Add a generic worker pool. 2012-01-05 23:25:13 +00:00