summaryrefslogtreecommitdiff
path: root/base/gdevdflt.c
diff options
context:
space:
mode:
Diffstat (limited to 'base/gdevdflt.c')
-rw-r--r--base/gdevdflt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/base/gdevdflt.c b/base/gdevdflt.c
index 310b716c5..5267b7589 100644
--- a/base/gdevdflt.c
+++ b/base/gdevdflt.c
@@ -1431,6 +1431,8 @@ int gx_device_subclass(gx_device *dev_to_subclass, gx_device *new_prototype, uns
rc_increment(dev_to_subclass->icc_struct);
if (dev_to_subclass->PageList)
rc_increment(dev_to_subclass->PageList);
+ if (dev_to_subclass->NupControl)
+ rc_increment(dev_to_subclass->NupControl);
/* In case the new device we're creating has already been initialised, copy
* its additional data.
@@ -1561,6 +1563,8 @@ int gx_device_unsubclass(gx_device *dev)
rc_decrement(child->icc_struct, "gx_unsubclass_device, icc_struct");
if (child->PageList)
rc_decrement(child->PageList, "gx_unsubclass_device, PageList");
+ if (child->NupControl)
+ rc_decrement(child->NupControl, "gx_unsubclass_device, NupControl");
/* we cannot afford to free the child device if its stype is not dynamic because
* we can't 'null' the finalise routine, and we cannot permit the device to be finalised
* because we have copied it up one level, not discarded it.