summaryrefslogtreecommitdiff
path: root/sd/source/ui/inc/createtabledesignpanel.hxx
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2016-03-07 13:20:54 +0100
committerEike Rathke <erack@redhat.com>2016-03-07 13:48:36 +0100
commit9e60bbdb3aa5f80ca80c9c4fdf7accd12c4a5d1c (patch)
treea94ae504ad2944d14004ff8c631664b5a1ed01db /sd/source/ui/inc/createtabledesignpanel.hxx
parent727ebae15e623660b9cc6f8db0e7558830bf920d (diff)
Resolves: tdf#98389 check memory requirement of matrix
Attachment 123203 of tdf#98389 has external references of the form [1]Data!$1:$1048576 which effectively address the entire cell range of sheet Data and allocating a matrix for a billion cells attempted to allocate 8GB+xGB of memory which the system said no-no ... Some brave soul along the road once decided that a check on the number of elements wasn't needed anymore and dared to remove it during refactoring.. This change reintroduces the check and adds it also to other places that try to instanciate or resize a matrix. When allocation of a matrix for an external range reference fails it is checked whether the request is for such nasty entire rows or entire columns ranges and if so tries to shrink the range to the actual data area used, which at least in this case helps and works. Additionally it fixes a long standing bug in the cached area to array mapping which caused the cache to not be hit but instead the matrix was aquired over and over again for the same range, causing a serious performance bottle neck specifically for VLOOKUP and related functions where the same external range is used in a lot of cells. Change-Id: I35f67b48e665bf1cc8d672325c32b889f2e05c57
Diffstat (limited to 'sd/source/ui/inc/createtabledesignpanel.hxx')
0 files changed, 0 insertions, 0 deletions