Commit dda16d11 authored by ddkilzer@apple.com's avatar ddkilzer@apple.com
Browse files

WebCore fails to link due to changes in Objective-C++ ABI in trunk clang

<http://webkit.org/b/120183>
<rdar://problem/14764114>

Reviewed by Eric Carlson.

The trunk version of clang made an ABI change for Objective-C++
parameters that caused WebCore to fail to link.  The short-term
fix is to change the parameter type from id<protocol> to just id
and add an ASSERT that the parameter still conforms to the
protocol.

* platform/DragData.h:
(DragDataRef): Change typedef from id<NSDragInfo> to id.
* platform/mac/DragDataMac.mm:
(WebCore::DragData::DragData): Add ASSERT that checks that the
DragDataRef object implements the NSDragInfo protocol.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154493 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 22aa52a0
2013-08-23 David Kilzer <ddkilzer@apple.com>
WebCore fails to link due to changes in Objective-C++ ABI in trunk clang
<http://webkit.org/b/120183>
<rdar://problem/14764114>
Reviewed by Eric Carlson.
The trunk version of clang made an ABI change for Objective-C++
parameters that caused WebCore to fail to link. The short-term
fix is to change the parameter type from id<protocol> to just id
and add an ASSERT that the parameter still conforms to the
protocol.
* platform/DragData.h:
(DragDataRef): Change typedef from id<NSDragInfo> to id.
* platform/mac/DragDataMac.mm:
(WebCore::DragData::DragData): Add ASSERT that checks that the
DragDataRef object implements the NSDragInfo protocol.
2013-08-23 Andreas Kling <akling@apple.com>
 
RenderLayerCompositor::m_renderView should be a reference.
......@@ -41,7 +41,8 @@
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <AppKit/NSDragging.h>
typedef id <NSDraggingInfo> DragDataRef;
// Use id instead of id <NSDraggingInfo> here due to clang ABI change. See <rdar://problem/14764114>.
typedef id DragDataRef;
#else
typedef void* DragDataRef;
#endif
......
......@@ -51,6 +51,7 @@ DragData::DragData(DragDataRef data, const IntPoint& clientPosition, const IntPo
, m_applicationFlags(flags)
, m_pasteboardName([[m_platformDragData draggingPasteboard] name])
{
ASSERT([data conformsToProtocol:@protocol(NSDraggingInfo)]);
}
DragData::DragData(const String& dragStorageName, const IntPoint& clientPosition, const IntPoint& globalPosition,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment