Forward declare mozilla::dom::Nullable as a struct everywhere so that the MSVC linker can pick up the correct symbol name
authorEhsan Akhgari <ehsan@mozilla.com>
Mon, 09 Sep 2013 11:43:52 +0200
changeset 146169 4f9563af1fa1274bbfde1466a44a9253e1a2a32c
parent 146168 3e1dd474a575b5ced0bbf7ac4d7f15a8f51bf6b9
child 146170 12d4dea8cdfb2cd3fbeec30cdd2775900ef168e5
push id25244
push userryanvm@gmail.com
push dateMon, 09 Sep 2013 20:03:14 +0000
treeherdermozilla-central@f320b8c034bd [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs848294
milestone26.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Forward declare mozilla::dom::Nullable as a struct everywhere so that the MSVC linker can pick up the correct symbol name This is needed for bug 848294
content/canvas/src/WebGLContext.h
content/events/public/EventTarget.h
--- a/content/canvas/src/WebGLContext.h
+++ b/content/canvas/src/WebGLContext.h
@@ -71,17 +71,17 @@ class WebGLShaderPrecisionFormat;
 class WebGLTexture;
 class WebGLVertexArray;
 
 namespace dom {
 class ImageData;
 
 struct WebGLContextAttributes;
 struct WebGLContextAttributesInitializer;
-template<typename> class Nullable;
+template<typename> struct Nullable;
 }
 
 using WebGLTexelConversions::WebGLTexelFormat;
 
 WebGLTexelFormat GetWebGLTexelFormat(GLenum format, GLenum type);
 
 struct WebGLContextOptions {
     // these are defaults
--- a/content/events/public/EventTarget.h
+++ b/content/events/public/EventTarget.h
@@ -17,17 +17,17 @@ class nsIDOMEventListener;
 namespace mozilla {
 
 class ErrorResult;
 
 namespace dom {
 
 class EventListener;
 class EventHandlerNonNull;
-template <class T> class Nullable;
+template <class T> struct Nullable;
 
 // IID for the dom::EventTarget interface
 #define NS_EVENTTARGET_IID \
 { 0x0a5aed21, 0x0bab, 0x48b3, \
  { 0xbe, 0x4b, 0xd4, 0xf9, 0xd4, 0xea, 0xc7, 0xdb } }
 
 class EventTarget : public nsIDOMEventTarget,
                     public nsWrapperCache