summaryrefslogtreecommitdiff
path: root/sc
AgeCommit message (Collapse)AuthorFilesLines
2016-08-03Resolves: tdf#100123 prefer notation priority in detecting range/addressCaolán McNamara1-43/+91
i.e. try and parse whether something is a range or an address in order of document address convention, Calc A1, Excel A1 and Excel R1C1, rather than check if something is a range in any of those conventions before checking if it might be an address in any of those conventions. Reviewed-on: https://gerrit.libreoffice.org/27821 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> Backported. Conflicts: sc/source/ui/view/tabvwsh3.cxx Change-Id: Ibb744c3eda78a80f33bdbfa5f5ddf0aa5b6361af Reviewed-on: https://gerrit.libreoffice.org/27825 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>
2016-07-26No need for own implementation of erfc() in OpenCLTor Lillqvist3-192/+1
The own code was copied from the C++ one we used to have in sal/rtl/math.cxx but which was removed in a62bc6a65abb47adb0e4caff7e38823c15b302fc. However, it did not work correctly on some machines at least, like my AMD A10-7800 running Windows 10. I was unable to figure out why not. This lead to OpenCL being disabled by the Desktop::CheckOpenCLCompute() code we now run early on startup. Anyway, as OpenCL has erfc(), just use that. (cherry picked from commit 4afa88f289de1150850b52d36f2345fd9a9fbc1e) Change-Id: I1684ca5619f8eb6f2e56fc3fea8cb92176f97f54 Reviewed-on: https://gerrit.libreoffice.org/27542 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-07-25Need to try to avoid TDR also with NVIDIA cards on Windows 7 or earlierLaszlo Nemeth1-3/+2
(TDR is Timeout detection and recovery, was introduced in Vista.) Change-Id: If88f8e9e2aff2a5ffd633607ee6aebb5614c5caf Reviewed-on: https://gerrit.libreoffice.org/27522 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-07-21Resolves: tdf#100847 also external svEmptyCell is 0 in numeric contextEike Rathke1-1/+1
Regression of 243f19a1878d52a4074b59041dc3bc57ab84e417 that now differentiates between numeric and string content of external references' cells. Change-Id: I7a9635357cc7651353067a38f9ac8bc295f88546 (cherry picked from commit 89a5464a21046821648ec77f03db8316ceb4e6f8) Reviewed-on: https://gerrit.libreoffice.org/27111 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 9c30e2aab23e34ba91dbe80b7dd5e5c352bbaeb0) Reviewed-on: https://gerrit.libreoffice.org/27372 Tested-by: Jenkins <ci@libreoffice.org>
2016-07-18Resolves: tdf#100764 check row when determining bounds for deleted rangeEike Rathke1-2/+8
Regression introduced with a2e591e26549294cdb07eb685d4069343404d898 for tdf#86502 Change-Id: I493c458faedccfd6e2ddf849073a52661ef2e4d0 (cherry picked from commit ab1b351840160655a9f0caedbb35e9fdf203c5a0) Reviewed-on: https://gerrit.libreoffice.org/27246 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-07-18forward compatibility for several _xlfn.ORG.OPENOFFICE.* functions in OOXMLEike Rathke1-1/+8
as they will be written by LibreOffice 5.3 ERRORTYPE, MULTIRANGE, GOALSEEK, EASTERSUNDAY, CURRENT and STYLE. Change-Id: Ifad317ccb2ae6dd0e53cadf2ad298490c14f1010 Reviewed-on: https://gerrit.libreoffice.org/27226 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-07-12tdf#100883 - opencl impls. that use SEH are still bad.Michael Meeks1-0/+5
Amazingly we fell-back to the old calculation path for crashes in older LibreOffices. Change-Id: Ia182f7a25c5560b68494d5cdd68e02925bfd5845 Reviewed-on: https://gerrit.libreoffice.org/27164 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2016-07-12desktop: validate OpenCL drivers before use.Michael Meeks4-19/+19
OpenCL validation needs to happen before drivers are used in anger. This should isolate any crashes, and/or mis-behavior to We use app version, CL driver version and file time-stamp to trigger re-testing the device. If anything fails: hard disable OpenCL. We use an opencl validation sheet (cl-test.ods) and install it. It is a minimal CL set - it requires a very short formula group length, and combines several CL functions into few formulae to test more. The sheet structure, in particular the manual squaring / SQRT is necessary to stick within the default CL subset, and ensure that formulae are CL enabled from the root of the dependency tree up. Reviewed-on: https://gerrit.libreoffice.org/27131 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit c44726c48228d9c6a5960e302b1c0bd16b0099c4) + opencl: bail out early in missing OpenCL case. (cherry picked from commit 605a5dc088385ad21c33028d8107125c0316ddb1) + Remove bogus dependency from opencl to configmgr Since f41eb66302208f384a475fb20c98b6d1b0676cb6 "opencl: OpenCLZone, detect CL device change and disable CL on crash" vcl links against opencl (so indirectly linked against configmgr), which caused CppunitTest_configmgr_unit to include the configmgr object files both statically (through gb_CppunitTest_use_library_objects) and through the linked-in configmgr dynamic library, which in turn caused ASan builds to report an ODR violation for a doubly defined 'typeinfo name for configmgr::Access'. (cherry picked from commit 9c711f05fa10dc70e4257a1f48d43f539353541a) Change-Id: I18682dbdf9a8ba9c16d52bad4447e9acce97f0a3 Reviewed-on: https://gerrit.libreoffice.org/27146 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jenkins <ci@libreoffice.org>
2016-07-12opencl: OpenCLZone, detect CL device change and disable CL on crashTomaž Vajngerl1-2/+15
Guard OpenCL calls with OpenCLZone, so if a OpenCL call crashes we detect this and disable OpenCL so next time the user doesn't encounter the crash at the same calculation because he has a broken OpenCL drivers. Similar has been implemented for OpenGL with good results. Additionaly we persistently remember a known good OpenCL device ID and driver version so we can match this and perform calculation tests when they change. This is to ensure that the selected OpenCL device performs as we expect. In this commit the calculation tests aren't included yet. Remove complex static initializer in opencl wrapper library. Reviewed-on: https://gerrit.libreoffice.org/27064 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit f41eb66302208f384a475fb20c98b6d1b0676cb6) Change-Id: I1a8b81ee31298731efcf63dc6a476955afc035e9 Reviewed-on: https://gerrit.libreoffice.org/27103 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2016-07-11tdf#99512 - opencl - restrict scope of vlookup optimization to doubles.Michael Meeks1-1/+30
Change-Id: Iab7316cb167f34c13adafe142af0fdd73eb7d04c Reviewed-on: https://gerrit.libreoffice.org/27100 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit dead5dc1ae3baab5e25d641322d138dd3d242bff) Reviewed-on: https://gerrit.libreoffice.org/27105 Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2016-07-08tdf#100753 propagate error with VAR and STDEV functions.Winfried Donkers1-0/+9
Change-Id: I1b3ece177f5586f5cd64a34d16193d01d4bd5bd9 Reviewed-on: https://gerrit.libreoffice.org/26979 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> (cherry picked from commit b9c9bf666b4eb7ee4568fe155a2c8b50a02c4ad5) Reviewed-on: https://gerrit.libreoffice.org/27061
2016-07-08Resolves: rhbz#1353069 don't clear XATTR_FILL* from stylesheet if...Caolán McNamara1-1/+1
the master page is not the sole owner. Which happens when copying and pasting slides which bring along a duplicate master page to an already existing one, and the attempt to remove the duplicate strips the fill properties from the shared stylesheet in use by the other regression from... commit b876bbe2cacce8af379b10d82da6c7e7d229b361 Author: David Tardon <dtardon@redhat.com> Date: Tue Apr 26 09:17:11 2016 +0200 rbhz#1326602 avoid exp. bg bitmaps from deleted slides (cherry picked from commit de4908eb4d2f1f2ce38a37eea18a9efc4a0073b1) Change-Id: I91fb8f622a0e35741ecc37cef14fc93199bb730b Reviewed-on: https://gerrit.libreoffice.org/26976 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Tardon <dtardon@redhat.com>
2016-07-06Resolves: tdf#90285 do not reuse the same StartListeningContextEike Rathke1-1/+2
... that after UpdateInsertTab and related may point into broadcasters' ColumnBlockPosition that have been shifted to the next sheet. Change-Id: I6f657021b6102cec427734a8ff3105f0c4309a7a (cherry picked from commit dd7a2c95b86d158be8d0637bdff13b9a0ed9954b) Reviewed-on: https://gerrit.libreoffice.org/26959 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-07-06Resolves: tdf#90285 during sheet copying the old sheets retain their old indexCaolán McNamara5-21/+21
at the point that ScDocument::CopyTab calls StartListeners so when void ScColumn::StartListening(sc::StartListeningContext& rCxt... calls rCxt.getBlockPosition(nTab) it calls it with the old nTab index in ScDocument::maTabs, so the return block position is not correct. Here I bubble down the requested ScAddress and use its Tab/Col/Row members rather than trust the members of the indexed-into elements Change-Id: I291e8c1146c2caa4d0976780b1ee6bcc41994e3c Reviewed-on: https://gerrit.libreoffice.org/26552 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 2511e272481172b439d167fd8b09d14c755f223d) Reviewed-on: https://gerrit.libreoffice.org/26958 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-07-05explicitly disable partial cell shift with change-tracking, tdf#73335 relatedEike Rathke1-0/+20
... in ScDocFunc::InsertCells()/DeleteCells() that can be reached via API but ChangeTrack produces a SC_CAT_NONE action because the partial shift is not handled. UI slots are disabled for this. Change-Id: Ie0f992b05753bb1467d3f7a80263714bfcc1a2d7 (cherry picked from commit 9f8e2065c42f1724ac7a24f1bb0531e8c954698a) Reviewed-on: https://gerrit.libreoffice.org/26923 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-07-05Resolves: tdf#91995 copying cells to undo doc shallow copied note pointerCaolán McNamara1-0/+4
maybe UpdateCaptionPos isn't needed if we do it this way and deep copy it. surely we have to copy the note here, otherwise it gets deleted by both the source and destination document Change-Id: I6bc885c45b2938d0c775572c48642e67cd1ef5ca Reviewed-on: https://gerrit.libreoffice.org/26913 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 7566851d653ec052e9b7baa98ec2a993328f84e4) Reviewed-on: https://gerrit.libreoffice.org/26940 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-07-04tdf#73335 sc: ODF export: ignore ScChangeAction SC_CAT_NONE harderMichael Stahl1-1/+6
ScChangeTrackingExportHelper::WorkWithChangeAction() must not add attributes when it does not export an element. Change-Id: Ia6625b73114ab8bf93c4b7a31b484d11bef2fde9 (cherry picked from commit ed913ce8352dc4ad9f4688180a9b27d02e8f524f) Reviewed-on: https://gerrit.libreoffice.org/26918 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2016-07-01Step towards disposing of ScDataFormDlg properlyKatarina Behrens2-3/+9
There were some VclPtrs hiding inside std::vector (twice), so fix that, but the destructor is still not called (getting Window::~Window inconsistency assert). With this patch however the screenshot cppunit test no longer fails Thanks noelgrandin for help Change-Id: I8b46c4608cbab2070e36ef4abec226bcd997425e Reviewed-on: https://gerrit.libreoffice.org/26772 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com> (cherry picked from commit ec6956491a0c6553a9fb91f64c6ceb7cd8e8aa52) fix Window::~Window: inconsistency in top window chain leak Change-Id: I4f32b77a4b107e5315e0c2bc9b20db897135c8b0 (cherry picked from commit 937cbdb579820aa1dd0526682df1ea98a34168c5) Reviewed-on: https://gerrit.libreoffice.org/26792 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2016-06-29tdf#100641 correct OOXML function name is EFFECT instead of EFFECTIVEEike Rathke1-0/+22
(cherry picked from commit ed5bcef57b678cb92c68bf842a72e50f4dd1e2ea) accept EFFECTIVE as EFFECT in OOXML import (cherry picked from commit f3f89f4f3180b0fd63c5290c665894c6a27f2ae2) 18a914972d69a37e9dcf5b18ffbea9177004dad7 Change-Id: Ieb7484afe210e378efd43ba3a181cd90d29619b9 Reviewed-on: https://gerrit.libreoffice.org/26704 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-06-29tdf#75387: Don't case-fold strings for formula group calculationsTor Lillqvist1-4/+4
There should be no need for it as far as I see. Possibly it made some sense back when we thought we could use OpenCL for operators and functions that are supposed to ignore the case of strings they handle. But we hopefully should never try to use OpenCL for string data nowadays anyway. And actually, the case-folding ended up affecting strings handled by the so-called software interpreter. For the tdf#75387, the sample sheet worked fine when OpenCL was enabled. Change-Id: I1c170ebf09551fea0964f394cdb3c65079672257 (cherry picked from commit f948dce856d51704e1962553198015dbebb6e527) Reviewed-on: https://gerrit.libreoffice.org/26746 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-06-29tdf#96540 dragging between sheets can change the current cursor positionCaolán McNamara5-3/+37
so the at position at time of drop may not be that at the start of the drag. So set the current cursor position to ScTransferObj when the drag starts and retrieve it later Related to: commit ac3b66057ba677903b6de354317417b267be0fa0 Author: Kohei Yoshida <kyoshida@novell.com> Date: Thu Sep 16 11:09:29 2010 +0200 calc-selection-fixed-cursor.diff: Migrated n#502717, i#21869, i#97093, when making selection, don't move the cursor position and commit c433fa0639ccf5caeb0c128c8a3794322e2a1c81 Author: Markus Mohrhard <markus.mohrhard@googlemail.com> Date: Fri Jul 6 02:04:44 2012 +0200 adjust the calculation of the cursor pos if ALT is used, fdo#48869 Change-Id: I6316717c860d999270aa7f0fb50af5f6dfc7efd7 I haven't used SetSourceCursorPos everywhere a ScTransferObj is created, just where its created through a drag event Change-Id: I50c36b4a2ba45426edebc1f1dfa5e262db3c5d03 Reviewed-on: https://gerrit.libreoffice.org/26512 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> (cherry picked from commit f9b46bbd2446a6c9a0aaab31016536bda4a77294) Reviewed-on: https://gerrit.libreoffice.org/26538 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
2016-06-28tdf#98515: Bail out early if kernel would have ridiculously many parametersTor Lillqvist1-0/+13
The Right Thing to do would be to compare the accumulated kernel parameter size against the CL_DEVICE_MAX_PARAMETER_SIZE of the device, but let's just do this sanity check for now. Bail out if the kernel would have more than 50 parameters. Calculating the accumulated kernel parameter size would be more complicated and I don't want to touch this code more than necessary. The kernel compilation will fail anyway if the size of parameters exceeds the limit and this sanity check is just to make us bail out a bit earlier. In tdf#98515 the slowness seems to indeed be caused by the OpenCL code generation , and there the number of parameters was 999, so this sanity check does fix the slow loading issue (I checked). (cherry picked from commit a48aefcae40663b63005d49a04fc7b89a473d613) Change-Id: Iead6dfb94ec8e7b2968ffed9423f0f9522a10ce9 Reviewed-on: https://gerrit.libreoffice.org/26703 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-06-23Resolves: tdf#100460 queryContentCells doesn't count annotations...Caolán McNamara3-0/+17
since commit c06dbbe7594c2a0b5a5b19f8e183d9c421e6e094 Author: Markus Mohrhard <markus.mohrhard@googlemail.com> Date: Thu Feb 23 23:36:49 2012 +0100 remove mpNote from ScBaseCell (cherry picked from commit 83f977c7f40d1a5fb975b8ce7c9958c992dba3f1) Related: tdf#100460 GetNotesInRange doesn't count last cell in range e.g. open document from tdf#100460 and select select A20:A21 and right click and there is a hide comment entry. Shrink the selection to just A20 (which has the comment in it) and the right click menu has no hide comment entry in it. std::for_each(it, itEnd means it < itEnd but here we want the rows indicated by nStartRow <= nEndRow so we need to increment itEnd by one to get the right range (cherry picked from commit 84dc0157df9cb173ec74da2bd27507329efc3816) Change-Id: I281a207e26aec8886b1f46b9279e1135b61586da 48e8c0748f520671e09f04b16961bf9729960317 Reviewed-on: https://gerrit.libreoffice.org/26614 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-06-20tdf#98955 hardware_concurrency not ideal for thread poolsAshod Nakashian2-2/+2
A new static member getPreferredConcurrency added to comphelper::ThreadPool to return a configurable max number of threads. By default the new function returns the hardware_concurrency value provided by std::thread. When MAX_CONCURRENCY envar is defined, the return value is limited to whatever is set there. Three call-sites that used std::thread::hardware_concurrency have been replaced with getPreferredConcurrency. Unittests added to cover the functionality of the new member. Unittests are capped to 4 threads. Reviewed-on: https://gerrit.libreoffice.org/26254 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> (cherry picked from commit 60e75fb276778459f6055360646d879b8c615d83) Change-Id: I3332e393a88a5ed436316fa712ed920a4b37f4af Reviewed-on: https://gerrit.libreoffice.org/26394 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-06-14Resolves: tdf#90419 diminish precision error in Series FillEike Rathke1-4/+39
There may be more elegant ways to accomplish this, go and find one.. Change-Id: Iceaa0783db9cf3d3e1aa20f075fe7e0618a1feb6 (cherry picked from commit e89c0e4fb783bd36d5f5fea154ee8608e542dae4) Reviewed-on: https://gerrit.libreoffice.org/26220 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2016-06-14tdf#100342 fix order of weekdays in NETWORKDAYSWinfried Donkers1-1/+2
For the definition of working/weekend days, ODFF1.2 uses 0..6 for Sunday..Saturday. NETWORKDAYS used ISO ordering (Monday..Sunday), but now complies with ODFF1.2. Change-Id: I169433adfac5d66af979181c328658040d7ab77f Reviewed-on: https://gerrit.libreoffice.org/26246 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> (cherry picked from commit d81fa4eb3a8960c1a1280fdd07bafa29de8290d2) Reviewed-on: https://gerrit.libreoffice.org/26270
2016-06-14check ExternalSingleRef token for svDouble typeEike Rathke1-1/+6
... before accessing GetDouble(). Else convert the string. The new assert() introduced in FormulaToken::GetDouble() virtual dummy was hit by loading gnome334723-1.sxc Change-Id: I144b0cabee3aac44d206d76a83b1c4d81ab4a02e (cherry picked from commit 243f19a1878d52a4074b59041dc3bc57ab84e417) Reviewed-on: https://gerrit.libreoffice.org/26261 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Jenkins <ci@libreoffice.org>
2016-06-11Resolves: tdf#100285 EASTERSUNDAY() check valid year between 1583 and 9956Eike Rathke1-0/+6
Change-Id: I4b25f1eb8e3cf0236b69607bb9ab9b4c57ae918a (cherry picked from commit 2c08ec226e771de10c8863b7f1cda016fea442d2) Reviewed-on: https://gerrit.libreoffice.org/26109 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-06-10tdf#97340 : Handle autofilter search for dates correctlyDennis Francis2-27/+152
Reviewed-on: https://gerrit.libreoffice.org/26005 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 848737eb576555f7c01d2159a9cf64d020dc2598) Change-Id: I5c8413d560789a626ea87eb28a89059960177f1f Reviewed-on: https://gerrit.libreoffice.org/26008 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Dennis Francis <dennisfrancis.in@gmail.com> Tested-by: Dennis Francis <dennisfrancis.in@gmail.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-06-10tdf#100257 - Data : XML Source does not workNoel Grandin2-11/+21
Revert "sc: boost::ptr_vector->std::vector" This reverts commit 280553e30f4ddc932838f98a9efaac03a988a0df. Reviewed-on: https://gerrit.libreoffice.org/26106 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com> (cherry picked from commit d6a6f587a852ba5c993c658b6b6432a65207f5b7) sc: eeek, a boost::ptr_vector! take it off! take it off! (cherry picked from commit 741077bf1cdb0c9240ee3e90f07a42bef5bb7a8f) Change-Id: Ia50c9cf7902e2e830c6e7f7a13c8f04341556e6c Reviewed-on: https://gerrit.libreoffice.org/26150 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com> (cherry picked from commit 895468d7388ee17ba33804f19bad52933312ae5d) Reviewed-on: https://gerrit.libreoffice.org/26160 Reviewed-by: Eike Rathke <erack@redhat.com>
2016-06-09Resolves: tdf#89186 descend into dimension children to obtain leaf resultEike Rathke1-0/+18
(cherry picked from commit 81f2bbc2fc42688d5f884d3dde58abe4c265694a) Backported. Change-Id: Iea6c292c6d7347c4abb221672e583118196e6c1f Reviewed-on: https://gerrit.libreoffice.org/26028 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-06-07Resolves: tdf#88237 crash without java but with nlp solver installedCaolán McNamara1-14/+21
Change-Id: Ifb451c299e4586a3a38c83a3111f3ac0b46d9315 (cherry picked from commit a33d18c1e38dd783e779ca1dbf54e1ad90cae751) (cherry picked from commit 07c32ba5f81a3d2ed66ee182b8a7772d20c4266f) Reviewed-on: https://gerrit.libreoffice.org/26007 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2016-06-03Resolves: tdf#98880 ensure backing context of DoubleVectorRefToken...Caolán McNamara5-5/+24
exists for the lifetime of the ScGroupTokenConverter otherwise in tdf#98880 ScDocument::InterpretDirtyCells releases that backing storage that the DoubleVectorRefToken relies on, and the ScVectorRefMatrix relies on that, so... when sc/source/core/tool/interpr4.cxx calls ::IsString on the ScVectorRefMatrix which calls ensureFullMatrix. That makes use of rArray.mpStringArray where rArray's mpStringArray is set to that rArray by FormulaGroupContext::ensureStrArray and the storage of mpStringArray belongs to the FormulaGroupContext, but that context was reset and destroyed up the stack in ScDocument::InterpretDirtyCells so the data is now invalid We could turn the unique_ptr into a shared_ptr and have the ScGroupTokenConverter take a ref to the currently active FormulaGroupContext to ensure any generated DoubleVectorRefToken/SingleVectorRefToken point to valid data during the lifetime of the ScGroupTokenConverter Change-Id: Id457934cdff18570961cb261cf5c46b6ef8ea083 Reviewed-on: https://gerrit.libreoffice.org/25815 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com> (cherry picked from commit dc78e5c6f5f55b0289012f4c4e6013d2935b1cc6) Reviewed-on: https://gerrit.libreoffice.org/25867 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-05-31tdf#100160 - Changing OpenCL state doesn't update sheetMarco Cecchetti8-0/+63
now we re-check for vectorization state of formula token each time OpenCL is enabled or disabled Change-Id: I652397dd154f5fbf788cb511c70e53a47cc94293 Reviewed-on: https://gerrit.libreoffice.org/25727 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2016-05-31tdf#84411 - OpenCL: S/W interpreter throws std::out_of_range errorMarco Cecchetti1-0/+4
The problem is that in a array fragment, row start can be beyond data row end. Change-Id: I33658c87c21d1be237f4675241e3eabdd4ec7058 Reviewed-on: https://gerrit.libreoffice.org/25728 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2016-05-31we need the space="preserve" also for formatted strings, tdf#96912Markus Mohrhard1-1/+1
Change-Id: I6e245de697c1c42acd916beb75d4d157b2962a9a Reviewed-on: https://gerrit.libreoffice.org/25580 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2016-05-31Resolves: tdf#97158 CopyOneCellFromClip() does not handle multiple sheetsEike Rathke1-0/+4
... so check that and bail out to let the remainder of CopyFromClip() handle it. (cherry picked from commit dc9eac5a5f4f247ba5efb67931ffde61f2c8d5b6) 9d07f557572bdeaeda8e923525c8895d79fc0d22 f65b29ff13211449144455668014a80aa8b331a3 Change-Id: I9d139de905fd108ae41fed79a38860058525272c Reviewed-on: https://gerrit.libreoffice.org/25682 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
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>