Closed Bug 583283 Opened 14 years ago Closed 14 years ago

nsMenuX: 'mMenuDelegate' 's type is 'MenuDelegate*' which does not implement the 'NSMenuDelegate' protocol

Categories

(Core :: Widget: Cocoa, defect)

All
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: Nomis101, Assigned: jaas)

References

Details

Attachments

(1 file)

While trying to build Firefox with Clang I've investigated an error in nsMenuX.mm, I've reported as a llvm bug. But this is a mozilla Bug. 
For details see: http://llvm.org/bugs/show_bug.cgi?id=7753#c3
From the other bug:

To fix it is the obvious:

% diff nsMenuX.mii nsMenuX.fixit.mii
132607c132607
<   MenuDelegate* mMenuDelegate;
---
>   MenuDelegate<NSMenuDelegate>* mMenuDelegate;

Josh, does that sound right?
Assignee: nobody → joshmoz
Attached patch fix v1.0Splinter Review
We want to declare protocol support on the interface, not the variable. Also, NSMenuDelegate is only defined on 10.6+ so we need to special case it or we'll get a compile failure using the 10.5 SDK for 32-bit builds.

This will only work if you properly select your SDK and target OS. Right now our defaults are wonky, I filed bug 583318 about that.
Attachment #461624 - Flags: review?(b56girard)
Comment on attachment 461624 [details] [diff] [review]
fix v1.0

Looks good.

As a side note what will happen to MAC_OS_X_VERSION_10_6 when we start building against newer versions of OS X?
Attachment #461624 - Flags: review?(b56girard) → review+
Newer SDKs typically still have values defined for older versions.
Thanks for the quick fix. Now nsMenuX is fixed. But it seems there is a very similar problem for cocoa/nsClipboard. I will open a bug for this once I figured out more about it.
Hardware: x86 → All
Version: unspecified → Trunk
Attachment #461624 - Flags: approval2.0+
pushed to mozilla-central

http://hg.mozilla.org/mozilla-central/rev/7e79e0a6401c
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: