Closed
Bug 567835
Opened 12 years ago
Closed 12 years ago
"warning: suggest parentheses around && within ||" in nsTableFrame.cpp, after bug 558574
Categories
(Core :: Layout: Tables, defect)
Core
Layout: Tables
Tracking
()
RESOLVED
FIXED
People
(Reporter: dholbert, Assigned: bernd_mozilla)
References
Details
Attachments
(2 files)
1.36 KB,
patch
|
dholbert
:
review+
|
Details | Diff | Splinter Review |
1.42 KB,
patch
|
Details | Diff | Splinter Review |
No description provided.
Reporter | ||
Comment 1•12 years ago
|
||
[argh, I hit 'enter' while typing bug summary, & accidentally filed bug without a description] Bug 558574 introduced these build warnings, in a previously warning-free directory: ./../../mozilla/layout/tables/nsTableFrame.cpp: In static member function ‘static PRBool nsTableFrame::PageBreakAfter(nsIFrame*, nsIFrame*)’: ../../../mozilla/layout/tables/nsTableFrame.cpp:296: warning: suggest parentheses around && within || ../../../mozilla/layout/tables/nsTableFrame.cpp:306: warning: suggest parentheses around && within || The flagged blocks of code are: >294 // don't allow a page break after a repeated element ... >295 if (display->mBreakAfter || (prevRg && prevRg->HasInternalBreakAfter()) && >296 !IsRepeatedFrame(aSourceFrame)) { >297 return !(aNextFrame && IsRepeatedFrame(aNextFrame)); // or before and >302 // don't allow a page break before a repeated element ... >303 nsTableRowGroupFrame* nextRg = do_QueryFrame(aNextFrame); >304 if (display->mBreakBefore || >305 (nextRg && nextRg->HasInternalBreakBefore()) && >306 !IsRepeatedFrame(aNextFrame)) { >307 return !IsRepeatedFrame(aSourceFrame); // or after In both cases, the "&& !IsRepeatedFrame" is the operator that triggers the warning. This operator is lower-precedence than the initial "||" -- i.e. we're behaving as if there were an extra set of parenthesis *after* the "||". (and the warning suggests adding those parens to be more explicit) Is the current behavior what we actually want? (Or should there be parens around the ||, before the final &&?) I haven't looked at the code too thoroughly, so I'm not sure.
Blocks: 558574
OS: Linux → All
Summary: "suggest parentheses around && within ||" → "warning: suggest parentheses around && within ||" in nsTableFrame.cpp, after bug 558574
display->mBreakAfter || (prevRg && prevRg->HasInternalBreakAfter()) should be (display->mBreakAfter || (prevRg && prevRg->HasInternalBreakAfter()))
Assignee: nobody → bernd_mozilla
Status: NEW → ASSIGNED
Reporter | ||
Comment 3•12 years ago
|
||
That change (adding parens around the operands of "||") makes sense to me -- that was what I suspected was intended. (We need the same change for the "display->mBreakBefore" chunk, too, of course)
Reporter | ||
Updated•12 years ago
|
Hardware: x86 → All
Attachment #447466 -
Flags: review?(dholbert)
Reporter | ||
Updated•12 years ago
|
Attachment #447466 -
Flags: review?(dholbert) → review+
Reporter | ||
Comment 5•12 years ago
|
||
Bernd: I'm going to be pushing a few "checkin-needed" patches later today, and I'd be happy to include this bug's patch in that push (with you as the author of course) -- is that ok by you, or would you rather land it yourself?
Reporter | ||
Comment 6•12 years ago
|
||
(nevermind @ comment 5 -- I pushed the other patches without this one. I'd still be happy to check in this patch & watch the tree if you'd like, though.)
changeset for pushing, I just submitted it to try server. I did not want to ask for checkin without pushing it over tryserver first. But in general: checkin in to the permaorange takes a solid second place in Mozilla top annoyances (first is waiting endless for review). So whoever checks in my stuff I am thankful for this. The fun of digging, debugging and interaction with brilliant people outweighs for me those annoyances.
Reporter | ||
Comment 9•12 years ago
|
||
Pushed bernd's "hg export" attachment (with the bug number in the checkin comment updated to be this bug, rather than bug 558574) http://hg.mozilla.org/mozilla-central/rev/1fb9ef691b5c
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•