username-removed-547784 (b2a98039) at 03 Oct 21:14
Adds test for Promise::delayedResolve() and delayedReject()
... and 6 more commits
username-removed-547784 (ad087163) at 03 Oct 20:21
Fixes cases where Promises could be notified or resolved illegaly
... and 4 more commits
username-removed-547784 (60a40886) at 28 Sep 11:46
Fixes an internal case of "destruction in signal handler"
username-removed-547784 (6a6c263e) at 28 Sep 11:46
Merge branch 'bugfix/deferredLeaks' into feature/delay
... and 1 more commit
username-removed-547784 (b7f73544) at 28 Sep 09:31
Switches parameters of Promise::delayedResolve() and delayedReject()
username-removed-547784 (cbe07130) at 28 Sep 09:15
Fixes compile errors
username-removed-547784 (cf17a84d) at 28 Sep 09:13
Adds context object in delayedResolve() and delayedReject()
username-removed-547784 (7f25048b) at 28 Sep 09:11
Fixes formatting in changelog
... and 12 more commits
Fixes Deferred
objects not being destroyed properly, especially together with Promise::then()
, which lead to callbacks being invoked after the Promise
has been destroyed.
username-removed-547784 (fb2b7432) at 26 Sep 00:55
Extends unit tests to cover proper destruction
... and 21 more commits
username-removed-547784 (a63353ee) at 26 Sep 00:12
username-removed-547784 (311eb496) at 26 Sep 00:12
Merge branch 'feature/immediateDelete' into 'master'
... and 4 more commits
Switches from using QObject::deleteLater()
to immediately deleting objects when their last QSharedPointer
is deleted.
This has proven necessary because with a deferred delete, a callback can still be invoked between the destruction of one of its captured dependencies and its scheduled deletion, which leads to a crash.
username-removed-547784 (8bdbde74) at 25 Sep 23:37
username-removed-547784 (9ee3b98f) at 25 Sep 23:37
Merge branch 'feature/improveParameterPassing' into 'master'
... and 4 more commits
This MR improves the passing of parameters to avoid unnecessary copying, especially with container objects.
It also allows passing nullptr
to Promise::then()
instead of QtPromise::noop
.
QtPromise::noop
has therefore been deprecated.
Breaking Change:
The signature of Promise::all()
and Promise::any()
has been changed. Therefore, this is formally a breaking change. However, unless you explicitly rely on the exact signature of those methods, the change will not be breaking for you since the change is only from call-by-value to call-by-reference.
Switches from using QObject::deleteLater()
to immediately deleting objects when their last QSharedPointer
is deleted.
This has proven necessary because with a deferred delete, a callback can still be invoked between the destruction of one of its captured dependencies and its scheduled deletion, which leads to a crash.
username-removed-547784 (4495644b) at 25 Sep 23:04
Merge branch 'feature/improveParameterPassing' into
... and 17 more commits