--- mozilla-1.9.2/layout/generic/nsFrame.h.orig 2009-11-06 19:29:14.000000000 +0100 +++ mozilla-1.9.2/layout/generic/nsFrame.h 2009-11-06 19:30:54.000000000 +0100 @@ -153,23 +153,14 @@ friend nsIFrame* NS_NewEmptyFrame(nsIPresShell* aShell, nsStyleContext* aContext); + + // Set this public as in 1.9.1 ! + void operator delete(void* aPtr, size_t sz); + private: // Left undefined; nsFrame objects are never allocated from the heap. void* operator new(size_t sz) CPP_THROW_NEW; -protected: - // Overridden to prevent the global delete from being called, since - // the memory came out of an arena instead of the heap. - // - // Ideally this would be private and undefined, like the normal - // operator new. Unfortunately, the C++ standard requires an - // overridden operator delete to be accessible to any subclass that - // defines a virtual destructor, so we can only make it protected; - // worse, some C++ compilers will synthesize calls to this function - // from the "deleting destructors" that they emit in case of - // delete-expressions, so it can't even be undefined. - void operator delete(void* aPtr, size_t sz); - public: // nsQueryFrame