Produce a prototype infrastructure patch for this to demonstrate the design, and show how this should be done.
Markus Mohrhard committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=664fb35ab522c40d298012922f059f6d48006355 first part for threaded chart rendering, fdo#81110 The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Markus Mohrhard committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=dde00f1f8ac598314b7f8a787eeacc841bc65f1c make threaded rendering work correctly, fdo#81110 The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
It is working now. I might have missed one or two corner cases but the design should be safe and the rendering should not be exposes to race conditions. If you change anything makre sure that we are not deadlocking and that all shared resources are protected by a mutex or the rendering thread can not run any more.