summaryrefslogtreecommitdiff
path: root/sc
AgeCommit message (Collapse)AuthorFilesLines
2016-05-26tdf#86282 handle both, base name and Sheet1, as external reference sheet nameEike Rathke4-32/+192
This is a combination of 4 commits. Resolves: tdf#86282 do not use file name as sheet name for linked documents ... and external references. (cherry picked from commit 43030487c45f49bccdfad987c60d9483b938ebac) tdf#86282 handle both, base name and Sheet1, as external reference sheet name While 43030487c45f49bccdfad987c60d9483b938ebac fixed things for older 'name.csv'#Sheet1.A1 references, loading documents that meanwhile stored 'name.csv'#name.A1 lead to #REF! when the external links were updated. Now recognize both, the base file name and Sheet1 name and set up one as the alias of the other, so both variants can be handled. (cherry picked from commit ec693d9b9df631605028271f62daa7dfbe8e273d) tdf#86282 switch to base name sheet name again for external references CSV ... now that we can handle both, a base name and Sheet1 name. For the following reasons: * Since 4.3 we write and expect the base name as sheet name for CSV. While 43030487c45f49bccdfad987c60d9483b938ebac switched that back to Sheet1 or its equivalent to be able to load older documents, a mixed environment of earlier and later versions gets confused by this. * The name Sheet1 can be localized and even customized by the user and thus fails to update/refresh in a different localized or customized environment. This also was already the case for all versions prior to 4.3 but apparently wasn't recognized or brought in connection with some possible failures when updating externally referenced CSV files. * Deriving the sheet name to be stored from the base name prevents all problems related to localized or customized environments, and keeps interoperability with all versions from 4.3 on. (cherry picked from commit d9e7a54809c88c4ac166630c11038188c8f50a6f) remove now moot comment, tdf#86282 follow-up (cherry picked from commit 386b284241a16d96eaf792e2385c41f57ce3d870) Change-Id: I6e23eeff39086091f13914a3f964aec1016a7de4 e9314e11be19c3316a06e10583777e2d5f5ec1b8 8d71b3ad6370747115ea419a21094b649326642c 7e720de93a5f47ca6a81addbb75c113dc2fe53f0 Reviewed-on: https://gerrit.libreoffice.org/25471 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-05-24Resolves: tdf#99733 don't crash on moving range of cellsCaolán McNamara2-0/+10
Reviewed-on: https://gerrit.libreoffice.org/25405 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 0d116ad98d7c25df4ad63839bcf2fd7f152956df) Change-Id: Ib9afc8ef292e517954b24321100862f5235290e5 Reviewed-on: https://gerrit.libreoffice.org/25408 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-05-23Resolves: tdf#93101 handle external references and propagate errorEike Rathke3-16/+112
Cherry-picked 5 commits from master: tdf#93101 propagate external reference error from refcache token (cherry picked from commit 7de92ad48d8c4fe7a1f9fb24ef8afc7d8907788e) tdf#93101 correctly resolve svExternalSingleRef token in GetMatrix() ... including error propagation, and use GetNewMat() instead of a plain ScFullMatrix so the interpreter error handling is set up. (cherry picked from commit 2f94ff566f7827792175daedb92f12a7e61ad95d) tdf#93101 handle svExternalSingleRef in ISERROR() (cherry picked from commit 824cf015683383b553c744a746ac8e8ea65495cf) handle svExternalSingleRef in all IS*() functions, tdf#93101 related (cherry picked from commit f053086fbc625fca8ba7b956738d33ba78a80f9b) handle svExternalDoubleRef in all IS*() functions, tdf#93101 related (cherry picked from commit 365c4d8c60e89fd57a91f51ca51a8796fe91edd7) 862c46f9afc2afd0bb2a23aa767158e0945583a5 9e2a4aeb16d6777153d2f47a1c1af68fe2e97780 14181dd2dbb5d412e3dd165dcbf7468cb8ea8b21 48813de703ea926b8828f4e262393f7643216989 Change-Id: I90491a7b18fddaddb3bbb4d7a3f8b9555b9b1198 Reviewed-on: https://gerrit.libreoffice.org/25207 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-05-20Resolves: tdf#83746 wrapAddress() didn't do what it was supposed to doEike Rathke1-6/+47
i.e. subtracted nMaxRow from MAXROW that is set for entire column references, resulting in row 983040=1048576-65536, instead of doing a modulo operation. Also, entire column/row references are now untouched so they still reference the entire column/row. Note that in Excel BIFF8 an absolute addressing of row 1 and 65536 means entire column, so B$1:B$65536 saved and reloaded results in B:B, which may be unexpected. Change-Id: Iae65d47ba937b9ade95e4ea1be98012b80e1c9db (cherry picked from commit 6821ad076c276b997c44520fd700817566a718c5) Reviewed-on: https://gerrit.libreoffice.org/25182 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-05-20use vector replication for single row/column arraysEike Rathke1-6/+6
... also in GetStringFromMatrix() and GetDoubleOrStringFromMatrix(), not only in GetDoubleFromMatrix(). Change-Id: Idb4bd7d7ed7574cf80d2998d1e5bfa5a6015b833 (cherry picked from commit ccc49b79a8425138d46e7be2acf3ef43b5aa232f) Reviewed-on: https://gerrit.libreoffice.org/25218 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-05-20handle svExternalDoubleRef just the same as svMatrix in MATCHEike Rathke1-4/+0
Change-Id: Ibd2b6fcc2be85948a7e228494e4e388e79c1e9ab (cherry picked from commit 9512dd16c92231514b9a5df3891517861a882d73) Reviewed-on: https://gerrit.libreoffice.org/25220 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-05-20always use GetNewMat() in interpreter context instead of plain ScFullMatrix()Eike Rathke1-3/+3
... so error handling interpreter is set and im-/mutable flagged correctly. Change-Id: I3e2647b6e4a4f4bcfdf7264d6942844941ea6c6b (cherry picked from commit 981ff6dfd8627981462ec7c10a8a74d636d3d0d5) Reviewed-on: https://gerrit.libreoffice.org/25213 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Jenkins <ci@libreoffice.org>
2016-05-19Resolves: tdf#86502 split formula groups referring bounds shifted intoEike Rathke1-7/+31
So references can be updated or invalidated individually when deleting cells with shifting cells up or left. Change-Id: I03a57e94cf0fa9bb0716ffec21960e85ad5c7094 (cherry picked from commit a2e591e26549294cdb07eb685d4069343404d898) Reviewed-on: https://gerrit.libreoffice.org/25118 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-05-19clang-tidy misc-unused-raiiNoel Grandin2-3/+3
Change-Id: Id97291511efbaa304f25da3ae5700604b574d165 Reviewed-on: https://gerrit.libreoffice.org/25027 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> (cherry picked from commit a656be64e21fd0ec5e12d34a47e2daf777e04b9b) Reviewed-on: https://gerrit.libreoffice.org/25162 Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-17tdf#99255 Calc crashing on Undo after Spell CorrectionArul Michael1-1/+5
Avoiding null pointers being set for ScPostit* while creating the undo document during spell check. Change-Id: Ieb09cb2cee1c030f275eb5030dd779d543753c8b Reviewed-on: https://gerrit.libreoffice.org/25030 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 2d15020ea29d5541d1c44ff44a06eb5bcb35c52e) Reviewed-on: https://gerrit.libreoffice.org/25070
2016-05-13Resolves: tdf#99730 lower the barrier for inferior systems, cripple the testEike Rathke1-3/+9
(cherry picked from commit b35b601d9e3b43eaedb8576b70d10b657f625d6e) Conflicts: sc/qa/unit/ucalc_formula.cxx Change-Id: Ifdb9330a0614800831d2e0b673d975e6304738e5 Reviewed-on: https://gerrit.libreoffice.org/24971 Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>
2016-05-12Missing break in switchStephan Bergmann1-0/+1
Forgotten in 4f1f8b8e993b98095bf50c9e432fb0400d318b1f "pivot: new pivot table layout dialog" (as clarified on IRC). Change-Id: If35e1a9616e596b16bcb007f6ea172b634c11b85 (cherry picked from commit 100cd38d0530ebaec19338c0c612a73e15fb1b4f) Reviewed-on: https://gerrit.libreoffice.org/24917 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2016-05-12Missing break in switchStephan Bergmann1-0/+1
The case SID_CURRENTDOC used to harmlessly fall through to case SID_ATTR_SIZE://XXX ??? break; which was removed with ebabf6d1fa648d62dd63529e9fe64dcb631caee8 "fdo#86018 Don't do anything when clicked on placeholder in statusbar", making it erroneously fall through to the case SID_PRINTPREVIEW instead. Change-Id: Ib7792ed4198ea3e25696a63f0d7ab4df78848e6a (cherry picked from commit 3c8f49d7f8d70282236bf4f3d6b5a700e169f8e8) Reviewed-on: https://gerrit.libreoffice.org/24919 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2016-05-11tdf#99588: Fix radio button groups (and thus up/down key cycle)Katarina Behrens1-15/+7
Fix both Operations group (orig. report) as well as the other group (Shift cells) which was broken too, but since the buttons happened to be in alphabetical order, the bug didn't show Change-Id: Ib4d3dca29b286efe58f066dd20c4d4a9d6bf07dd Reviewed-on: https://gerrit.libreoffice.org/24857 Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> Tested-by: Katarina Behrens <Katarina.Behrens@cib.de> (cherry picked from commit 750e39302ee9bc7e2583b8efbca79c25c93d0bff) Signed-off-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> Reviewed-on: https://gerrit.libreoffice.org/24865
2016-05-10tdf#99479: Delete column with styles resets the 'Apply Style' drop downJulien Nabet1-1/+1
To start, the problem appears in SvxStyleToolBoxControl::FillStyleBox() pStyleSheetPool->First() returns null to pStyle because pStyleSheetPool is empty so we don't enter in while ( pStyle ) and can't add non default styles So why pStyleSheetPool is empty? pStyleSheetPool comes from pPool (SvxStyleToolBoxControl::Update()), pPool is retrieved from pDocShell->GetStyleSheetPool() (=> static_cast<SfxStyleSheetBasePool*>(aDocument.GetStyleSheetPool())) which is retrieved from xPoolHelper->GetStylePool(); ScDocument::GetStyleSheetPool() Let's move on, why xPoolHelper is empty? it's because when we delete the column, it does this: 0 ScPoolHelper::SourceDocumentGone (this=0x2c006c0) at /home/julien/lo/libreoffice/sc/source/core/data/poolhelp.cxx:116 1 0x00002aaad4e28eae in ScDocument::~ScDocument (this=0x8d6ac40, __in_chrg=<optimized out>) at /home/julien/lo/libreoffice/sc/source/core/data/documen2.cxx:426 2 0x00002aaad57a85f8 in ScDocFunc::DeleteCells (this=0x2c04bb0, rRange=..., pTabMark=0x3231ad0, eCmd=DEL_DELCOLS, bApi=false) at /home/julien/lo/libreoffice/sc/source/ui/docshell/docfunc.cxx:2415 3 0x00002aaad5cfa0f3 in ScViewFunc::DeleteCells (this=0x3230fd8, eCmd=DEL_DELCOLS) at /home/julien/lo/libreoffice/sc/source/ui/view/viewfunc.cxx:1512 But calling delete on pRefUndoDoc shouldn't call SourceDocumentGone since it's been created as a ScDocument with SCDOCMODE_UNDO eMode not with "SCDOCMODE_DOCUMENT" eMode. Since xPoolHelper is instantiated when only "SCDOCMODE_DOCUMENT" eMode (see http://opengrok.libreoffice.org/xref/core/sc/source/core/data/documen2.cxx#224), only destructor call of a document with eMode "SCDOCMODE_DOCUMENT" should be able to destroy xPoolHelper So the fix is only to call PoolHelper->SourceDocumentGone(); when (xPoolHelper.is() && !bIsClip) but also if !bIsUndo Change-Id: I1089d20264d0594c7e8ebe9263ebad6e68485c12 Reviewed-on: https://gerrit.libreoffice.org/24345 Tested-by: Jenkins <ci@libreoffice.org> Tested-by: Yousuf Philips <philipz85@hotmail.com> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> (cherry picked from commit a7b4a0a9f387310832cce7a6850ec438ce03b31e) Reviewed-on: https://gerrit.libreoffice.org/24792 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-05-06tdf#86575 for OOXML write plain #REF! if deleted partsEike Rathke1-1/+10
(cherry picked from commit bb0ef99fb9dce30e99a7e9f7fa295a634d07b423) write the [#REF!] as defined in ODFF, tdf#86575 related ... if a part of the reference was deleted, instead of [.#REF!A1] Actually this is a regression that already can be tracked down to c54616f62bc70a9d39abf8837a9d7c3031c80a41 which changed things to use ValidAddress() only. (cherry picked from commit eeb203089f2ba6dffba9a2543c9a7e8bf551bbc5) 70f68722d7af02f6da3380c2dd9d54704c20b451 Change-Id: Ie3233d72bdbdd0ab82386c98a46755ce64ef3e7f Reviewed-on: https://gerrit.libreoffice.org/24705 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-05-05Resolves: tdf#94146 a11y crash, obtain formula using the correct pointerEike Rathke1-1/+2
Fallout from IAccessible2 integration. Of the union, wrong string pointer instead of formula cell pointer was used. Change-Id: I1afaf0ffff14a770ab52e8cbf880708bd66b3ef2 (cherry picked from commit 3a767d91bfa70af4303b905cefa038181d56cc9a) Reviewed-on: https://gerrit.libreoffice.org/24652 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-05-03Resolves: tdf#96426 significant whitespace as intersection in Excel syntaxEike Rathke2-4/+4
Also when reading/writing OOXML, so change SC_OPCODE_INTERSECT of RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML accordingly to " ", where previously "!" was expected and written, which was plain wrong. (cherry picked from commit 26adceb098134d918f6d57c8687ab057e24adc39) simplify the ReplaceToken() offset logic to absolute offsets (cherry picked from commit f41257dc9913cd6020a3a37bf425c20b51e18ece) fully check for adjacent RPN end, tdf#96426 follow-up (cherry picked from commit b0992e11905e36a64edeb92a13acfde5837c1878) narrow down where a space could be an intersection, tdf#96426 follow-up (cherry picked from commit e0875f8e348a3aca036bc0cc629fb038fabc8062) Adapted to backport. more differentiated significant whitespace recognition, tdf#96426 follow-up (cherry picked from commit 0f8a8332a52cd03b43aaab86e0c232e0964d7111) first range can be anywhere before second at RPN end, tdf#96426 follow-up ... not just adjacent to the one at the end. So we actually can handle INDIRECT("A2:C2") INDIRECT("B1:B3") (cherry picked from commit 0c5663cfb13f4f55e246d42ac464d5e2c2f23099) check presence of token, tdf#96426 follow-up (cherry picked from commit edd4370f5ba49a26a526995b6a28f623d68041ce) 4c368dfd113b02d208013b4ba79dff606769a150 8d02fb63bc0c5cb48aabaf7a8800f5f9ac95cbf5 886e559c6f6041bf4889fdd6d89c12a10be70e5f c53a4a0d19a11298895efb28e2786e48a071e72b 081409a82a9ff64f163115bf4597afbb9b2f5fa6 e8030ebc13bb1ae2246611f5722da97970b8c544 Change-Id: Ic0cfd7afc657f07bfd8e37de61b3621cc68685ff Reviewed-on: https://gerrit.libreoffice.org/24374 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-05-03Resolves: tdf#99417 explicitly track formula cells for BROADCAST_BROADCASTERSEike Rathke1-1/+8
Change-Id: I717fc6d1d7c2bc01ed2a256f6fc08a055be24e4b (cherry picked from commit a0b9fa819c9193dee1405cee13690adf00e2d9b9) Reviewed-on: https://gerrit.libreoffice.org/24592 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-05-03Resolves: tdf#99461 reverse logic of TokenPointers::skipToken()Eike Rathke1-19/+25
... so that all code tokens are adjusted even if shared with another flat copied token array, but RPN not if shared. Was vice versa. ScConditionEntry has shared token arrays for pFormula1|pFCell1 respectively pFormula2|pFCell2 hence the references weren't updated. Change-Id: I52256b5ea20da753a2a29ff437f09c921566e070 (cherry picked from commit 03124f5be5466c7f7cac012de05ef387b9718c4a) Reviewed-on: https://gerrit.libreoffice.org/24375 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-04-26-Werror=address (GCC 6)Stephan Bergmann1-10/+1
"the compiler can assume that the address of ‘rDoc’ will always evaluate to ‘true’" Change-Id: Ic5dc481b84efad679150d13002a360478474cb90 (cherry picked from commit 9e74ff76cdd92849def033f2f65dd5d771bb0267) Signed-off-by: David Tardon <dtardon@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/24414 Tested-by: Jenkins <ci@libreoffice.org>
2016-04-26-Werror=address (GCC 6)Stephan Bergmann1-2/+3
"the compiler can assume that the address of ‘rItem’ will never be NULL" Change-Id: I90a8a3074c2dab427b4bc6345ec4a824eb2ac249 (cherry picked from commit 8404dc3c76babbc9d0a165f4046a6e5e1be35fe5) Signed-off-by: David Tardon <dtardon@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/24411 Tested-by: Jenkins <ci@libreoffice.org>
2016-04-20Resolves: tdf#91778 drawing the background over an active cursorCaolán McNamara1-0/+12
will overwrite it, which means that when it toggles "off" afterwards, it uses invert on the freshly drawn background which will visually make it appear "on" and not off Just explictly turn it off and restore it and avoid the whole potential problem. Change-Id: Ie21d77e9d704124011e43b42c98b26eaf208eef2 (cherry picked from commit 29a9f433c268414747d8ec7343fc2b5987971738) Reviewed-on: https://gerrit.libreoffice.org/24259 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-04-19call StartNeededListeners() only on affected columns, tdf#99322 follow-upEike Rathke8-6/+63
Iterating over the entire document is an unnecessary performancce penalty if the set of affected columns is already known. (cherry picked from commit 35abb3aacb4072171e8c580e1306e3c44e368646) Conflicts: sc/inc/document.hxx sc: fix loplugin:passstuffbyref (cherry picked from commit 7218011f134250a2ad3e03ff28d5665265c50605) const as const can, tdf#99322 follow-up (cherry picked from commit 2efd20c7a18fe5e864509c75443883ccf35bc3a4) 6716817b0ca439b63cc7b49eb7a611c2c15a9b00 8c9714e6c6b15fbb1068b79d2efae48927a1fa77 Change-Id: I84598066f878ca4615d6a5e1d6c70ebaa686e446 Reviewed-on: https://gerrit.libreoffice.org/24242 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Jenkins <ci@libreoffice.org>
2016-04-19Resolves: tdf#99322 re-establish group area listeners after update referenceEike Rathke1-0/+8
Change-Id: If2ec5f938c7278ce817de3d89dc84cc0584507ac (cherry picked from commit 44e2da58226448c5617eac08ca2ae3d9a9ad2afa) Reviewed-on: https://gerrit.libreoffice.org/24225 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-04-18tdf#96996 sc: fix the data pilotMichael Stahl2-3/+6
ScDPSaveData::GetInnermostDimension() should iterate in reverse (that fixes the reported bug), and ScDataPilotFieldObj::setOrientation() loop needs an early exit. (regression from 37856f59d2351951b95cf5eb3a5e4f0c011a8762) Change-Id: I7e0309385f3444bfd3ad21268cce4d25e60d7b05 (cherry picked from commit 470f16acc2a798f0ae1ebe9ce2080084ab167e80) Reviewed-on: https://gerrit.libreoffice.org/24060 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-04-12Resolves: tdf#97897 (re)broadcast if formula groups were splitEike Rathke1-1/+35
DeleteSelection() and DeleteSelectionTab() remove listeners for split formula groups, broadcast change after listeners of new groups have been established. Change-Id: I017e92b5cbc5f866768f3732e9997028c0c065fa (cherry picked from commit 94a95dce43e07b40350ed849db148b2946e3fd5e) Reviewed-on: https://gerrit.libreoffice.org/23894 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-04-12(re)broadcast if value replaces cell of grouped formulas, tdf#97897 relatedEike Rathke1-0/+5
Replacing a grouped formula cell with a different content may lead to the remaining cells of the group not being recalculated if they listen to a range that contains the current position. For example A1: 1 A2: =SUM($A$1:$A1) => 1 A3: =SUM($A$1:$A2) => 2 Enter 2 in A2 => A3 should be 3 but is not recalculated. Loading http://bugs.documentfoundation.org/attachment.cgi?id=122714 of tdf#97897 exhibits that behavior. Change-Id: I10b91e77549a7534143be3d6e3cc03026cdaa764 (cherry picked from commit ce28d83912d14bc81c455af64893842de78a8c8d) Reviewed-on: https://gerrit.libreoffice.org/23855 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-04-12Resolves: tdf#98990 accept R1C1 notation entire column/row referencesEike Rathke1-5/+9
... which consist of only C4 or C[3] without a range operator. Change-Id: I1865f0ec4c4fec1101b93b6b40d6f26871a65f07 (cherry picked from commit 3c36ba50f65d663f35264f2a11c99c0ff98674a2) Reviewed-on: https://gerrit.libreoffice.org/23842 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-04-12use the better color import method also for databars, tdf#98554Markus Mohrhard1-21/+3
Ideally we would move some of the magic here into the ThemeBuffer class but this requires a lot more test cases. Change-Id: I29adadda6b40cd1863ad3d68554acf7f27c57900 Reviewed-on: https://gerrit.libreoffice.org/23945 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-04-12work around Excel theme color bug, tdf#98554Markus Mohrhard1-2/+5
Change-Id: Id0cd37b37394a0759ee6ffccafd8def719c14312 (cherry picked from commit 5639909d59b158708305ce3b2e6afe3760032e84) Reviewed-on: https://gerrit.libreoffice.org/23944 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-04-12import all formatting properties for column style, tdf#96549Markus Mohrhard2-17/+4
Change-Id: I782f3ea7cfa9af335bd117b9f4ad6ac9c719115b Reviewed-on: https://gerrit.libreoffice.org/23932 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> (cherry picked from commit e8322dffb4dfc7015ee0842f133b79080eb2b0d8) Reviewed-on: https://gerrit.libreoffice.org/23943 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-04-12lp#1566050: prevent cyclic reference zombiesBjoern Michaelsen1-0/+1
regression, likely from 2660d24a07866e083c5135ea263030f3e3a2e729: 1/ Since that change mxAccessible in ScCsvGrid holds a rtl::Reference on a ScAccessibleCsvGrid 2/ Which in turn holds a VclPtr<> (aka a rtl::Reference with lipstick) on the ScCsvControl These are a circular references, making both of them live forever and leak past the point where on LibreOffice close all of Vcl is long gone, when these are dtored. Clearing mxAccessible on disposing should help. Change-Id: Iebb2635ec4ea143e7f0dbfebad2e6141a68e72e8 Reviewed-on: https://gerrit.libreoffice.org/24021 Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com> Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
2016-04-07(re)broadcast, same as in ScDocument::SetString(), tdf#97897 relatedEike Rathke1-0/+5
As with ce28d83912d14bc81c455af64893842de78a8c8d Change-Id: I7cd30509138368d73b43c82d71d520d55417d416 (cherry picked from commit b6ba851c02570c17e0484c94065a2e72c5675e58) Reviewed-on: https://gerrit.libreoffice.org/23871 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-04-02Avoid running out of memory on Windows when OpenCL is availableTor Lillqvist1-0/+6
Call Clear() on the ScDocShellRef (derived from tools::SvRef) members of the ScOpenCLTest object in tearDown(). Otherwise the memory used by the ScDocShellRef objects in each ScOpenCLTest object would be held until when all the ScOpenCLTest objects are destroyed in the end. (CppUnit creates all the ScOpenCLTest objects in advance, then calls the test functions on them, and then destroys them.) The issue was a side-effect of the (otherwise nice) fix for tdf#89267. Change-Id: Ie5c59f2f089386c0abc135136397e1653c975fdc (cherry picked from commit 22fd8e743f455ab072086fb91c29a40f391403a9) Reviewed-on: https://gerrit.libreoffice.org/23650 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-03-31tdf#93300, handle hard formatting with cond format correctMarkus Mohrhard1-12/+42
For number formats we always applied the conditional format above the hard formatting. Now we handle styles, conditional formatting and hard formatting correctly. Reviewed-on: https://gerrit.libreoffice.org/22574 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 2c728b0ae7f52691b1a3d5ab555225f5e8ac95a5) Conflicts: sc/source/core/data/patattr.cxx Change-Id: I52dbeeb848b982985d6b17dad920baedffb218e4 Reviewed-on: https://gerrit.libreoffice.org/23711 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-03-31tdf#92963 Pasting a whole row with data crashes all open LibO appsArul Michael1-0/+7
In ScColumn::GetNeededSize the memory pointed by rOptions.pPattern is freed and new value is set again in ScFormulaCell::InterpretTail function in pDocument->SetNumberFormat when pDocument->GetCondResult is called in column2.cxx:130.For fix setting the newly calculated ScPatternAttr* value after the GetCondResult call. Change-Id: I045404465b6dfa561b0821bb3b1875463aa7887a Reviewed-on: https://gerrit.libreoffice.org/23688 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 99bf0b931401f556033f67297aa9783c4cf19b00) Reviewed-on: https://gerrit.libreoffice.org/23708
2016-03-29fix memory leak in array xls importMarkus Mohrhard2-7/+17
The ScMatrix instances are leaked because there is no DecRef called on them when we Reset the TokenPool. Reviewed-on: https://gerrit.libreoffice.org/23194 Reviewed-by: Kohei Yoshida <libreoffice@kohei.us> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Conflicts: sc/source/filter/inc/tokstack.hxx Change-Id: Ie5e1a10c6be94b45df784c04f6db744928f213ff Reviewed-on: https://gerrit.libreoffice.org/23488 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-03-29tdf#98657: Fix a corner case when NaN's were added to ScFullMatrix.Jan Holesovsky4-2/+25
Change-Id: Id3befb82c39f9caacc908d664d42365ce6996054 Reviewed-on: https://gerrit.libreoffice.org/23491 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-03-24don't sanitize value to an insane value, tdf#97863Markus Mohrhard1-1/+4
Change-Id: I0e4de6b676fb61536dadefc96a719cf50be128ed Reviewed-on: https://gerrit.libreoffice.org/23486 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-03-24Resolves: tdf#98642 comparing RPN insufficient in shared formula detectionEike Rathke1-1/+46
(cherry picked from commit d6b32653ad34f0879ad1ada421a3a2655dd766e1) Backported. Change-Id: I78812c2d6fdb3464ccc2ebeee901a76f675effa4 Reviewed-on: https://gerrit.libreoffice.org/23436 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Jenkins <ci@libreoffice.org>
2016-03-23add a recursion guard to lcl_FindRangeNamesInUse()Eike Rathke1-5/+9
Change-Id: Ifbc02304f5a2e080db2d6645e2c7f825a2c56cb5 Reviewed-on: https://gerrit.libreoffice.org/23472 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-03-22Resolves: tdf#93127 copying cells does not modify named expressionsEike Rathke2-0/+8
Change-Id: Ic3d0b0a709ecfeade4b3a9c4be9e0c9cfd766103 (cherry picked from commit 7d267d3b168ba3b13763733e8c319a79d990773a) Reviewed-on: https://gerrit.libreoffice.org/23409 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-03-18ensure a correct index is assigned to a duplicated ScRangeData instanceEike Rathke1-0/+1
ScRangeName::insert() assigns an index only if the passed ScRangeData instance's index was 0. Duplicating an ScRangeData object duplicates also the index, so effectively two instances with the same index could be inserted to the named expressions collection, a following ScRangeName::findByIndex() retrieved one of them by chance. Change-Id: Ic141ffb1a683bda5907f4359167da84faf1649e1 (cherry picked from commit 336d816176650726f6d14539464d9fd28ddd032d) Reviewed-on: https://gerrit.libreoffice.org/23323 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-03-15vcl: move graph.[hx]xx to graphic.[hc]xxChris Sherlock12-12/+12
It's IMO a bit confusing to see a "graph" header that doesn't strictly deal with graphs, but graphics. Backporting to 5.1 series to allow for easier backporting of other potential hotfixes. Change-Id: Ic37c6cd78e23d05939486f98667144c4453bb0a3 Reviewed-on: https://gerrit.libreoffice.org/22949 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2016-03-15Resolves: tdf#93196 add RecursionCounter guard also to InterpretFormulaGroup()Eike Rathke1-19/+29
... same as for ScFormulaCell::InterpretTail() Change-Id: I444f259fe4e86ed0638a04f1b5d9272edd182e2e (cherry picked from commit 29ee431c1cf859c3d5a5041cff5cb04b89db27a0) Reviewed-on: https://gerrit.libreoffice.org/23279 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Tardon <dtardon@redhat.com>
2016-03-14tdf#94561 : Create notes drawing objects only once on sheet copyDennis Francis6-8/+27
Skip copying notes in CopyToColumn() and then call CopyCellNotesToDocument() only after copying hidden rows and filtered rows info. Skip copying notes drawing objects in ScDocument::DrawCopyPage() when inside ScDocument::CopyTab(). Change-Id: I38296bb5d1cc062d473ea4a5a3143f6c1787fc4a Reviewed-on: https://gerrit.libreoffice.org/22331 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 7c0f6b9d0fb8d7d9e54865ccf1047bb8f8148101) Reviewed-on: https://gerrit.libreoffice.org/23122
2016-03-14tdf#98083: Always save cell formatKatarina Behrens5-13/+44
it was pretty bad idea not to save it for rich-formatted cells (tdf#92296) as there is more to cell format than just a font Due to a bug in xpath helper I'm backporting only part of the test (cherry picked from commit 7945cdf0ea570302a04550540848c03c0cd030ab) Change-Id: I0e5e7d7187c69519bb8f4de2b627e385fccd3d46 Reviewed-on: https://gerrit.libreoffice.org/23032 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-03-09Resolves: tdf#95226 second case, stack error count in JumpMatrix contextEike Rathke1-0/+14
For the early bail out on errors to work correctly and not prematurely end calculations the current error function needs to be stacked in JumpMatrix context, otherwise we may end up with ((nErrorFunction=74)>=(nErrorFunctionCount=2)) or some such.. Change-Id: I3559e15180694961585db92f6aa98a46430ae372 (cherry picked from commit 62b40429946c0e5021912072dc79a60fc11fce06) Reviewed-on: https://gerrit.libreoffice.org/23089 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-03-09Resolves: tdf#98297 exclude error values from COUNT in array/matrixEike Rathke3-13/+29
Change-Id: I202dcc2a2b90ee8ed27815b97a2aad6e4df2f1b9 (cherry picked from commit b2f5336b08b5f638f890a626eb2aeefaf499a79b) Reviewed-on: https://gerrit.libreoffice.org/22843 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>