Make forward declarations work with nsCOMPtr (bug 107291), r=sicking@bigfoot.com, sr=dbaron@fas.harvard.edu
git-svn-id: svn://10.0.0.236/trunk@131406 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -51,7 +51,6 @@
|
||||
//#define DO_NEW_REFLOW
|
||||
#endif
|
||||
|
||||
#include "nsIDOMMouseListener.h"
|
||||
#include "nsAreaFrame.h"
|
||||
#include "nsIFormControlFrame.h"
|
||||
#include "nsIComboboxControlFrame.h"
|
||||
@@ -65,6 +64,7 @@
|
||||
#include "nsIScrollableViewProvider.h"
|
||||
#include "nsIStatefulFrame.h"
|
||||
|
||||
class nsIDOMMouseListener;
|
||||
class nsIView;
|
||||
class nsStyleContext;
|
||||
class nsIHTMLContent;
|
||||
|
||||
@@ -51,7 +51,6 @@
|
||||
//#define DO_NEW_REFLOW
|
||||
#endif
|
||||
|
||||
#include "nsIDOMMouseListener.h"
|
||||
#include "nsAreaFrame.h"
|
||||
#include "nsIFormControlFrame.h"
|
||||
#include "nsIComboboxControlFrame.h"
|
||||
@@ -65,6 +64,7 @@
|
||||
#include "nsIScrollableViewProvider.h"
|
||||
#include "nsIStatefulFrame.h"
|
||||
|
||||
class nsIDOMMouseListener;
|
||||
class nsIView;
|
||||
class nsStyleContext;
|
||||
class nsIHTMLContent;
|
||||
|
||||
@@ -444,17 +444,6 @@ class nsCOMPtr
|
||||
: private nsCOMPtr_base
|
||||
#endif
|
||||
{
|
||||
enum { _force_even_compliant_compilers_to_fail_ = sizeof(T) };
|
||||
/*
|
||||
The declaration above exists specifically to make |nsCOMPtr<T>| _not_ compile with only
|
||||
a forward declaration of |T|. This should prevent Windows and Mac engineers from
|
||||
breaking Solaris and other compilers that naturally have this behavior. Thank
|
||||
<law@netscape.com> for inventing this specific trick.
|
||||
|
||||
Of course, if you're using |nsCOMPtr| outside the scope of wanting to compile on
|
||||
Solaris and old GCC, you probably want to remove the enum so you can exploit forward
|
||||
declarations.
|
||||
*/
|
||||
|
||||
#ifdef NSCAP_FEATURE_DEBUG_PTR_TYPES
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user