Details
-
Bug
-
Resolution: Done
-
P2: Important
-
6.2.3
-
None
-
5
-
76a1c060ac (qt/qtbase/dev) 76a1c060ac (qt/tqtc-qtbase/dev) ae162d444f (qt/qtbase/6.3) a4acc78216 (qt/qtbase/6.3) a4acc78216 (qt/tqtc-qtbase/6.3) ae162d444f (qt/tqtc-qtbase/6.3) c9a7bedfc3 (qt/tqtc-qtbase/6.2)
-
Team A Foundation Sprint 53, Team A Foundation Sprint 54
Description
The docs for QPromise::~QPromise() state that the promise transitions to a canceled state on destruction, unless finish() is called.
However, if the promise is never start()-ed but it gets deleted, then the associated future never gets canceled, and as a result QFuture::waitForFinished() will never return, ever.
Is this intended behavior? I believe that if a QPromise is never started but deleted, it should still somehow signal to associated futures which call waitForFinished() to return.
Attachments
For Gerrit Dashboard: QTBUG-101284 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
402044,3 | Always cancel unfinished QPromises on destruction | dev | qt/qtbase | Status: MERGED | +2 | 0 |
402595,2 | Always cancel unfinished QPromises on destruction | 6.2 | qt/qtbase | Status: ABANDONED | -1 | 0 |
402596,2 | Always cancel unfinished QPromises on destruction | 6.3 | qt/qtbase | Status: MERGED | +2 | 0 |
407737,2 | Always cancel unfinished QPromises on destruction | tqtc/lts-6.2 | qt/tqtc-qtbase | Status: MERGED | +2 | 0 |