Closed
Bug 1239683
Opened 9 years ago
Closed 9 years ago
"error C2065: 'NS_UNCONSTRAINEDSIZE' : undeclared identifier" nsWindow.cpp bustage with --disable-accessibility
Categories
(Core :: Widget: Win32, defect)
Core
Widget: Win32
Tracking
()
RESOLVED
FIXED
mozilla47
People
(Reporter: RyanVM, Assigned: RyanVM)
References
Details
Attachments
(1 file, 1 obsolete file)
(deleted),
patch
|
MatsPalmgren_bugz
:
review+
|
Details | Diff | Splinter Review |
mozilla-central/widget/windows/nsWindow.cpp(1427) : error C2065: 'NS_UNCONSTRAINEDSIZE' : undeclared identifier
mozilla-central/widget/windows/nsWindow.cpp(1430) : error C2065: 'NS_UNCONSTRAINEDSIZE' : undeclared identifier
mozilla-central/widget/windows/nsWindow.cpp(1433) : error C2065: 'NS_UNCONSTRAINEDSIZE' : undeclared identifier
mozilla-central/widget/windows/nsWindow.cpp(1436) : error C2065: 'NS_UNCONSTRAINEDSIZE' : undeclared identifier
I think the reason is that nsIFrame.h is where NS_UNCONSTRAINEDSIZE is defined, but it isn't directly included. Looks like it's included indirectly via mozilla/a11y/DocAccessible.h, which of course then breaks when a11y is disabled.
I've confirmed that adding the nsIFrame.h #include directly to nsWindow.cpp fixes it locally.
Assignee | ||
Comment 1•9 years ago
|
||
Attachment #8707868 -
Flags: review?(jfkthame)
Updated•9 years ago
|
Attachment #8707868 -
Flags: review?(jfkthame) → review+
Comment 3•9 years ago
|
||
Adding a nsIFrame.h dependency here seems like it goes in the wrong direction.
I'd really like to avoid that if we can.
Looking at the widget code that uses NS_UNCONSTRAINEDSIZE:
http://hg.mozilla.org/mozilla-central/annotate/27eb5e90eeee/widget/windows/nsWindow.cpp#l1427
that seems wrong given that the SizeConstraints members are LayoutDeviceIntSize:
http://hg.mozilla.org/mozilla-central/annotate/27eb5e90eeee/widget/nsIWidget.h#l246
I don't think NS_UNCONSTRAINEDSIZE is meant to be used with anything other than
app units (nscoord). As you can see from the ctor above, the members are initialized
to NS_MAXSIZE which is defined in gfx/src/nsSize.h. (nsIFrame.h simply makes
NS_UNCONSTRAINEDSIZE a synonym for that).
So I think we should instead replace NS_UNCONSTRAINEDSIZE with NS_MAXSIZE here.
Does that make it compile without the added #include?
Flags: needinfo?(ryanvm)
Assignee | ||
Comment 4•9 years ago
|
||
Yep, that works too.
Attachment #8707868 -
Attachment is obsolete: true
Flags: needinfo?(ryanvm)
Attachment #8707954 -
Flags: review?(mats)
Comment 5•9 years ago
|
||
Comment on attachment 8707954 [details] [diff] [review]
replace NS_UNCONSTRAINEDSIZE with NS_MAXSIZE in windows/nsWidget.cpp
r=mats (assuming that you also revert the previous patch)
Attachment #8707954 -
Flags: review?(mats) → review+
Comment 6•9 years ago
|
||
Yeah, that's better - thanks Mats.
Comment 8•9 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/a0f514352b09
https://hg.mozilla.org/mozilla-central/rev/adb9b9bab2f2
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla46
Comment 9•9 years ago
|
||
Backed out of aurora-46, see bug 890156 comment 168. Bumping target milestone to 47.
status-firefox46:
fixed → ---
Target Milestone: mozilla46 → mozilla47
You need to log in
before you can comment on or make changes to this bug.
Description
•