summaryrefslogtreecommitdiff
path: root/vcl/aqua
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2011-09-28 17:19:40 +0300
committerTor Lillqvist <tml@iki.fi>2011-09-28 17:43:39 +0300
commitbbec6182140209774390a6adda967e94f14b9c95 (patch)
tree2a92bdb7bf25ea3f8dd6b23e31040c5b5ee0f9e8 /vcl/aqua
parente688d55100de08fe4ac95d6c40c2de0d2ffa6f8b (diff)
WaE: foo does not implement the fooDelegate protocol
Diffstat (limited to 'vcl/aqua')
-rw-r--r--vcl/aqua/source/window/salframe.cxx13
-rw-r--r--vcl/aqua/source/window/salmenu.cxx12
2 files changed, 23 insertions, 2 deletions
diff --git a/vcl/aqua/source/window/salframe.cxx b/vcl/aqua/source/window/salframe.cxx
index 56eff66d945a..5ac2842cb469 100644
--- a/vcl/aqua/source/window/salframe.cxx
+++ b/vcl/aqua/source/window/salframe.cxx
@@ -51,6 +51,7 @@
#include "salwtype.hxx"
#include "premac.h"
+#include <objc/objc-runtime.h>
// needed for theming
// FIXME: move theming code to salnativewidgets.cxx
#include <Carbon/Carbon.h>
@@ -212,7 +213,17 @@ void AquaSalFrame::initWindowAndView()
else
[mpWindow setAcceptsMouseMovedEvents: YES];
[mpWindow setHasShadow: YES];
- [mpWindow setDelegate: mpWindow];
+
+ // WTF? With the 10.6 SDK and gcc 4.2.1, we get: class 'NSWindow'
+ // does not implement the 'NSWindowDelegate' protocol. Anyway,
+ // having the window object be its own delegate object is
+ // apparently what the code does on purpose, see discussion in
+ // https://issues.apache.org/ooo/show_bug.cgi?id=91990
+
+ // So to silence the warning when compiling with -Werror, instead of:
+ // [mpWindow setDelegate: mpWindow];
+ // do this:
+ objc_msgSend(mpWindow, @selector(setDelegate:), mpWindow);
NSRect aRect = { { 0,0 }, { maGeometry.nWidth, maGeometry.nHeight } };
mnTrackingRectTag = [mpView addTrackingRect: aRect owner: mpView userData: nil assumeInside: NO];
diff --git a/vcl/aqua/source/window/salmenu.cxx b/vcl/aqua/source/window/salmenu.cxx
index ef76f4cf6e61..d719ec5405b4 100644
--- a/vcl/aqua/source/window/salmenu.cxx
+++ b/vcl/aqua/source/window/salmenu.cxx
@@ -44,6 +44,8 @@
#include "svids.hrc"
#include "window.h"
+#include <objc/objc-runtime.h>
+
const AquaSalMenu* AquaSalMenu::pCurrentMenuBar = NULL;
@interface MainMenuSelector : NSObject
@@ -260,7 +262,15 @@ AquaSalMenu::AquaSalMenu( bool bMenuBar ) :
if( ! mbMenuBar )
{
mpMenu = [[SalNSMenu alloc] initWithMenu: this];
- [mpMenu setDelegate: mpMenu];
+ // With the 10.6 SDK and gcc 4.2.1, we get: class 'NSMenu'
+ // does not implement the 'NSMenuDelegate' protocol. Anyway,
+ // having the menu object be its own delegate object is
+ // apparently what the code does on purpose.
+
+ // So to silcense the warning, instead of:
+ // [mpMenu setDelegate: mpMenu];
+ // do this:
+ objc_msgSend(mpMenu, @selector(setDelegate:), mpMenu);
}
else
{