Revision 1202774(Back to digest)
Optimization in Office
sort of try to handle QTextDocument in a thread-safe manner; while it works correctly, it is impossible to use QTextDocument in any non-trivial multi-threaded manner without qWarnings getting printed all the time, because you can't do anything to a QTextDocument in a thread that is different from the one it is created in/associated to. And this also includes cloning it (cloning a document creates some internal QObjects with the original document as parent, which gives warnings because threads associated to the objects and their parents don't match).
The only way to use QTextDocuments in multiple threads is by cloning them in the GUI thread, and then moveToThread them to the thread where they will be used, but that can never work here because we have know way of knowing which ThreadWeaver (or QtConcurrent) worker thread will need access to which QTextDocument, so conclusion: QTextDocument is broken by design.