Revision 1202774

Go back to digest for 5th December 2010

Optimization in Office

Marijn Kruisselbrink committed changes in /branches/work/koffice-essen/kspread/ui/CellView.cpp:

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.

File Changes

Modified 1 files
  • /branches/work/koffice-essen/kspread/ui/CellView.cpp
1 files changed in total