diff --git a/panda/src/putil/cycleData.h b/panda/src/putil/cycleData.h index f537256d8e..10edd34b33 100644 --- a/panda/src/putil/cycleData.h +++ b/panda/src/putil/cycleData.h @@ -30,7 +30,22 @@ // the data structures that are important to protect // between stages of a pipeline. See PipelineCycler. //////////////////////////////////////////////////////////////////// -class EXPCL_PANDA CycleData : public ReferenceCount { +#ifdef DO_PIPELINING + +// If we are compiling in pipelining support, we maintain a pointer to +// a CycleData object in each containing class, instead of the object +// itself. Thus, it should be a ReferenceCount object. +class EXPCL_PANDA CycleData : public ReferenceCount + +#else // !DO_PIPELINING + +// If we are *not* compiling in pipelining support, the CycleData +// object is stored directly within its containing classes, and hence +// should not be a ReferenceCount object. +class EXPCL_PANDA CycleData + +#endif // DO_PIPELINING +{ public: INLINE CycleData(); virtual ~CycleData();