Closed Bug 932420 Opened 11 years ago Closed 11 years ago

Stop including windows.h in PeerConnectionImpl.h

Categories

(Core :: WebRTC, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla28

People

(Reporter: bzbarsky, Assigned: jib)

References

Details

(Whiteboard: [qa-])

Attachments

(1 file, 1 obsolete file)

This screws over unified bindings, since we end up redefining random stuff.

The include path here is PeerConnectionImplBinding.cpp -> PeerConnectionImpl.h -> sigslot.h -> windows.h

We need to either break the include chain or sanitize this include by undefining all things that windows.h defines that would screw over other code.
As discussed in #media, this #ifdef's out the multithreading parts of sigslot.h which we're not currently using in WebRTC, removing the #include "windows.h" as well.

Worked on my windows box. Try - https://tbpl.mozilla.org/?tree=Try&rev=5c84861b4e39
Attachment #824264 - Flags: review?(rjesup)
Comment on attachment 824264 [details] [diff] [review]
sigslot.h - #ifdef'ed out unused multi-threading to avoid windows.h

Review of attachment 824264 [details] [diff] [review]:
-----------------------------------------------------------------

r+ with nits.  Asked question of bz in #developers, waiting for response, so hold off a bit on landing

::: media/mtransport/sigslot.h
@@ +94,5 @@
>  // On our copy of sigslot.h, we set single threading as default.
>  #define SIGSLOT_DEFAULT_MT_POLICY single_threaded
>  
> +// For now, this avoids windows.h in bindings (PeerConnectionImpl.h) on WIN32
> +#define SIGSLOT_LEAVE_OUT_MULTITHREADING 1

File a bug for the "real" solution (wrap win32 crit section and move to another file) and put the number here

@@ +104,5 @@
>  #	if !defined(WIN32_LEAN_AND_MEAN)
>  #		define WIN32_LEAN_AND_MEAN
>  #	endif
> +# ifndef SIGSLOT_LEAVE_OUT_MULTITHREADING
> +#	  include "windows.h"

Expand to include the LEAN_AND_MEAN
Attachment #824264 - Flags: review?(rjesup) → review+
Blocks: 932570
Updated with nits. Carrying forward r+ from jesup.
Attachment #824359 - Flags: review+
Attachment #824264 - Attachment is obsolete: true
(In reply to Randell Jesup [:jesup] from comment #2)
> r+ with nits.  Asked question of bz in #developers, waiting for response, so
> hold off a bit on landing

How long should we hold off? - Patch is ready to land fwiw.
https://hg.mozilla.org/mozilla-central/rev/58ff751aed78
Assignee: nobody → jib
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Whiteboard: [qa-]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: