Closed Bug 645398 Opened 14 years ago Closed 14 years ago

Code cleanup, substitute PR_(MAX|MIN|ABS|ROUNDUP) macro calls

Categories

(Firefox :: General, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
Firefox 7

People

(Reporter: LoN_Kamikaze, Assigned: LoN_Kamikaze)

References

Details

Attachments

(1 file, 1 obsolete file)

User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:2.0) Gecko/20100101 Firefox/4.0 Build Identifier: Mozilla/5.0 (X11; FreeBSD amd64; rv:2.0) Gecko/20100101 Firefox/4.0 See bug 603880, comment 7. - Removes PR_(MAX|MIN|ABS|ROUNDUP) macro calls from all C++ code - Adds NS_ABS and NS_ROUNDUP inline functions to nsAlgorithm.h - Replace macro calls with NS_* inline calls It appears that on FreeBSD (which uses gcc42, due to licensing issues with recent gcc versions), the macro calls trigger compiler bugs that cause wrong results in some cases. Reproducible: Always
This was a whole day of work, more than 300 calls were substituted, because inline functions are templates, type restrictions had to be met and nsAlgorithm.h includes had to be place manually. I really hope this gets used.
roc, is this something you'd look at?
Yes, this is quite awesome. You've got (PRUint32)0 and (PRUint32)0xFF which can be better written as 0U or 0xFFU. We usually use U instead of u, you can change the us to Us in your patch if you want but it probably doesn't matter. (I Strongly prefer L over l since 'l' looks like the digit '1'.) And a couple of (PRInt64)0 which can be written 0LL. (PRInt64)1 should be 1LL. +template <class T> +inline +const T& +NS_ROUNDUP( const T& a, const T& b ) + { + return ((a + (b - 1)) / b) * b; + } I think this should just return a T, since you're returning a new value here. I think NS_MAX/NS_MIN should be changed to return T too. It doesn't seem right to return a reference to a parameter that might be a temporary object. Right cjones? +template <class T> +inline +const T& +NS_ABS( const T& a ) + { + return a < 0 ? -a : a; + } So I'd make this return T as well. Other than that, this looks good. I'll do a tryserver run.
One thing occurs to me: instead of explicitly casting one of the parameters to match the other to fix a type mismatch, it's probably safer to just give an explicit template argument, e.g. foo = NS_MAX<double>(a, b); That ensures we don't add unsafe casts.
(In reply to comment #8) > One thing occurs to me: instead of explicitly casting one of the parameters to > match the other to fix a type mismatch, it's probably safer to just give an > explicit template argument, e.g. > foo = NS_MAX<double>(a, b); > > That ensures we don't add unsafe casts. I like that one. I'm more of a C person and not that comfortable with templates. Do you want me to make all the suggested changes and update the patch or will you incorporate them yourself?
> I think NS_MAX/NS_MIN should be changed to return T too. It doesn't seem right to return a reference to a parameter that might be a temporary object. Then why STL min/max return |const T&|? http://support.microsoft.com/kb/143208
(In reply to comment #9) > I like that one. I'm more of a C person and not that comfortable with > templates. > > Do you want me to make all the suggested changes and update the patch or will > you incorporate them yourself? I'd be thrilled if you did it, but if you don't want to do it, let me know and I'll do it myself. (In reply to comment #10) > Then why STL min/max return |const T&|? > http://support.microsoft.com/kb/143208 Yeah I'm actually wrong. The temporary object constructed for any parameter(s) will live past to end of the caller's block. That's fine for min/max, where the reference is always to an object that lives in the caller, but NS_ABS and NS_ROUNDUP should still return a "T" I think, since they return values that might not be live in the caller.
(In reply to comment #11) > (In reply to comment #9) > > I like that one. I'm more of a C person and not that comfortable with > > templates. > > > > Do you want me to make all the suggested changes and update the patch or will > > you incorporate them yourself? > > I'd be thrilled if you did it, but if you don't want to do it, let me know and > I'll do it myself. I'm willing to. I'm just starting to get some doubts about forcing double. I think these things are called quite frequently and I wonder about the performance implications of forcing float where not necessary. I've taken great care to always use the more encompassing type (e.g. l > u), in case where neither type could encompass the other (e.g. ul and l neither can represent all values of the other), I read the code to understand which cases could happen. While <double> is safer I wonder whether it's slower. Is the compiler able to optimize all these casts away?
Forgot to post: Also there are different long values that are represented by the same double value, because it cannot represent these values with the same precision (it needs additional bits for the exponent after all). I.e. casting to double can lead to erroneous results.
(In reply to comment #12) > I'm willing to. I'm just starting to get some doubts about forcing double. I > think these things are called quite frequently and I wonder about the > performance implications of forcing float where not necessary. Don't force double everywhere, just force the right type at each call site (i.e. the type your current patch inserts a cast to).
Attached patch Revised PatchSplinter Review
- Remove 2 FreeBSD specific chunks I overlooked before - Cast NS_*<type>(a,b) instead of NS_*(a, (type)b) - NS_ABS() and NS_ROUNDUP() return by value instead of reference - Tested with Firefox 4.0 sources on FreeBSD 8.2-stable/amd64
I wouldn't bother with the comment in #include "nsAlgorithm.h" /* for PR_* */ but if you do, that should say "NS_". Thanks for your patch!
Assignee: nobody → LoN_Kamikaze
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
OS: FreeBSD → All
Hardware: x86_64 → All
(In reply to comment #16) > I wouldn't bother with the comment in > > #include "nsAlgorithm.h" /* for PR_* */ > > but if you do, that should say "NS_". Right. I hope the includes would be checked by the people including the patch any way. I think it should be pushed in soon or the code will divert too much, so I won't change anything until I get confirmation that my work will avail to something.
Dominic - nice work on the patch! Before it can be pushed you need to request review (the lack of r? ie: review request is why the patch has sat here) - and then once you get an r+ (ie review accepted) you can set the checkin-needed keyword - so that someone with commit level 3 will push to mozilla-central. If you are already aware of this, then ignore - just didn't want your hard work to go to waste/bitrotting, if you didn't know. The following may also be useful to you: https://developer.mozilla.org/En/Developer_Guide/How_to_Submit_a_Patch Also, before you request review/checkin-needed, see this page: http://blog.bonardo.net/2010/06/22/so-youre-about-to-use-checkin-needed ...since your patch is not quite in the correct format (8 lines context etc) and having the user/commit message filled out saves people doing checkin-needed a bit of time. At the same time as doing that, might be a good opportunity to make the update suggested in comment 16. Anyway, hope that helped :-)
Attachment #522144 - Attachment is obsolete: true
(In reply to comment #17) > I think it should be pushed in soon or the code will divert too much, so I > won't change anything until I get confirmation that my work will avail to > something. I'm not sure what kind of confirmation you want. I was waiting for you to re-request review. I'll just go ahead and review it now anyway.
Comment on attachment 522652 [details] [diff] [review] Revised Patch Review of attachment 522652 [details] [diff] [review]: r+ with those changes. Thanks! This will need a tryserver run before it can land. My tree's a bit of a mess right now, or I'd do it. ::: ../mozilla-2.0.orig/xpcom/string/public/nsAlgorithm.h @@ +56,5 @@ + +template <class T> +inline +const T Don't need 'const' here. @@ +80,5 @@ } +template <class T> +inline +const T Don't need 'const' here.
Attachment #522652 - Flags: review+
Thanks for all the helpful comments. The way I see it, I was asked to supply this and I didn't familiarize myself with the formalities. Obviously they're quite different from the FreeBSD project, where I feel at home.
I tried to push this to the try server, but it doesn't apply cleanly any more: applying attachment.cgi?id=522652 unable to find 'canvas/src/WebGLContext.h' for patching 3 out of 3 hunks FAILED -- saving rejects to file canvas/src/WebGLContext.h.rej unable to find 'canvas/src/WebGLContextGL.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file canvas/src/WebGLContextGL.cpp.rej unable to find 'canvas/src/WebGLContextValidate.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file canvas/src/WebGLContextValidate.cpp.rej unable to find 'events/src/nsEventStateManager.cpp' for patching 4 out of 4 hunks FAILED -- saving rejects to file events/src/nsEventStateManager.cpp.rej unable to find 'media/nsBuiltinDecoderReader.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file media/nsBuiltinDecoderReader.cpp.rej unable to find 'media/nsMediaCache.cpp' for patching 17 out of 17 hunks FAILED -- saving rejects to file media/nsMediaCache.cpp.rej unable to find 'media/nsMediaStream.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file media/nsMediaStream.cpp.rej unable to find 'media/wave/nsWaveDecoder.cpp' for patching 3 out of 3 hunks FAILED -- saving rejects to file media/wave/nsWaveDecoder.cpp.rej unable to find 'smil/nsSMILAnimationController.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file smil/nsSMILAnimationController.cpp.rej unable to find 'smil/nsSMILTimeContainer.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file smil/nsSMILTimeContainer.cpp.rej unable to find 'xslt/src/base/txDouble.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file xslt/src/base/txDouble.cpp.rej unable to find 'xslt/src/base/txStringUtils.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file xslt/src/base/txStringUtils.cpp.rej unable to find 'xslt/src/xpath/txMozillaXPathTreeWalker.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file xslt/src/xpath/txMozillaXPathTreeWalker.cpp.rej unable to find 'xslt/src/xpath/txNodeSet.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file xslt/src/xpath/txNodeSet.cpp.rej unable to find 'xslt/src/xslt/txMozillaXMLOutput.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file xslt/src/xslt/txMozillaXMLOutput.cpp.rej unable to find 'xul/content/src/nsXULElement.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file xul/content/src/nsXULElement.cpp.rej unable to find 'morkreader/nsMorkReader.cpp' for patching 3 out of 3 hunks FAILED -- saving rejects to file morkreader/nsMorkReader.cpp.rej unable to find 'shistory/src/nsSHistory.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file shistory/src/nsSHistory.cpp.rej unable to find 'indexedDB/IDBFactory.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file indexedDB/IDBFactory.cpp.rej unable to find 'ipc/TabParent.cpp' for patching 3 out of 3 hunks FAILED -- saving rejects to file ipc/TabParent.cpp.rej unable to find 'system/nsAccelerometer.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file system/nsAccelerometer.cpp.rej unable to find 'libeditor/html/nsHTMLEditRules.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file libeditor/html/nsHTMLEditRules.cpp.rej unable to find 'libeditor/html/nsHTMLObjectResizer.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file libeditor/html/nsHTMLObjectResizer.cpp.rej unable to find 'gnomevfs/nsGnomeVFSProtocolHandler.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file gnomevfs/nsGnomeVFSProtocolHandler.cpp.rej unable to find 'pref/autoconfig/src/nsAutoConfig.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file pref/autoconfig/src/nsAutoConfig.cpp.rej unable to find 'src/nsCoord.h' for patching 4 out of 4 hunks FAILED -- saving rejects to file src/nsCoord.h.rej unable to find 'src/nsIRenderingContext.h' for patching 1 out of 1 hunks FAILED -- saving rejects to file src/nsIRenderingContext.h.rej unable to find 'src/nsRect.cpp' for patching 8 out of 8 hunks FAILED -- saving rejects to file src/nsRect.cpp.rej unable to find 'src/thebes/nsThebesDeviceContext.cpp' for patching 3 out of 3 hunks FAILED -- saving rejects to file src/thebes/nsThebesDeviceContext.cpp.rej unable to find 'src/thebes/nsThebesFontMetrics.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file src/thebes/nsThebesFontMetrics.cpp.rej unable to find 'src/thebes/nsThebesRenderingContext.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file src/thebes/nsThebesRenderingContext.cpp.rej unable to find 'thebes/gfxBlur.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file thebes/gfxBlur.cpp.rej unable to find 'thebes/gfxContext.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file thebes/gfxContext.cpp.rej unable to find 'thebes/gfxCoreTextShaper.cpp' for patching 3 out of 3 hunks FAILED -- saving rejects to file thebes/gfxCoreTextShaper.cpp.rej unable to find 'thebes/gfxDWriteFontList.h' for patching 1 out of 1 hunks FAILED -- saving rejects to file thebes/gfxDWriteFontList.h.rej unable to find 'thebes/gfxFT2Utils.cpp' for patching 6 out of 6 hunks FAILED -- saving rejects to file thebes/gfxFT2Utils.cpp.rej unable to find 'thebes/gfxFont.cpp' for patching 15 out of 15 hunks FAILED -- saving rejects to file thebes/gfxFont.cpp.rej unable to find 'thebes/gfxFont.h' for patching 2 out of 2 hunks FAILED -- saving rejects to file thebes/gfxFont.h.rej unable to find 'thebes/gfxFontUtils.h' for patching 4 out of 4 hunks FAILED -- saving rejects to file thebes/gfxFontUtils.h.rej unable to find 'thebes/gfxGDIFont.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file thebes/gfxGDIFont.cpp.rej unable to find 'thebes/gfxGDIFontList.cpp' for patching 5 out of 5 hunks FAILED -- saving rejects to file thebes/gfxGDIFontList.cpp.rej unable to find 'thebes/gfxHarfBuzzShaper.cpp' for patching 3 out of 3 hunks FAILED -- saving rejects to file thebes/gfxHarfBuzzShaper.cpp.rej unable to find 'thebes/gfxImageSurface.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file thebes/gfxImageSurface.cpp.rej unable to find 'thebes/gfxMacFont.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file thebes/gfxMacFont.cpp.rej unable to find 'thebes/gfxOS2Fonts.cpp' for patching 3 out of 3 hunks FAILED -- saving rejects to file thebes/gfxOS2Fonts.cpp.rej unable to find 'thebes/gfxRect.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file thebes/gfxRect.cpp.rej unable to find 'thebes/gfxRect.h' for patching 3 out of 3 hunks FAILED -- saving rejects to file thebes/gfxRect.h.rej unable to find 'thebes/gfxSkipChars.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file thebes/gfxSkipChars.cpp.rej unable to find 'uconv/src/nsConverterInputStream.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file uconv/src/nsConverterInputStream.cpp.rej unable to find 'uconv/src/nsUTF8ToUnicode.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file uconv/src/nsUTF8ToUnicode.cpp.rej unable to find 'uconv/util/nsUCSupport.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file uconv/util/nsUCSupport.cpp.rej unable to find 'src/xpconnect/src/xpcjsruntime.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file src/xpconnect/src/xpcjsruntime.cpp.rej unable to find 'base/nsCSSColorUtils.h' for patching 1 out of 1 hunks FAILED -- saving rejects to file base/nsCSSColorUtils.h.rej unable to find 'base/nsCSSRendering.cpp' for patching 3 out of 3 hunks FAILED -- saving rejects to file base/nsCSSRendering.cpp.rej unable to find 'base/nsPresShell.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file base/nsPresShell.cpp.rej unable to find 'generic/nsGfxScrollFrame.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file generic/nsGfxScrollFrame.cpp.rej unable to find 'generic/nsTextFrameThebes.cpp' for patching 3 out of 3 hunks FAILED -- saving rejects to file generic/nsTextFrameThebes.cpp.rej unable to find 'mathml/nsMathMLChar.cpp' for patching 3 out of 3 hunks FAILED -- saving rejects to file mathml/nsMathMLChar.cpp.rej unable to find 'style/nsStyleAnimation.cpp' for patching 3 out of 3 hunks FAILED -- saving rejects to file style/nsStyleAnimation.cpp.rej unable to find 'tables/nsTableFrame.cpp' for patching 5 out of 5 hunks FAILED -- saving rejects to file tables/nsTableFrame.cpp.rej unable to find 'xul/base/src/tree/src/nsTreeBodyFrame.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file xul/base/src/tree/src/nsTreeBodyFrame.cpp.rej unable to find 'libpr0n/decoders/nsBMPDecoder.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file libpr0n/decoders/nsBMPDecoder.cpp.rej unable to find 'libpr0n/decoders/nsGIFDecoder2.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file libpr0n/decoders/nsGIFDecoder2.cpp.rej unable to find 'libpr0n/decoders/nsICODecoder.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file libpr0n/decoders/nsICODecoder.cpp.rej unable to find 'libpr0n/decoders/nsIconDecoder.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file libpr0n/decoders/nsIconDecoder.cpp.rej unable to find 'libpr0n/decoders/nsPNGDecoder.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file libpr0n/decoders/nsPNGDecoder.cpp.rej unable to find 'libpr0n/src/RasterImage.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file libpr0n/src/RasterImage.cpp.rej unable to find 'libpr0n/src/imgRequest.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file libpr0n/src/imgRequest.cpp.rej unable to find 'libpref/src/prefapi.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file libpref/src/prefapi.cpp.rej unable to find 'base/src/nsBufferedStreams.cpp' for patching 5 out of 5 hunks FAILED -- saving rejects to file base/src/nsBufferedStreams.cpp.rej unable to find 'base/src/nsFileStreams.h' for patching 2 out of 2 hunks FAILED -- saving rejects to file base/src/nsFileStreams.h.rej unable to find 'base/src/nsIncrementalDownload.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file base/src/nsIncrementalDownload.cpp.rej unable to find 'base/src/nsSocketTransport2.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file base/src/nsSocketTransport2.cpp.rej unable to find 'base/src/nsStandardURL.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file base/src/nsStandardURL.cpp.rej unable to find 'base/src/nsSyncStreamListener.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file base/src/nsSyncStreamListener.cpp.rej unable to find 'cache/nsCacheService.cpp' for patching 7 out of 7 hunks FAILED -- saving rejects to file cache/nsCacheService.cpp.rej unable to find 'cache/nsDiskCacheBlockFile.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file cache/nsDiskCacheBlockFile.cpp.rej unable to find 'cache/nsDiskCacheMap.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file cache/nsDiskCacheMap.cpp.rej unable to find 'cache/nsDiskCacheStreams.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file cache/nsDiskCacheStreams.cpp.rej unable to find 'cache/nsMemoryCacheDevice.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file cache/nsMemoryCacheDevice.cpp.rej unable to find 'protocol/about/nsAboutCacheEntry.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file protocol/about/nsAboutCacheEntry.cpp.rej unable to find 'protocol/file/nsFileChannel.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file protocol/file/nsFileChannel.cpp.rej unable to find 'protocol/http/HttpBaseChannel.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file protocol/http/HttpBaseChannel.cpp.rej unable to find 'protocol/http/nsHttpChunkedDecoder.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file protocol/http/nsHttpChunkedDecoder.cpp.rej unable to find 'protocol/http/nsHttpConnectionMgr.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file protocol/http/nsHttpConnectionMgr.cpp.rej unable to find 'protocol/http/nsHttpResponseHead.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file protocol/http/nsHttpResponseHead.cpp.rej unable to find 'protocol/http/nsHttpTransaction.cpp' for patching 5 out of 5 hunks FAILED -- saving rejects to file protocol/http/nsHttpTransaction.cpp.rej unable to find 'streamconv/converters/nsBinHexDecoder.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file streamconv/converters/nsBinHexDecoder.cpp.rej unable to find 'streamconv/converters/nsIndexedToHTML.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file streamconv/converters/nsIndexedToHTML.cpp.rej unable to find 'streamconv/converters/nsMultiMixedConv.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file streamconv/converters/nsMultiMixedConv.cpp.rej unable to find 'streamconv/converters/nsTXTToHTMLConv.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file streamconv/converters/nsTXTToHTMLConv.cpp.rej unable to find 'test/TestHttp.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file test/TestHttp.cpp.rej unable to find 'test/TestMCTransport.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file test/TestMCTransport.cpp.rej unable to find 'test/TestOverlappedIO.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file test/TestOverlappedIO.cpp.rej unable to find 'test/TestPageLoad.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file test/TestPageLoad.cpp.rej unable to find 'test/TestPerf.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file test/TestPerf.cpp.rej unable to find 'test/TestProtocols.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file test/TestProtocols.cpp.rej unable to find 'test/TestStreamChannel.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file test/TestStreamChannel.cpp.rej unable to find 'test/TestStreamPump.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file test/TestStreamPump.cpp.rej unable to find 'test/TestThreadedIO.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file test/TestThreadedIO.cpp.rej unable to find 'test/TestUpload.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file test/TestUpload.cpp.rej unable to find 'mochitest/ssltunnel/ssltunnel.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file mochitest/ssltunnel/ssltunnel.cpp.rej unable to find 'exthandler/nsExternalHelperAppService.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file exthandler/nsExternalHelperAppService.cpp.rej unable to find 'src/android/nsWindow.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file src/android/nsWindow.cpp.rej unable to find 'src/gtk2/nsNativeKeyBindings.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file src/gtk2/nsNativeKeyBindings.cpp.rej unable to find 'src/gtk2/nsNativeThemeGTK.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file src/gtk2/nsNativeThemeGTK.cpp.rej unable to find 'src/gtk2/nsPrintSettingsGTK.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file src/gtk2/nsPrintSettingsGTK.cpp.rej unable to find 'src/gtk2/nsWindow.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file src/gtk2/nsWindow.cpp.rej unable to find 'src/os2/nsIdleServiceOS2.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file src/os2/nsIdleServiceOS2.cpp.rej unable to find 'src/qt/nsWindow.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file src/qt/nsWindow.cpp.rej unable to find 'src/windows/KeyboardLayout.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file src/windows/KeyboardLayout.cpp.rej unable to find 'src/windows/nsIMM32Handler.cpp' for patching 4 out of 4 hunks FAILED -- saving rejects to file src/windows/nsIMM32Handler.cpp.rej unable to find 'src/windows/nsNativeThemeWin.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file src/windows/nsNativeThemeWin.cpp.rej unable to find 'src/windows/nsTextStore.cpp' for patching 7 out of 7 hunks FAILED -- saving rejects to file src/windows/nsTextStore.cpp.rej unable to find 'src/windows/nsWindow.cpp' for patching 6 out of 6 hunks FAILED -- saving rejects to file src/windows/nsWindow.cpp.rej unable to find 'src/xpwidgets/nsBaseDragService.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file src/xpwidgets/nsBaseDragService.cpp.rej unable to find 'src/xpwidgets/nsIdleService.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file src/xpwidgets/nsIdleService.cpp.rej unable to find 'src/xpwidgets/nsNativeTheme.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file src/xpwidgets/nsNativeTheme.cpp.rej unable to find 'src/xpwidgets/nsNativeTheme.h' for patching 2 out of 2 hunks FAILED -- saving rejects to file src/xpwidgets/nsNativeTheme.h.rej unable to find 'tests/TestWinTSF.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file tests/TestWinTSF.cpp.rej unable to find 'ds/nsExpirationTracker.h' for patching 1 out of 1 hunks FAILED -- saving rejects to file ds/nsExpirationTracker.h.rej unable to find 'glue/nsQuickSort.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file glue/nsQuickSort.cpp.rej unable to find 'glue/nsTArray-inl.h' for patching 1 out of 1 hunks FAILED -- saving rejects to file glue/nsTArray-inl.h.rej unable to find 'glue/nsTArray.h' for patching 1 out of 1 hunks FAILED -- saving rejects to file glue/nsTArray.h.rej unable to find 'glue/nsVersionComparator.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file glue/nsVersionComparator.cpp.rej unable to find 'glue/nsVoidArray.cpp' for patching 3 out of 3 hunks FAILED -- saving rejects to file glue/nsVoidArray.cpp.rej unable to find 'io/nsFastLoadFile.cpp' for patching 3 out of 3 hunks FAILED -- saving rejects to file io/nsFastLoadFile.cpp.rej unable to find 'io/nsFastLoadFile.h' for patching 2 out of 2 hunks FAILED -- saving rejects to file io/nsFastLoadFile.h.rej unable to find 'io/nsPipe3.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file io/nsPipe3.cpp.rej unable to find 'io/nsScriptableInputStream.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file io/nsScriptableInputStream.cpp.rej unable to find 'io/nsStorageStream.cpp' for patching 4 out of 4 hunks FAILED -- saving rejects to file io/nsStorageStream.cpp.rej unable to find 'io/nsUnicharInputStream.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file io/nsUnicharInputStream.cpp.rej unable to find 'string/public/nsAlgorithm.h' for patching 2 out of 2 hunks FAILED -- saving rejects to file string/public/nsAlgorithm.h.rej unable to find 'string/src/nsReadableUtils.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file string/src/nsReadableUtils.cpp.rej unable to find 'string/src/nsTSubstring.cpp' for patching 4 out of 4 hunks FAILED -- saving rejects to file string/src/nsTSubstring.cpp.rej unable to find 'tests/TestPipes.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file tests/TestPipes.cpp.rej unable to find 'appshell/src/nsXULWindow.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file appshell/src/nsXULWindow.cpp.rej unable to find 'src/CertReader.cpp' for patching 1 out of 1 hunks FAILED -- saving rejects to file src/CertReader.cpp.rej unable to find 'src/nsXPInstallManager.cpp' for patching 2 out of 2 hunks FAILED -- saving rejects to file src/nsXPInstallManager.cpp.rej patch failed, unable to continue (try -v) patch failed, rejects left in working dir errors during apply, please fix and refresh attachment.cgi?id=522652
You need to use patch with -p0.
Heh, right, but even doing that doesn't make the patch apply cleanly: patching file content/canvas/src/WebGLContext.h Hunk #1 succeeded at 913 (offset -1 lines). Hunk #2 succeeded at 937 (offset -1 lines). Hunk #3 succeeded at 1049 (offset -1 lines). patching file content/canvas/src/WebGLContextGL.cpp patching file content/canvas/src/WebGLContextValidate.cpp patching file content/events/src/nsEventStateManager.cpp Hunk #1 succeeded at 753 (offset -3 lines). Hunk #2 succeeded at 1295 (offset -2 lines). Hunk #3 succeeded at 1310 (offset -2 lines). Hunk #4 succeeded at 2007 (offset -10 lines). patching file content/media/nsBuiltinDecoderReader.cpp Hunk #1 succeeded at 259 (offset -79 lines). patching file content/media/nsMediaCache.cpp Hunk #1 FAILED at 750. Hunk #2 succeeded at 818 with fuzz 2 (offset -9 lines). Hunk #3 succeeded at 1046 (offset -9 lines). Hunk #4 succeeded at 1074 (offset -9 lines). Hunk #5 succeeded at 1124 (offset -9 lines). Hunk #6 succeeded at 1649 (offset -9 lines). Hunk #7 succeeded at 1669 (offset -9 lines). Hunk #8 succeeded at 1713 (offset -9 lines). Hunk #9 succeeded at 1768 (offset -9 lines). Hunk #10 succeeded at 1809 (offset -9 lines). Hunk #11 succeeded at 1975 (offset -9 lines). Hunk #12 succeeded at 2106 (offset -9 lines). Hunk #13 succeeded at 2115 (offset -9 lines). Hunk #14 succeeded at 2125 (offset -9 lines). Hunk #15 succeeded at 2192 (offset -9 lines). Hunk #16 succeeded at 2200 (offset -9 lines). Hunk #17 succeeded at 2210 (offset -9 lines). 1 out of 17 hunks FAILED -- saving rejects to file content/media/nsMediaCache.cpp.rej patching file content/media/nsMediaStream.cpp Hunk #1 succeeded at 938 (offset 15 lines). patching file content/media/wave/nsWaveDecoder.cpp Hunk #1 FAILED at 645. Hunk #2 FAILED at 1072. Hunk #3 FAILED at 1211. 3 out of 3 hunks FAILED -- saving rejects to file content/media/wave/nsWaveDecoder.cpp.rej patching file content/smil/nsSMILAnimationController.cpp Hunk #1 succeeded at 577 (offset -8 lines). Hunk #2 succeeded at 594 (offset -8 lines). patching file content/smil/nsSMILTimeContainer.cpp patching file content/xslt/src/base/txDouble.cpp patching file content/xslt/src/base/txStringUtils.cpp patching file content/xslt/src/xpath/txMozillaXPathTreeWalker.cpp Hunk #1 succeeded at 719 (offset 2 lines). patching file content/xslt/src/xpath/txNodeSet.cpp patching file content/xslt/src/xslt/txMozillaXMLOutput.cpp Hunk #1 succeeded at 685 (offset -6 lines). patching file content/xul/content/src/nsXULElement.cpp patching file db/morkreader/nsMorkReader.cpp patching file docshell/shistory/src/nsSHistory.cpp Hunk #1 succeeded at 1003 (offset -7 lines). Hunk #2 succeeded at 1213 (offset -7 lines). patching file dom/indexedDB/IDBFactory.cpp Hunk #1 succeeded at 624 (offset 7 lines). Hunk #2 succeeded at 980 (offset 43 lines). patching file dom/ipc/TabParent.cpp patching file dom/system/nsAccelerometer.cpp Hunk #1 FAILED at 232. 1 out of 1 hunk FAILED -- saving rejects to file dom/system/nsAccelerometer.cpp.rej patching file editor/libeditor/html/nsHTMLEditRules.cpp patching file editor/libeditor/html/nsHTMLObjectResizer.cpp Hunk #1 succeeded at 928 (offset 1 line). patching file extensions/gnomevfs/nsGnomeVFSProtocolHandler.cpp patching file extensions/pref/autoconfig/src/nsAutoConfig.cpp patching file gfx/src/nsCoord.h can't find file to patch at input line 668 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |diff -Nur ../mozilla-2.0.orig/gfx/src/nsIRenderingContext.h gfx/src/nsIRenderingContext.h |--- ../mozilla-2.0.orig/gfx/src/nsIRenderingContext.h 2011-03-28 22:35:21.000000000 +0200 |+++ gfx/src/nsIRenderingContext.h 2011-03-28 22:37:51.000000000 +0200 -------------------------- File to patch: Skip this patch? [y] Skipping patch. 1 out of 1 hunk ignored patching file gfx/src/nsRect.cpp Hunk #1 FAILED at 81. Hunk #2 FAILED at 93. Hunk #3 FAILED at 138. Hunk #4 FAILED at 169. Hunk #5 FAILED at 178. Hunk #6 FAILED at 268. Hunk #7 FAILED at 280. Hunk #8 FAILED at 317. 8 out of 8 hunks FAILED -- saving rejects to file gfx/src/nsRect.cpp.rej can't find file to patch at input line 789 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |diff -Nur ../mozilla-2.0.orig/gfx/src/thebes/nsThebesDeviceContext.cpp gfx/src/thebes/nsThebesDeviceContext.cpp |--- ../mozilla-2.0.orig/gfx/src/thebes/nsThebesDeviceContext.cpp 2011-03-28 22:35:21.000000000 +0200 |+++ gfx/src/thebes/nsThebesDeviceContext.cpp 2011-03-28 22:37:51.000000000 +0200 -------------------------- File to patch: Skip this patch? [y] Skipping patch. 3 out of 3 hunks ignored can't find file to patch at input line 819 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |diff -Nur ../mozilla-2.0.orig/gfx/src/thebes/nsThebesFontMetrics.cpp gfx/src/thebes/nsThebesFontMetrics.cpp |--- ../mozilla-2.0.orig/gfx/src/thebes/nsThebesFontMetrics.cpp 2011-03-28 22:35:21.000000000 +0200 |+++ gfx/src/thebes/nsThebesFontMetrics.cpp 2011-03-28 22:37:51.000000000 +0200 -------------------------- File to patch: Skip this patch? [y] Skipping patch. 2 out of 2 hunks ignored can't find file to patch at input line 840 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |diff -Nur ../mozilla-2.0.orig/gfx/src/thebes/nsThebesRenderingContext.cpp gfx/src/thebes/nsThebesRenderingContext.cpp |--- ../mozilla-2.0.orig/gfx/src/thebes/nsThebesRenderingContext.cpp 2011-03-28 22:35:21.000000000 +0200 |+++ gfx/src/thebes/nsThebesRenderingContext.cpp 2011-03-28 22:37:51.000000000 +0200 -------------------------- File to patch: Skip this patch? [y] Skipping patch. 2 out of 2 hunks ignored patching file gfx/thebes/gfxBlur.cpp Hunk #1 succeeded at 348 (offset 2 lines). Hunk #2 succeeded at 393 (offset 2 lines). patching file gfx/thebes/gfxContext.cpp Hunk #1 succeeded at 398 (offset -4 lines). patching file gfx/thebes/gfxCoreTextShaper.cpp patching file gfx/thebes/gfxDWriteFontList.h patching file gfx/thebes/gfxFT2Utils.cpp patching file gfx/thebes/gfxFont.cpp Hunk #2 succeeded at 997 (offset -19 lines). Hunk #3 succeeded at 1239 (offset -18 lines). Hunk #4 succeeded at 1659 (offset -19 lines). Hunk #5 succeeded at 1755 (offset -19 lines). Hunk #6 succeeded at 1780 (offset -19 lines). Hunk #7 succeeded at 1794 (offset -19 lines). Hunk #8 succeeded at 1805 (offset -19 lines). Hunk #9 succeeded at 2026 (offset 4 lines). Hunk #10 succeeded at 2974 (offset 39 lines). Hunk #11 succeeded at 3002 (offset 39 lines). Hunk #12 succeeded at 3332 (offset 23 lines). Hunk #13 succeeded at 3709 (offset 23 lines). Hunk #14 succeeded at 3751 (offset 23 lines). Hunk #15 succeeded at 4107 (offset 23 lines). patching file gfx/thebes/gfxFont.h Hunk #2 succeeded at 168 (offset -5 lines). patching file gfx/thebes/gfxFontUtils.h patching file gfx/thebes/gfxGDIFont.cpp Hunk #1 succeeded at 374 (offset 3 lines). patching file gfx/thebes/gfxGDIFontList.cpp Hunk #5 succeeded at 900 (offset 1 line). patching file gfx/thebes/gfxHarfBuzzShaper.cpp Hunk #2 succeeded at 336 (offset 14 lines). Hunk #3 succeeded at 1048 (offset 18 lines). patching file gfx/thebes/gfxImageSurface.cpp patching file gfx/thebes/gfxMacFont.cpp patching file gfx/thebes/gfxOS2Fonts.cpp Hunk #2 succeeded at 242 (offset 6 lines). Hunk #3 succeeded at 269 (offset 6 lines). patching file gfx/thebes/gfxRect.cpp Hunk #1 FAILED at 44. Hunk #2 FAILED at 66. 2 out of 2 hunks FAILED -- saving rejects to file gfx/thebes/gfxRect.cpp.rej patching file gfx/thebes/gfxRect.h Hunk #2 FAILED at 123. Hunk #3 FAILED at 145. 2 out of 3 hunks FAILED -- saving rejects to file gfx/thebes/gfxRect.h.rej patching file gfx/thebes/gfxSkipChars.cpp patching file intl/uconv/src/nsConverterInputStream.cpp patching file intl/uconv/src/nsUTF8ToUnicode.cpp patching file intl/uconv/util/nsUCSupport.cpp patching file js/src/xpconnect/src/xpcjsruntime.cpp Hunk #1 FAILED at 1475. 1 out of 1 hunk FAILED -- saving rejects to file js/src/xpconnect/src/xpcjsruntime.cpp.rej patching file layout/base/nsCSSColorUtils.h patching file layout/base/nsCSSRendering.cpp Hunk #1 FAILED at 1128. Hunk #2 FAILED at 1366. Hunk #3 succeeded at 1826 (offset -2 lines). 2 out of 3 hunks FAILED -- saving rejects to file layout/base/nsCSSRendering.cpp.rej patching file layout/base/nsPresShell.cpp Hunk #2 succeeded at 630 (offset 3 lines). patching file layout/generic/nsGfxScrollFrame.cpp Hunk #1 succeeded at 2210 (offset 157 lines). patching file layout/generic/nsTextFrameThebes.cpp Hunk #1 succeeded at 2755 (offset 1 line). Hunk #2 succeeded at 2800 (offset 1 line). Hunk #3 succeeded at 4962 (offset -17 lines). patching file layout/mathml/nsMathMLChar.cpp Hunk #1 succeeded at 888 (offset -86 lines). Hunk #2 succeeded at 897 (offset -86 lines). Hunk #3 succeeded at 924 (offset -86 lines). patching file layout/style/nsStyleAnimation.cpp Hunk #1 succeeded at 282 (offset 1 line). Hunk #2 succeeded at 293 (offset 1 line). Hunk #3 succeeded at 1073 (offset 1 line). patching file layout/tables/nsTableFrame.cpp Hunk #1 succeeded at 6272 (offset -2 lines). Hunk #2 succeeded at 6611 (offset -2 lines). Hunk #3 succeeded at 6673 (offset -2 lines). Hunk #4 succeeded at 6815 (offset -2 lines). Hunk #5 succeeded at 6855 (offset -2 lines). patching file layout/xul/base/src/tree/src/nsTreeBodyFrame.cpp Hunk #1 succeeded at 1846 (offset -13 lines). patching file modules/libpr0n/decoders/nsBMPDecoder.cpp patching file modules/libpr0n/decoders/nsGIFDecoder2.cpp patching file modules/libpr0n/decoders/nsICODecoder.cpp patching file modules/libpr0n/decoders/nsIconDecoder.cpp patching file modules/libpr0n/decoders/nsPNGDecoder.cpp patching file modules/libpr0n/src/RasterImage.cpp Hunk #1 succeeded at 1915 (offset 7 lines). Hunk #2 succeeded at 2561 (offset 7 lines). patching file modules/libpr0n/src/imgRequest.cpp patching file modules/libpref/src/prefapi.cpp Hunk #1 succeeded at 479 (offset -4 lines). patching file netwerk/base/src/nsBufferedStreams.cpp Hunk #1 succeeded at 38 with fuzz 2 (offset -2 lines). Hunk #2 succeeded at 346 (offset -2 lines). Hunk #3 succeeded at 578 (offset -8 lines). Hunk #4 succeeded at 669 (offset -8 lines). Hunk #5 succeeded at 686 (offset -8 lines). patching file netwerk/base/src/nsFileStreams.h Hunk #2 succeeded at 194 (offset 39 lines). patching file netwerk/base/src/nsIncrementalDownload.cpp Hunk #1 succeeded at 696 (offset -1 lines). patching file netwerk/base/src/nsSocketTransport2.cpp Hunk #1 succeeded at 1929 (offset 29 lines). Hunk #2 succeeded at 2061 (offset 29 lines). patching file netwerk/base/src/nsStandardURL.cpp Hunk #1 succeeded at 1038 (offset -4 lines). patching file netwerk/base/src/nsSyncStreamListener.cpp patching file netwerk/cache/nsCacheService.cpp Hunk #1 succeeded at 361 (offset -1 lines). Hunk #2 succeeded at 422 (offset -1 lines). Hunk #3 succeeded at 452 (offset -1 lines). Hunk #4 succeeded at 481 (offset -1 lines). Hunk #5 succeeded at 584 (offset -1 lines). Hunk #6 succeeded at 658 (offset -1 lines). Hunk #7 succeeded at 754 (offset -1 lines). patching file netwerk/cache/nsDiskCacheBlockFile.cpp patching file netwerk/cache/nsDiskCacheMap.cpp patching file netwerk/cache/nsDiskCacheStreams.cpp Hunk #1 FAILED at 761. 1 out of 1 hunk FAILED -- saving rejects to file netwerk/cache/nsDiskCacheStreams.cpp.rej patching file netwerk/cache/nsMemoryCacheDevice.cpp patching file netwerk/protocol/about/nsAboutCacheEntry.cpp patching file netwerk/protocol/file/nsFileChannel.cpp patching file netwerk/protocol/http/HttpBaseChannel.cpp Hunk #1 succeeded at 1013 (offset 4 lines). patching file netwerk/protocol/http/nsHttpChunkedDecoder.cpp patching file netwerk/protocol/http/nsHttpConnectionMgr.cpp Hunk #1 succeeded at 445 (offset 4 lines). patching file netwerk/protocol/http/nsHttpResponseHead.cpp patching file netwerk/protocol/http/nsHttpTransaction.cpp Hunk #1 succeeded at 709 (offset 13 lines). Hunk #2 succeeded at 728 (offset 11 lines). Hunk #3 succeeded at 856 (offset 12 lines). Hunk #4 FAILED at 1047. Hunk #5 succeeded at 1078 (offset 19 lines). 1 out of 5 hunks FAILED -- saving rejects to file netwerk/protocol/http/nsHttpTransaction.cpp.rej patching file netwerk/streamconv/converters/nsBinHexDecoder.cpp patching file netwerk/streamconv/converters/nsIndexedToHTML.cpp patching file netwerk/streamconv/converters/nsMultiMixedConv.cpp Hunk #1 succeeded at 606 (offset -1 lines). patching file netwerk/streamconv/converters/nsTXTToHTMLConv.cpp patching file netwerk/test/TestHttp.cpp patching file netwerk/test/TestMCTransport.cpp patching file netwerk/test/TestOverlappedIO.cpp patching file netwerk/test/TestPageLoad.cpp patching file netwerk/test/TestPerf.cpp patching file netwerk/test/TestProtocols.cpp Hunk #1 succeeded at 483 (offset -2 lines). patching file netwerk/test/TestStreamChannel.cpp patching file netwerk/test/TestStreamPump.cpp patching file netwerk/test/TestThreadedIO.cpp patching file netwerk/test/TestUpload.cpp patching file testing/mochitest/ssltunnel/ssltunnel.cpp patching file uriloader/exthandler/nsExternalHelperAppService.cpp Hunk #1 succeeded at 1933 (offset -2 lines). patching file widget/src/android/nsWindow.cpp Hunk #1 succeeded at 1655 (offset -12 lines). patching file widget/src/gtk2/nsNativeKeyBindings.cpp patching file widget/src/gtk2/nsNativeThemeGTK.cpp Hunk #1 succeeded at 186 (offset -1 lines). Hunk #2 succeeded at 1044 (offset -1 lines). patching file widget/src/gtk2/nsPrintSettingsGTK.cpp patching file widget/src/gtk2/nsWindow.cpp Hunk #1 succeeded at 4722 (offset 36 lines). Hunk #2 succeeded at 6551 (offset 54 lines). patching file widget/src/os2/nsIdleServiceOS2.cpp patching file widget/src/qt/nsWindow.cpp Hunk #1 succeeded at 310 (offset 9 lines). patching file widget/src/windows/KeyboardLayout.cpp patching file widget/src/windows/nsIMM32Handler.cpp Hunk #1 succeeded at 1201 (offset -30 lines). Hunk #2 succeeded at 1212 (offset -31 lines). Hunk #3 succeeded at 1238 (offset -31 lines). Hunk #4 succeeded at 1856 (offset -31 lines). patching file widget/src/windows/nsNativeThemeWin.cpp Hunk #1 succeeded at 208 (offset -43 lines). patching file widget/src/windows/nsTextStore.cpp patching file widget/src/windows/nsWindow.cpp Hunk #1 succeeded at 2563 (offset -114 lines). Hunk #2 succeeded at 3418 (offset -184 lines). Hunk #3 succeeded at 3476 (offset -184 lines). Hunk #4 succeeded at 6388 (offset -331 lines). Hunk #5 succeeded at 6400 (offset -331 lines). Hunk #6 succeeded at 6807 (offset -339 lines). patching file widget/src/xpwidgets/nsBaseDragService.cpp Hunk #1 succeeded at 595 (offset -1 lines). patching file widget/src/xpwidgets/nsIdleService.cpp patching file widget/src/xpwidgets/nsNativeTheme.cpp patching file widget/src/xpwidgets/nsNativeTheme.h patching file widget/tests/TestWinTSF.cpp patching file xpcom/ds/nsExpirationTracker.h patching file xpcom/glue/nsQuickSort.cpp patching file xpcom/glue/nsTArray-inl.h patching file xpcom/glue/nsTArray.h patching file xpcom/glue/nsVersionComparator.cpp patching file xpcom/glue/nsVoidArray.cpp Hunk #2 FAILED at 917. Hunk #3 succeeded at 951 (offset -218 lines). 1 out of 3 hunks FAILED -- saving rejects to file xpcom/glue/nsVoidArray.cpp.rej patching file xpcom/io/nsFastLoadFile.cpp Hunk #2 succeeded at 567 (offset -1 lines). Hunk #3 succeeded at 596 (offset -1 lines). patching file xpcom/io/nsFastLoadFile.h patching file xpcom/io/nsPipe3.cpp Hunk #1 FAILED at 35. Hunk #2 succeeded at 959 (offset -1 lines). 1 out of 2 hunks FAILED -- saving rejects to file xpcom/io/nsPipe3.cpp.rej patching file xpcom/io/nsScriptableInputStream.cpp patching file xpcom/io/nsStorageStream.cpp Hunk #2 succeeded at 206 (offset -1 lines). Hunk #3 succeeded at 443 (offset -1 lines). Hunk #4 succeeded at 539 (offset -1 lines). patching file xpcom/io/nsUnicharInputStream.cpp patching file xpcom/string/public/nsAlgorithm.h patching file xpcom/string/src/nsReadableUtils.cpp Hunk #1 succeeded at 637 (offset 2 lines). Hunk #2 succeeded at 718 (offset 2 lines). patching file xpcom/string/src/nsTSubstring.cpp patching file xpcom/tests/TestPipes.cpp patching file xpfe/appshell/src/nsXULWindow.cpp Hunk #1 succeeded at 1331 (offset -4 lines). patching file xpinstall/src/CertReader.cpp patching file xpinstall/src/nsXPInstallManager.cpp Hunk #1 succeeded at 1229 (offset -1 lines). Hunk #2 succeeded at 1256 (offset -1 lines).
I'm going to try landing the parts that do apply.
Took me a while, but I managed to get something landed. http://hg.mozilla.org/mozilla-central/rev/e3f863f8bf4a Note that the change to nsCoord.h was problematic, it caused a hard assertion failure in layout/generic/crashtests/478131-1.html, and rounding errors in content/smil/test/test_smilCSSPaced.xhtml and content/smil/test/test_smilMappedAttrPaced.xhtml. I'll file a new bug for the rest.
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 7
Version: unspecified → Trunk
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: