summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Koegel <eric.koegel@gmail.com>2015-08-10 17:33:35 +0300
committerRomain B <skunnyk@alteroot.org>2017-06-21 13:35:29 +0200
commite977893fe4f418def27585f792ca4b0c58d0a4c0 (patch)
tree6cf9845b33e2dec282fb817b6147f3f7074e9d39
parent157f5b55cfc3629d595ef38984278de5915aac27 (diff)
downloadxfdesktop-e977893fe4f418def27585f792ca4b0c58d0a4c0.tar.gz
Don't try to divide by 0 (Bug #12115)
-rw-r--r--src/xfdesktop-icon-view.c15
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