change for all text
- group intrinsic actions of language change for all text into one Undo action
- secure <SwRootFrm::CalcRects(..)> - catch NULL pointer
- correct <CursorGuard> - really restore the cursor
(cherry picked from commit 4207db473430e02a65a5f4d57db6e46a8db29a19)
Conflicts:
svl/inc/svl/undo.hxx
svl/source/undo/undo.cxx
sw/inc/IDocumentUndoRedo.hxx
sw/source/core/edit/edundo.cxx
sw/source/core/inc/UndoManager.hxx
sw/source/core/layout/trvlfrm.cxx
sw/source/core/undo/docundo.cxx
Change-Id: I972988bbc21a519e0956ff196aa93a46287b9a2e
A suprising regression from 062eaeffe7cb986255063bb9b0a5f3fb3fc8e34c:
The RSID text attributes that are inserted for every user-inserted text
cause the text formatting (SwAttrIter) to create a lot more text portions,
and the portion breaks make font kerning impossible.
This is the only way i can think of to fix this problem; alternatives that
don't work are splitting the RSID out of the AUTOFMT hint into a separate
one and combining them in the sw UNO wrappers (fails because
SwXAutoStylesEnumerator actually does need to enumerate every AUTOFMT
including RSID), trying to detect and ignore them just in the text
formatting (the SwAttrIter cannot easily/cheaply detect when it's allowed
to skip), and having an internal subdivision inside the AUTOFMT hint (one
subsection for every RSID change) (which does not work because it cannot
ignore RSID-only AUTOFMTs completely).
Solve the problem with 2 additional flags on AUTOFMT and CHARFMT
attributes: FormatIgnoreStart and FormatIgnoreEnd, which indicate to
SwAttrIter::GetNextAttr() that the start or end of the hint should be
ignored, so that effectively it is merged with the preceding/subsequent
hint. Of course the UNO API does not respect the flags so we can store
the RSIDs in automatic styles.
The flags are maintained in SwpHints::MergePortions, which detects both
RSID-only AUTOFMT hints (which can be ignored completely), and the
situation of N CHARFMT hints + AUTOFMT hint vs. N CHARFMT hints +
AUTOFMT hint where the AUTOFMT hints differ only in their RSID attribute.
This means that MergePortions needs to be called more often now, in cases
where the ignore flags may have been invalidated, such as:
- insertion of text with possible DontExpand flag set on hints
- deletion of hints
- SETATTR_NOHINTADJUST mode
Change-Id: I1fb95a87c654c67d114f6f7f2c43b847c50b0ffa
This is similar to a996678ed30804e16103e1cfdc439c8546e5d3b0. If we have
both a background object and some clickable field to select, we should
always prefer the clickable field.
This time, the problem was to click on a clickable field, when the
cursor was in normal text and we had a full-page background object.
Change-Id: Id25036d8cb2ddf62011c22bfc50844b793b942bd
I can't reprodue this in a product build and I'm not sure this was the
right fix for the problem.
This reverts commit bb4d5d96f4daf1dc1b92f823171ac567f6cf95a8.
The problem is the following: SwLayAction::InternalAction() saves
pPage->GetPrev() as pTmp, then SwFrm::CheckPageDescs(pPage) is called,
which deletes pPage->GetPrev(). SwLayAction has no idea that pTmp got
deleted, and later passes it to unlockPositionOfObjects(), which
obviously assumes a valid pointer.
To be on the safe side, just provide a possibility to let the caller
know its pointer has been deleted.
Change-Id: Ibb4d83266b1f4b6146a12dce0d4701f1056deecd
69c52bc5b7973a2e414209470f5bf9b66dcc4f30 had some typos, and got
reverted in 78123a504b5215d061935d7b2771ba51e68cae0e, this does the
same, except those typos corrected, so vertical layout is still OK.
Change-Id: I79fe610e4cc8bbbddbd8415198d6309a93f4ba18
Reviewed-on: https://gerrit.libreoffice.org/3929
Reviewed-by: Miklos Vajna <vmiklos@suse.cz>
Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org>
Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
This reverts commit 69c52bc5b7973a2e414209470f5bf9b66dcc4f30
I found one place where Y should have been X, but didn't clear
the problem, so threw my hat at it and reverted the lot, its
cosmetic anyway so no functionality lost be reverting.
Use boost::shared_ptr and stl tools to implement a SwPosFlyFrms which can be
used and handed over by value and cleans up it's content to avoid memory leaks.
Found by: Chao Huang
Patch by: Chao Huang, alg
Review by: Chao Huang, alg
(cherry picked from commit c26f80aa1ba65b63e313dce9c6d7e40ab8efede6)
Conflicts:
sw/inc/doc.hxx
sw/inc/flypos.hxx
sw/source/core/doc/doclay.cxx
sw/source/core/layout/flypos.cxx
sw/source/core/unocore/unoobj2.cxx
sw/source/filter/html/htmlfly.cxx
sw/source/filter/ww8/writerhelper.cxx
Change-Id: If610457654b1056d799d4336cd249815f7878a96
Fix build breaker from i120106
Patch by: Chao Huang
Suggested by: alg
(cherry picked from commit 880aadbeba4e31049d5b7f0a34323553fb6249fb)
Conflicts:
sw/source/filter/ww8/writerhelper.cxx
Change-Id: I516fcb6ee69944c54cc9eb76c069eb8b28749050
Found by: Yan Ji, Jian Hong Cheng
Patch by: Oliver-Rainer Wittmann
Review by: Jian Hong Cheng
(cherry picked from commit 472d5610c71b7a74e6d279d8f625cec8b41b8e81)
Conflicts:
sw/source/core/layout/tabfrm.cxx
Change-Id: I718a0c70c12ed34c4ca3a2826f388b17a84c63e7
- instead of adjusting the OrdNum of the "nested" object the OrdNum of the "parent" is adjusted.
Found by: Yan Ji <yanji.yj at gmail dot com>
Patch by: yuanlin <yuanlin.ibm at gmail dot com>
Review by: Oliver <orw at apache dot org>
(cherry picked from commit 73f462e2162847262093c3984dc6c98919e1b3cd)
Conflicts:
sw/source/core/layout/flylay.cxx
Change-Id: I0541dc3775f81efd60a6f4baa172c5297ee9d829
As I understand it, Point::X/Y() basically provide direct access to the
position, so they come without the usual benefits of getter/setter
methods.
Change-Id: I6d5bfd4f20ab8c7377419dcf5aac2c4ea0e9db05
This unlocking code was accidentally removed in commit
120922361a5928ea4437ffe253ce209abd7060b0. Not sure if it is still necessary,
but I am at the moment unable to prove it is not, so better to be safe :-)
Change-Id: I20a7cf3299de75182f890efb0d192e54c1b2543d
The mbLayoutInProgress bool was effectively unused - only set and reset, but
the only place that was checking for that was in lcl_RecalcRow(), again, only
to set and reset it.
Worse - with the document from i#23187, the mbLayoutInProgress was set / reset
on a page already disposed in SwFrm::InsertPage() which was causing the crash
here.
So let's get rid of all this mbLayoutInProgress, its getter and setter, and
NotifyLayoutOfPageInProgress class.
Valgrind, thank you that you exist, would have never found it without you! :-)
Change-Id: I9a9b604f8a21bb50e21af1b20b8db76d2c0504bd
- consider upper space amount only for page grids in squared page mode
Found by: louqle <louqingle at gmail dot com>
Patch by: Oliver-Rainer Wittmann <orw at apache dot org>
Review by: zjchen <zjchencdl at gmail dot com>
(cherry picked from commit 53ba60618af3977f5e5488225dcf050a517fb5b8)
Change-Id: If6592a41f0ef67cc20fa8b3ddaefa36571561f85
Modules sal, salhelper, cppu, cppuhelper, codemaker (selectively) and odk
have kept them, in order not to break external API (the automatic using declaration
is LO-internal).
Change-Id: I588fc9e0c45b914f824f91c0376980621d730f09
...for the adjustments of certain AT_PAGE anchored objects
Addresses the underlying problem of fdo#37024 fixed by
9d32497c01475f2b5e5bec756e4dd0ca9f9d4928
(cherry picked from commit b41eec25c2c6bc44eef55ae1c4ef57b9012fc8e6)
Conflicts:
sw/inc/doc.hxx
sw/source/core/doc/doclay.cxx
sw/source/core/doc/docnew.cxx
sw/source/core/layout/frmtool.cxx
Change-Id: I786eabdf84677e14c6f4b67d79e1e210e0532a21
The intention is to get similar behavior as
61f467c8974d6b6face41e7027d75ae4ddb6fdb2, except this applies to single
clicks, while that one affected only double-click.
Change-Id: Idddc26aa8cd064f89fb4f99b3ad7a5430ac455bc
- remove PD_FIRST and GetFirstFmt:
This flag makes no sense at all, since there are no "first-only"
page styles (while there are left-only/right-only).
- instead add a parameter to GetLeftFmt/GetRightFmt to request a
first page format, if such exists and is not shared
(regression from 02a934d03b101ce463a232f9cbb7b43e684de37e
and fa0f42bafbf24e9141ddee728b160b5ab47077f2)
Change-Id: I4d50c2c0cc4f3cf231eacba891df22d0bcf6c4df
use solenv/bin/add-modulelines script for the task
and remove all UTF bom from *.src and *.hrc files
svx/source/dialog/hdft.src
Change-Id: I745d4f0fe9b05436a142a03f8512970f91c41bd4
This reverts a part of 51cfbf0cfaec395a99a00f2c20fcba96de9a4427, that is
no longer needed, but causes incorrect drawing objects position.
The problem was that a non-zero position doesn't mean the layout in a
later iteration doesn't change the position, but the referred commit
didn't allow later iterations to fine-tune the position.
Change-Id: Id91a4c6952d1b58e0c5bc0b1a60991a284c29ddc
Using the autocorrect list of LibreOffice
extras/source/autotext/lang/en-US/acor/DocumentList.xml
Change-Id: I8b93969bc0742c2e95b8b7db3c4c37691e8d3657
Script: http://pastebin.ca/2327716