Sorting ends tells all listeners on all the sorted cells to end
listening to stop updates, then sorts the cells and starts
listening again. This will cause all broadcasters for the sorted
cells to temporarily stop having any listeners, so they'll be
deleted and removed from the mdds vector (which may additionally
cause moving large parts of the mdds vector repeatedly). And
since all listeners will want to listen again after the sort,
this will all need to be reconstructed. To avoid this,
temporarily block this removal and then later just checks
and remove any possibly left-over broadcasters that ended up
with no listeners.
Change-Id: Ie2d41d9acd7b657cf31a445870ce7f18d28d5ebb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131069
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
... which changed in commit 281989007f
Author Noel Grandin <noel@peralex.com>
Date Tue Jul 01 13:17:01 2014 +0200
Use standard library optimised routines for OUString/OString
for optimized cases: strchr/wcschr/strrchr/wcsrchr find trailing zero
character, and strstr/wcsstr find empty string; previous/unoptimized
code does not find these. This introduced inconsistency between char
and sal_Unicode functions on non-Windows, and for sal_Unicode between
Windows and non-Windows (because on Windows, optimized code is used
for sal_Unicode, while on other platforms, unoptimized code is used).
Change-Id: I68529c91b26f4113d9bd7777fc5ac4809349864b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131064
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
AppendContent() does something only if the cells differ, which can't
be the case if they're both empty, so skip unallocated cells.
Change-Id: I367801bac30a8ee641b4ce608392124bac6ef47a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131060
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
There's no point scanning for non-empty cells after the last data
cell, and this avoids processing mdds structures (such as repeated
creating of flat_segment_tree).
Change-Id: Ibec324aa2de457e8439c38a561f55ced9f478899
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131059
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
To avoid some regression, consider that transparency should be enabled by default.
So only remove transparency if it's required explicitely.
+ change QA test since "Translucent" property isn't a bool but a sal_Int32
In officecfg/registry/schema/org/openoffice/Office/Common.xcs:
<prop oor:name="Translucent" oor:type="xs:int" oor:nillable="false">
Change-Id: I9bfb6aae8e2e8a31dee82f73a9165989129f222a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131057
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Instead of using a plain char, create a key event using a Unicode
character, otherwise the key event creates texts including rectangles or
wrong characters.
Change-Id: I9ec0d64998927d54eb3ae90a192c3b28e235f56d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130721
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
'row1' is not a valid named range with 16k columns, it's a cell
address. Since the named range is constructed by the test,
not even 582fc887f1 can take
care of it, so rename such ranges.
Change-Id: I6643953d41e391c8c3cfc55768b06d61d9fcb0a2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131046
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
E.g. sctablesheetobj test had the limits hardcoded, even as actual
numbers. Apparently some tests cannot easily access global
settings, but this at least makes it easy to check all tests
after modifying ScSheetLimits::CreateDefault().
Change-Id: I6cff577fb01b1ea262dcd1f9fde24e114e19abdc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131040
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
I don't see how it possibly could be nullptr in a correct situation,
ScColumn::Init() is called right after creating ScColumn.
Also make a bunch of trivial forwarding functions inline.
Change-Id: I710d3cd86a660a8b4dcfbb9966a685b657b93c18
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131035
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Since columns are allocated dynamically on demand, up until
this commit ScTable had ScPatternAttr member for unallocated
columns that it was using in place of those unallocated columns.
But that meant either copy&pasting pieces of code from ScColumn,
or having extra slightly more cumbersome shared function
in ScColumn, or even nothing.
Improve this by creating ScColumnData, which will be used as
ScColumn base class to keep things working as before, but
ScTable now also contains one ScColumnData instance and
so it can also call its functions.
Change-Id: If1d842c4a5aec32e2a7729358006d79cd831349f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131034
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Goal is to minimize dependencies on oox classes. For that pupose
I redesigned the Diagram class to work without remembering
an oox::Shape at all. For reLayout, a new temporary one is created
and used. That was a bit tricky, I needed to find out what
data at the oox::Shape is needed to sucessfully do that with
the not-originally-imported one.
Another necessary change was to move the DiagramFontHeights
adapting mechanism away from oox::Shape, too. It fits better
to Diagram class. That way it can also be used for reLayout
and the oox::Shape gets a little bit smaller, too.
This opens the path to move needed Mode-Data Diagam core
claasses to other libs where changing/im/exPorting them will
be possible.
Change-Id: I40bc4b190d2abc797f5c56f9e476d22155d21422
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131004
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
They were broken in commit d1af3a5fc1
Author Vladimir Glazounov <vg@openoffice.org>
Date Wed Jun 04 09:02:42 2008 +0000
INTEGRATION: CWS sw30bf04 (1.4.2); FILE MERGED
It changed the original EUC-KR file encoding to ASCII.
Change-Id: I423b6e7dac0a47ad7688175780f062ecaefb9101
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131027
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
git history gives:
commit b76cb86eaa
Author: Oliver Bolte <obo@openoffice.org>
Date: Wed Sep 9 09:38:41 2009 +0000
CWS-TOOLING: integrate CWS mhu20
where it was already commented and from sal/osl/w32/file.cxx
then digging a bit more gives:
commit 73cd79644d
Author: Rüdiger Timm <rt@openoffice.org>
Date: Mon Oct 17 13:52:03 2005 +0000
INTEGRATION: CWS perform05 (1.5.52); FILE MERGED
where it's also already commented.
=> No need to keep this
Change-Id: I3e8892e8c8f4e76d2e05a8bd158e77418a12eb38
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131030
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Named ranges named e.g. 'num1' are actually valid cell addresses
when using 16k columns. We prevent naming ranges in a way that would
make them conflict, but it's possible to read them from a saved
file that was created with fewer columns, and in such cases formulas
using them would silently refer to those cells instead of to
the named range. I don't see anything in the ODF spec, but OOXML
in 18.2.5 recommends this in case there are conflicts (only outside
of the normal Excel range of A1-XFD1048576, inside they are always
meant to be references, but our normal range currently is only 1k
columns, and it's simpler and probably harmless to always resolve
a conflict this way). I can optimize performance of this in another
commit if needed.
Change-Id: I46aef54b069700e7bf268b50fdc1a88989f3ee29
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130891
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
I can't see how destroyingthe widget is a good idea here
Change-Id: Ie4b2dcf9136568b01b5f4b85bcc849ad1c0504a9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130992
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>