svx/source/dialog/charmap.cxx |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

New commits:
commit 23e3bff528ab38c8d5c6d401b672a0033cef2bd4
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Tue May 24 21:49:20 2022 +0200
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Wed May 25 12:10:00 2022 +0200

    svx: fix one more EXCEPTION_INT_DIVIDE_BY_ZERO
    
    See 
https://crashreport.libreoffice.org/stats/signature/SvxShowCharSet::PixelToMapIndex(Point%20const%20&)
    
    Change-Id: Ied5698fd47220fae54d72be263c3eeed5fb77911
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134890
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/svx/source/dialog/charmap.cxx b/svx/source/dialog/charmap.cxx
index b806903ee184..d7a7898d5342 100644
--- a/svx/source/dialog/charmap.cxx
+++ b/svx/source/dialog/charmap.cxx
@@ -376,7 +376,9 @@ Point SvxShowCharSet::MapIndexToPixel( int nIndex ) const
 int SvxShowCharSet::PixelToMapIndex( const Point& point) const
 {
     int nBase = FirstInView();
-    return (nBase + ((point.X() - m_nXGap)/nX) + ((point.Y() - m_nYGap)/nY) * 
COLUMN_COUNT);
+    int x = nX == 0 ? 0 : (point.X() - m_nXGap)/nX;
+    int y = nY == 0 ? 0 : (point.Y() - m_nYGap)/nY;
+    return (nBase + x + y * COLUMN_COUNT);
 }
 
 bool SvxShowCharSet::KeyInput(const KeyEvent& rKEvt)

Reply via email to