diff options
author | Eric Koegel <eric.koegel@gmail.com> | 2015-08-10 17:33:35 +0300 |
---|---|---|
committer | Romain B <skunnyk@alteroot.org> | 2017-06-21 13:35:29 +0200 |
commit | e977893fe4f418def27585f792ca4b0c58d0a4c0 (patch) | |
tree | 6cf9845b33e2dec282fb817b6147f3f7074e9d39 | |
parent | 157f5b55cfc3629d595ef38984278de5915aac27 (diff) | |
download | xfdesktop-e977893fe4f418def27585f792ca4b0c58d0a4c0.tar.gz |
Don't try to divide by 0 (Bug #12115)
-rw-r--r-- | src/xfdesktop-icon-view.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/xfdesktop-icon-view.c b/src/xfdesktop-icon-view.c index 81ef3a10..c598171b 100644 --- a/src/xfdesktop-icon-view.c +++ b/src/xfdesktop-icon-view.c @@ -2715,11 +2715,22 @@ xfdesktop_setup_grids(XfdesktopIconView *icon_view) icon_view->priv->ncols = (width - MIN_MARGIN * 2) / CELL_SIZE; xrest = icon_view->priv->width - icon_view->priv->ncols * CELL_SIZE; - icon_view->priv->xspacing = (xrest - MIN_MARGIN * 2) / (icon_view->priv->ncols - 1); + if (icon_view->priv->ncols > 1) { + icon_view->priv->xspacing = (xrest - MIN_MARGIN * 2) / (icon_view->priv->ncols - 1); + } else { + /* Let's not try to divide by 0 */ + icon_view->priv->xspacing = 1; + } + icon_view->priv->xmargin = (xrest - (icon_view->priv->ncols - 1) * icon_view->priv->xspacing) / 2; yrest = icon_view->priv->height - icon_view->priv->nrows * CELL_SIZE; - icon_view->priv->yspacing = (yrest - MIN_MARGIN * 2) / (icon_view->priv->nrows - 1); + if (icon_view->priv->nrows > 1) { + icon_view->priv->yspacing = (yrest - MIN_MARGIN * 2) / (icon_view->priv->nrows - 1); + } else { + /* Let's not try to divide by 0 */ + icon_view->priv->yspacing = 1; + } icon_view->priv->ymargin = (yrest - (icon_view->priv->nrows - 1) * icon_view->priv->yspacing) / 2; new_size = (guint)icon_view->priv->nrows * icon_view->priv->ncols |