summaryrefslogtreecommitdiffstats
path: root/svx/source/dialog
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2014-11-25 16:36:45 +0100
committerMichael Stahl <mstahl@redhat.com>2014-11-25 18:09:38 +0100
commitd288ee633d7964cf89a32a96e6e0af8c3c3e0db9 (patch)
tree4a0ead049faa5a47f947e7c2781856a9051431eb /svx/source/dialog
parentsvx: add debug printing of SvxColumnDescription (diff)
downloadcore-d288ee633d7964cf89a32a96e6e0af8c3c3e0db9.tar.gz
core-d288ee633d7964cf89a32a96e6e0af8c3c3e0db9.zip
fdo#85858: svx: fix mouse dragging of table row separators in Writer
Add a work-around for Writer's usage of LONG_MAX to SvxColumnDescription: on 64-bit platforms the LONG_MAX added in SwView::StateTabWin() for SID_RULER_ROWS will overflow in vcl's LogicToPixel mapping and that causes wrong positioning of the row highlight lines. Probably Writer should use something other than LONG_MAX (no reason why these types need to be bigger than 32-bit anyway) but that needs a bigger cleanup. (regression from 4c60f722afdc0be5c129ce5f5ed6786d09d0051e) Change-Id: I08147462356368d48959a85a85ef7dd8dcae0943
Diffstat (limited to 'svx/source/dialog')
-rw-r--r--svx/source/dialog/rulritem.cxx5
1 files changed, 3 insertions, 2 deletions
diff --git a/svx/source/dialog/rulritem.cxx b/svx/source/dialog/rulritem.cxx
index 11efac125d22..f993d69b77ae 100644
--- a/svx/source/dialog/rulritem.cxx
+++ b/svx/source/dialog/rulritem.cxx
@@ -670,8 +670,9 @@ SvxColumnDescription::SvxColumnDescription(long start, long end, long endMin, lo
nStart (start),
nEnd (end),
bVisible (bVis),
- nEndMin (endMin),
- nEndMax (endMax)
+ // fdo#85858 hack: clamp these to smaller value to prevent overflow
+ nEndMin(std::min<long>(endMin, std::numeric_limits<unsigned short>::max())),
+ nEndMax(std::min<long>(endMax, std::numeric_limits<unsigned short>::max()))
{}
bool SvxColumnDescription::operator==(const SvxColumnDescription& rCmp) const