[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
mrowe at apple.com
mrowe at apple.com
Wed Dec 22 12:40:37 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit f317930fcff14f064f5979201ac0369c1f1352ca
Author: mrowe at apple.com <mrowe at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Aug 27 00:33:54 2010 +0000
<rdar://problem/8339008> WebCore's MediaPlayerPrivateQTKit.mm fails to build with clang.
Reviewed by Sam Weinig.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::mainThreadSetNeedsDisplay): Remove some ambiguity in the return type of -delegate.
Since the message was being sent to a receiver of type id the compiler cannot accurately
determine the return type. Typically this would be resolved by using a more specific type
for the receiver. However, due to lazy loading shenanigans that we play with QTKit we're
unable to directly cast to the relevant type (QTMovieView*). Instead we fake up an interface
with the correct type of the method we care about (-delegate) and cast to that type instead.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66157 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index b80e9f4..c34e022 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-08-26 Mark Rowe <mrowe at apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8339008> WebCore's MediaPlayerPrivateQTKit.mm fails to build with clang.
+
+ * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+ (WebCore::mainThreadSetNeedsDisplay): Remove some ambiguity in the return type of -delegate.
+ Since the message was being sent to a receiver of type id the compiler cannot accurately
+ determine the return type. Typically this would be resolved by using a more specific type
+ for the receiver. However, due to lazy loading shenanigans that we play with QTKit we're
+ unable to directly cast to the relevant type (QTMovieView*). Instead we fake up an interface
+ with the correct type of the method we care about (-delegate) and cast to that type instead.
+
2010-08-26 Andy Estes <aestes at apple.com>
Reviewed by Darin Adler.
diff --git a/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm b/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm
index 435e56e..8cd407b 100644
--- a/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm
+++ b/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm
@@ -153,6 +153,13 @@ enum {
};
#endif
+ at interface FakeQTMovieView : NSObject
+{
+}
+
+- (WebCoreMovieObserver *)delegate;
+ at end
+
using namespace WebCore;
using namespace std;
@@ -315,11 +322,12 @@ void MediaPlayerPrivate::createQTMovie(NSURL *url, NSDictionary *movieAttributes
static void mainThreadSetNeedsDisplay(id self, SEL)
{
- id movieView = [self superview];
- ASSERT(!movieView || [movieView isKindOfClass:[QTMovieView class]]);
- if (!movieView || ![movieView isKindOfClass:[QTMovieView class]])
+ id view = [self superview];
+ ASSERT(!view || [view isKindOfClass:[QTMovieView class]]);
+ if (!view || ![view isKindOfClass:[QTMovieView class]])
return;
+ FakeQTMovieView *movieView = static_cast<FakeQTMovieView *>(view);
WebCoreMovieObserver* delegate = [movieView delegate];
ASSERT(!delegate || [delegate isKindOfClass:[WebCoreMovieObserver class]]);
if (!delegate || ![delegate isKindOfClass:[WebCoreMovieObserver class]])
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list