Quartz, Bug 655057: Eliminate Compiler Warning

When compiled with older SDKs, the original change for this bug caused a
compiler warning about NSWindow not being able to handle a setStyleMask
message. This tricks the compiler into thinking that it can.
This commit is contained in:
Alex Corrado 2011-10-09 09:52:14 -07:00 committed by John Ralls
parent a35d8764da
commit defdfde999

View File

@ -2530,9 +2530,17 @@ gdk_quartz_window_get_frame_extents (GdkWindow *window,
rect->height = ns_rect.size.height;
}
/* Fake protocol to make gcc think that it's OK to call setStyleMask
even if it isn't. We check to make sure before actually calling
it. */
@protocol CanSetStyleMask
- (void)setStyleMask:(int)mask;
@end
static void
gdk_quartz_window_set_decorations (GdkWindow *window,
GdkWMDecoration decorations)
GdkWMDecoration decorations)
{
GdkWindowImplQuartz *impl;
NSUInteger old_mask, new_mask;
@ -2589,7 +2597,7 @@ gdk_quartz_window_set_decorations (GdkWindow *window,
*/
if ([impl->toplevel respondsToSelector:@selector(setStyleMask:)])
{
[impl->toplevel setStyleMask:new_mask];
[(id<CanSetStyleMask>)impl->toplevel setStyleMask:new_mask];
}
else
{