TODO:
- UNO needs some love to accept this change
- we need a new uno interface for conditional formats in 4.0
- copy/paste
- undo/redo
Change-Id: I2c8a233888a95c7298dfb151d1c12b6a6a58520d
See the TODO comment in sfx2/inc/sfx2/docfile.hxx about a temporary SfxMedium
ctor overload to find not yet adapted uses of another overload, to be removed
again in due time.
Change-Id: Ie22c33c32f8870ce6ebf6d500abc7a4e33d97183
AFAICS it appears that theres a one to one mapping from a SwFrameControl to
a SwFrm, so in any of the three given classes of Page, Footer or Header a
SwFrm will have zero or one SwFrameControls and a SwFrameControl doesn't
get rebound to a different SwFrm or anything like that, so we can use
a map and index off the SwFrm* to find them rather than constantly
looping over vectors to find the right one.
Maybe could move the SwFrameControl directly in the SwPageFrm's
themselves.
Change-Id: I1194f3cdcab747b61c645003c97e651f47f2bc09
This is similar to what I did earlier for calc. This info will be
used later in the type detection code.
Change-Id: I7ba7dcdc03cbfe77eba5c7594fc0385ad3775541
- the original problem can be reproduced by creating new empty presentation in powerpoint.
after it is loaded in impress, it was completely blank, without placeholder shape
texts (Click to add title, Click to add text)
Change-Id: I541554e273372ad09cca2fb91e27a17eb1f3a00e
This is almost a revert of e05e77f4b7.
It turns out FindRealSdrObject() is mostly the right method to call
(possibly except when creating the document, which is what lead
to the first commit).
Change-Id: Iea9ccc99e785fbff47f2d41187326d4e6d355494
Idea by Mirek M. - thank you! Additionally introduced a tooltip showing more
verbose text when in overwrite mode.
Change-Id: I1236253bc6c97809ebed872fe86233cc08f41345
this avoid the root cause of this bug, avoiding creating a
B2DPlygon which contains no points.
It seems the code relies somehow on an null B2DPolyPolygon, hence the
change done here. Better would be to have time to look how to remove
this fact. But currently it seems the code relies on a
rSet.Put( XLineStartItem( aArrowName, aPolyPoly) where aPolyPoly is
not defined in certain cases.
Change-Id: I61b75d925090d1c9a0da96ce1a6eea50a2d60e5a
This is a follow up to d015384e1d "Fixed
ThreadPool (and dependent ORequestThread) life cycle" that still had some
problems:
* First, if Bridge::terminate was first entered from the reader or writer
thread, it would not join on that thread, so that thread could still be running
during exit.
That has been addressed by giving Bridge::dispose new semantics: It waits until
both Bridge::terminate has completed (even if that was called from a different
thread) and all spawned threads (reader, writer, ORequestThread workers) have
been joined. (This implies that Bridge::dispose must not be called from such a
thread, to avoid deadlock.)
* Second, if Bridge::terminate was first entered from an ORequestThread, the
call to uno_threadpool_dispose(0) to join on all such worker threads could
deadlock.
That has been addressed by making the last call to uno_threadpool_destroy wait
to join on all worker threads, and by calling uno_threadpool_destroy only from
the final Bridge::terminate (from Bridge::dispose), to avoid deadlock. (The
special semantics of uno_threadpool_dispose(0) are no longer needed and have
been removed, as they conflicted with the fix for the third problem below.)
* Third, once uno_threadpool_destroy had called uno_threadpool_dispose(0), the
ThreadAdmin singleton had been disposed, so no new remote bridges could
successfully be created afterwards.
That has been addressed by making ThreadAdmin a member of ThreadPool, and making
(only) those uno_ThreadPool handles with overlapping life spans share one
ThreadPool instance (which thus is no longer a singleton, either).
Additionally, ORequestThread has been made more robust (in the style of
salhelper::Thread) to avoid races.
Change-Id: I2cbd1b3f9aecc1bf4649e482d2c22b33b471788f
This way the type detection is guaranteed to receive the document service
name whenever a file is being opened from Calc.
Change-Id: I0eec06d4ca1f3f30bcbc5685af73392276990d69