Sophie

Sophie

distrib > Mageia > 6 > armv7hl > by-pkgid > cc56fd487bc4340ab42907c0a18ee705 > files > 9

firefox-52.5.2-1.mga6.src.rpm

--- firefox-52.1.2esr/dom/plugins/base/npapi.h.npapi-missing-include	2017-04-10 22:13:23.000000000 -0400
+++ firefox-52.1.2esr/dom/plugins/base/npapi.h	2017-05-28 21:37:43.743410282 -0400
@@ -46,7 +46,22 @@
 #if defined(MOZ_X11)
 #include <X11/Xlib.h>
 #include <X11/Xutil.h>
-#include "X11UndefineNone.h"
+// The header <X11/X.h> defines "None" as a macro that expands to "0L".
+// This is terrible because many enumerations have an enumerator named "None".
+// To work around this, we undefine the macro "None", and define a replacement
+// macro named "X11None".
+// Include this header after including X11 headers, where necessary.
+#ifdef None
+#  undef None
+#  define X11None 0L
+// <X11/X.h> also defines "RevertToNone" as a macro that expands to "(int)None".
+// Since we are undefining "None", that stops working. To keep it working,
+// we undefine "RevertToNone" and redefine it in terms of "X11None".
+#  ifdef RevertToNone
+#    undef RevertToNone
+#    define RevertToNone (int)X11None
+#  endif
+#endif
 #endif
 #endif