diff options
Diffstat (limited to 'src/fringe.c')
| -rw-r--r-- | src/fringe.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/fringe.c b/src/fringe.c index a4dc9433aff..5878c541247 100644 --- a/src/fringe.c +++ b/src/fringe.c | |||
| @@ -1610,22 +1610,25 @@ If BITMAP already exists, the existing definition is replaced. */) | |||
| 1610 | 1610 | ||
| 1611 | if (n == max_fringe_bitmaps) | 1611 | if (n == max_fringe_bitmaps) |
| 1612 | { | 1612 | { |
| 1613 | if ((max_fringe_bitmaps + 20) > MAX_FRINGE_BITMAPS) | 1613 | int bitmaps = max_fringe_bitmaps + 20; |
| 1614 | if (MAX_FRINGE_BITMAPS < bitmaps) | ||
| 1614 | error ("No free fringe bitmap slots"); | 1615 | error ("No free fringe bitmap slots"); |
| 1615 | 1616 | ||
| 1616 | i = max_fringe_bitmaps; | 1617 | i = max_fringe_bitmaps; |
| 1617 | max_fringe_bitmaps += 20; | ||
| 1618 | fringe_bitmaps | 1618 | fringe_bitmaps |
| 1619 | = ((struct fringe_bitmap **) | 1619 | = ((struct fringe_bitmap **) |
| 1620 | xrealloc (fringe_bitmaps, max_fringe_bitmaps * sizeof (struct fringe_bitmap *))); | 1620 | xrealloc (fringe_bitmaps, bitmaps * sizeof *fringe_bitmaps)); |
| 1621 | fringe_faces | 1621 | fringe_faces |
| 1622 | = (Lisp_Object *) xrealloc (fringe_faces, max_fringe_bitmaps * sizeof (Lisp_Object)); | 1622 | = (Lisp_Object *) xrealloc (fringe_faces, |
| 1623 | bitmaps * sizeof *fringe_faces); | ||
| 1623 | 1624 | ||
| 1624 | for (; i < max_fringe_bitmaps; i++) | 1625 | for (i = max_fringe_bitmaps; i < bitmaps; i++) |
| 1625 | { | 1626 | { |
| 1626 | fringe_bitmaps[i] = NULL; | 1627 | fringe_bitmaps[i] = NULL; |
| 1627 | fringe_faces[i] = Qnil; | 1628 | fringe_faces[i] = Qnil; |
| 1628 | } | 1629 | } |
| 1630 | |||
| 1631 | max_fringe_bitmaps = bitmaps; | ||
| 1629 | } | 1632 | } |
| 1630 | } | 1633 | } |
| 1631 | 1634 | ||