Apache OpenOffice (AOO) Bugzilla – Issue 73788
Don't block Writer in order to load linked graphic files
Last modified: 2013-08-07 14:42:39 UTC
This is a sub issue of issue 7553 for linked graphic files in Writer: Implement load of linked graphic files in Writer without blocking the application. This is the first step to solve issue 7553 - non-blocking load of linked graphic files in Writer.
providing first version of non-blocking load of linked graphic files in Writer - changed/new files: /sw/inc/retrievedinputstreamdata.hxx, 1.1.2.1 /sw/inc/retrieveinputstreamowner.hxx, 1.1.2.1 /sw/inc/ndgrf.hxx, 1.18.134.1 /sw/source/core/inc/retrieveinputstream.hxx, 1.1.2.1 /sw/source/core/inc/threadpool.hxx, 1.1.2.1 /sw/source/core/docnode/retrievedinputstreamdata.cxx, 1.1.2.1 /sw/source/core/docnode/retrieveinputstreamowner.cxx, 1.1.2.1 /sw/source/core/docnode/retrieveinputstream.cxx, 1.1.2.1 /sw/source/core/docnode/threadpool.cxx, 1.1.2.1 /sw/source/core/docnode/makefile.mk, 1.4.606.1 /sw/source/core/graphic/ndgrf.cxx, 1.36.6.1 /sw/source/core/doc/notxtfrm.cxx, 1.35.32.1 /sw/source/core/doc/docnew.cxx, 1.71.6.1 This version blocks on document close - waiting for finish of started thread. This problem will be solved in one of the next versions.
complete refactoring and redesign of the first version has been done - changed/new files: sw/inc/editsh.hxx, 1.53.134.2 sw/inc/hintids.hxx, 1.32.12.1 sw/inc/ndgrf.hxx, 1.18.134.3 sw/inc/pausethreadstarting.hxx, 1.1.2.1 sw/source/core/doc/docnew.cxx, 1.71.6.3 sw/source/core/doc/notxtfrm.cxx, 1.35.32.3 sw/source/core/docnode/makefile.mk, 1.4.606.4 sw/source/core/docnode/observablethread.cxx, 1.1.2.3 sw/source/core/docnode/pausethreadstarting.cxx, 1.1.2.2 sw/source/core/docnode/retrievedinputstreamdata.cxx, 1.1.2.4 sw/source/core/docnode/retrieveinputstream.cxx, 1.1.2.7 sw/source/core/docnode/retrieveinputstreamconsumer.cxx, 1.1.2.5 sw/source/core/docnode/swthreadjoiner.cxx, 1.1.2.2 sw/source/core/docnode/swthreadmanager.cxx, 1.1.2.4 sw/source/core/docnode/threadjoiner.cxx, 1.1.2.3 sw/source/core/docnode/threadlistener.cxx, 1.1.2.3 sw/source/core/docnode/threadmanager.cxx, 1.1.2.5 sw/source/core/edit/editsh.cxx, 1.44.114.1 sw/source/core/graphic/ndgrf.cxx, 1.36.6.5 sw/source/core/inc/ifinishedthreadlistener.hxx, 1.1.2.1 sw/source/core/inc/ithreadjoiner.hxx, 1.1.2.1 sw/source/core/inc/ithreadlistenerowner.hxx, 1.1.2.1 sw/source/core/inc/observablethread.hxx, 1.1.2.2 sw/source/core/inc/retrievedinputstreamdata.hxx, 1.1.2.1 sw/source/core/inc/retrieveinputstream.hxx, 1.1.2.6 sw/source/core/inc/retrieveinputstreamconsumer.hxx, 1.1.2.1 sw/source/core/inc/swthreadjoiner.hxx, 1.1.2.3 sw/source/core/inc/swthreadmanager.hxx, 1.1.2.4 sw/source/core/inc/threadjoiner.hxx, 1.1.2.3 sw/source/core/inc/threadlistener.hxx, 1.1.2.3 sw/source/core/inc/threadmanager.hxx, 1.1.2.4 sw/source/filter/basflt/shellio.cxx, 1.46.6.1 sw/source/filter/xml/xmlexp.cxx, 1.84.102.1 Next step is to remove the thread joiner instance from Writer project to the Desktop project.
The fix for this issue is ready. Linked pictures in Writer text document are loaded in the background via threads. Such a thread is trigger, when a linked picture comes into the visible view. Due to limited system resources only 10 of these threads run in parallel - the other threads will wait for its execution until a starting slot is free. Because the running threads can't be terminated on document close, these threads are kept. If the OpenOffice.org application has to be terminate and there are still such threads running, the user interface of the application is terminated, but the application stays alive until all threads have finished its work.
OD->MRU: Checked in internal installation set of cws swqbf91 - please verify.
Verified in CWS swqbf91.
*** Issue 79853 has been marked as a duplicate of this issue. ***
Checked in 680m223.
*** Issue 7553 has been marked as a duplicate of this issue. ***
issue 7553 stems back from 2002! are you sure we are talking about the same thing? anyway, I can confirm the freezing behaviour of OOo 2.3 here and ask all submitters of this bug or any duplicates to vote for issue 7553 if this is regarded as mother of all bugs ;)
Please evaluate OOo 2.4 for non-blocking load of linked graphics. Unfortunately, the non-blocking load functionality is broken in OOo 2.3 and OOo 2.3.1 - see issue 85717