Closed
Bug 779910
Opened 13 years ago
Closed 13 years ago
xulrunner builds fail to compile on windows
Categories
(Toolkit Graveyard :: XULRunner, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla17
People
(Reporter: bhearsum, Assigned: WeirdAl)
References
Details
Attachments
(1 file)
|
502 bytes,
patch
|
bzbarsky
:
review+
ayg
:
feedback+
|
Details | Diff | Splinter Review |
winEmbed.cpp
e:/builds/moz2_slave/m-cen-w32-xr/build/obj-firefox/_virtualenv/Scripts/python.exe -O /e/builds/moz2_slave/m-cen-w32-xr/build/build/cl.py cl -FowinEmbed.obj -c -DXPCOM_GLUE -DXPI_NAME=winembed -I/e/builds/moz2_slave/m-cen-w32-xr/build/embedding/tests/winEmbed -I/e/builds/moz2_slave/m-cen-w32-xr/build/embedding/tests/winEmbed -I. -I../../../dist/include -Ie:/builds/moz2_slave/m-cen-w32-xr/build/obj-firefox/dist/include/nspr -Ie:/builds/moz2_slave/m-cen-w32-xr/build/obj-firefox/dist/include/nss -TP -nologo -W3 -Gy -Fdgenerated.pdb -wd4800 -we4553 -GR- -DNDEBUG -DTRIMMED -Zi -UDEBUG -DNDEBUG -O1 -Oy -MD -FI ../../../dist/include/mozilla-config.h -DMOZILLA_CLIENT /e/builds/moz2_slave/m-cen-w32-xr/build/embedding/tests/winEmbed/winEmbed.cpp
winEmbed.cpp
e:/builds/moz2_slave/m-cen-w32-xr/build/embedding/tests/winEmbed/winEmbed.cpp(877) : error C2664: 'SetWindowLongA' : cannot convert parameter 3 from 'nullptr' to 'LONG'
A native nullptr can only be converted to bool or, using reinterpret_cast, to an integral type
make[5]: Leaving directory `/e/builds/moz2_slave/m-cen-w32-xr/build/obj-firefox/embedding/tests/winEmbed'
make[4]: Leaving directory `/e/builds/moz2_slave/m-cen-w32-xr/build/obj-firefox'
make[3]: Leaving directory `/e/builds/moz2_slave/m-cen-w32-xr/build/obj-firefox'
make[2]: Leaving directory `/e/builds/moz2_slave/m-cen-w32-xr/build/obj-firefox'
make[1]: Leaving directory `/e/builds/moz2_slave/m-cen-w32-xr/build'
make[5]: *** [winEmbed.obj] Error 2
make[4]: *** [libs_tier_app] Error 2
make[3]: *** [tier_app] Error 2
make[2]: *** [default] Error 2
make[1]: *** [realbuild] Error 2
make: *** [build] Error 2
Comment 1•13 years ago
|
||
Relevant docs:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms644898(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/cc230349(v=prot.10).aspx
s/nullptr/0/ should work here, and for any similar errors. I'd write a patch, but I don't have easy access to a Windows machine.
Comment 2•13 years ago
|
||
(In reply to Aryeh Gregor from comment #1)
> s/nullptr/0/ should work here, and for any similar errors. I'd write a
> patch, but I don't have easy access to a Windows machine.
I just tried it and there were no other compile errors.
| Assignee | ||
Comment 3•13 years ago
|
||
Patch coming, based on above comments. I'll have to try it myself first. :)
Assignee: nobody → ajvincent
| Assignee | ||
Comment 4•13 years ago
|
||
This patch fixes the build bustage, but unfortunately I believe that our regression troubles are not over yet. The --version flag opens a dialog with gibberish for the version field. Also, --gre-version doesn't output anything at all to stdout, as --help indicates it would.
Attachment #649028 -
Flags: review?(ayg)
Comment 5•13 years ago
|
||
Comment on attachment 649028 [details] [diff] [review]
patch
Looks fine to me, but you should get review from an owner or peer. It might be that some other symbol would be preferable for a LONG_PTR that's equal to 0 -- I don't know the first thing about Windows programming.
Attachment #649028 -
Flags: review?(bzbarsky)
Attachment #649028 -
Flags: review?(ayg)
Attachment #649028 -
Flags: feedback+
Comment 6•13 years ago
|
||
Comment on attachment 649028 [details] [diff] [review]
patch
I don't know anything about Windows either, sadly, but I think 0 is fine here.
Attachment #649028 -
Flags: review?(bzbarsky) → review+
| Assignee | ||
Updated•13 years ago
|
Keywords: checkin-needed
Comment 7•13 years ago
|
||
Comment 8•13 years ago
|
||
Win16 used INT = 16bit, LONG = 32bit, LPVOID = 32bit
Win32 used INT = 32bit, LONG = 32bit, LPVOID = 32bit
Win64 used INT = 32bit, LONG = 32bit, LPVOID = 64bit - oops!
So they had to invent a new type for an integer that could hold an LPVOID.
Thus LONG_PTR was created. It's basically the equivalent to C++11's intptr_t.
Comment 9•13 years ago
|
||
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Updated•10 years ago
|
Product: Toolkit → Toolkit Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•