summaryrefslogtreecommitdiff
path: root/frontends/cocoa/apple_image.m
diff options
context:
space:
mode:
authorSven Weidauer <sven@5sw.de>2017-06-05 10:47:34 +0200
committerSven Weidauer <sven@5sw.de>2017-06-05 10:51:19 +0200
commit3ee40a10b123c36be3e29602767840a7a71aaafa (patch)
tree64123d0bf6a6cf5a5a4c1fd8349756db68e09483 /frontends/cocoa/apple_image.m
parentce4e059ea67cee7f35b4b810a4387f343fa74650 (diff)
downloadnetsurf-3ee40a10b123c36be3e29602767840a7a71aaafa.tar.gz
netsurf-3ee40a10b123c36be3e29602767840a7a71aaafa.tar.bz2
Fix up cocoa frontend.
- Convert to ARC - Fix crash due to endless responder chain recursion - Update makefile to find openssl installed via home-brew - Fix most compiler warnings
Diffstat (limited to 'frontends/cocoa/apple_image.m')
-rw-r--r--frontends/cocoa/apple_image.m19
1 files changed, 10 insertions, 9 deletions
diff --git a/frontends/cocoa/apple_image.m b/frontends/cocoa/apple_image.m
index 0bbaabd10..a14cd10e5 100644
--- a/frontends/cocoa/apple_image.m
+++ b/frontends/cocoa/apple_image.m
@@ -45,7 +45,6 @@ typedef struct apple_image_content {
static void *apple_image_get_internal(const struct content *c, void *context)
{
apple_image_content *ai_c = (apple_image_content *)c;
-
return ai_c->bitmap;
}
@@ -80,7 +79,7 @@ static void animate_image_cb( void *ptr )
++ai->currentFrame;
if (ai->currentFrame >= ai->frames) ai->currentFrame = 0;
- [(NSBitmapImageRep *)ai->bitmap setProperty: NSImageCurrentFrame withValue: [NSNumber numberWithUnsignedInteger: ai->currentFrame]];
+ [(__bridge NSBitmapImageRep *)ai->bitmap setProperty: NSImageCurrentFrame withValue: [NSNumber numberWithUnsignedInteger: ai->currentFrame]];
cocoa_bitmap_modified( ai->bitmap );
union content_msg_data data;
@@ -105,7 +104,7 @@ static bool apple_image_convert(struct content *c)
const char *bytes = content__get_source_data(c, &size);
NSData *data = [NSData dataWithBytesNoCopy: (char *)bytes length: size freeWhenDone: NO];
- NSBitmapImageRep *image = [[NSBitmapImageRep imageRepWithData: data] retain];
+ NSBitmapImageRep *image = [NSBitmapImageRep imageRepWithData: data];
if (image == nil) {
union content_msg_data msg_data;
@@ -116,7 +115,7 @@ static bool apple_image_convert(struct content *c)
c->width = [image pixelsWide];
c->height = [image pixelsHigh];
- ai_c->bitmap = (void *)image;
+ ai_c->bitmap = (__bridge_retained void *)image;
NSString *url = [NSString stringWithUTF8String: nsurl_access(llcache_handle_get_url( content_get_llcache_handle( c )) )];
NSString *title = [NSString stringWithFormat: @"%@ (%dx%d)", [url lastPathComponent], c->width, c->height];
@@ -148,7 +147,9 @@ static void apple_image_destroy(struct content *c)
{
apple_image_content *ai_c = (apple_image_content *)c;
- [(id)ai_c->bitmap release];
+ id bitmap = (__bridge_transfer id)ai_c->bitmap;
+ bitmap = nil;
+
ai_c->bitmap = NULL;
cocoa_schedule(-1, animate_image_cb, c );
}
@@ -174,7 +175,7 @@ static nserror apple_image_clone(const struct content *old, struct content **new
old->status == CONTENT_STATUS_DONE) {
ai->base.width = old->width;
ai->base.height = old->height;
- ai->bitmap = (void *)[(id)ai_old->bitmap retain];
+ ai->bitmap = (__bridge_retained void *)((__bridge id)ai_old->bitmap);
}
*newc = (struct content *) ai;
@@ -201,8 +202,8 @@ static bool apple_image_redraw(struct content *c, struct content_redraw_data *da
if (data->repeat_y)
flags |= BITMAPF_REPEAT_Y;
- return ctx->plot->bitmap(data->x, data->y, data->width, data->height,
- ai_c->bitmap, data->background_colour, flags);
+ return ctx->plot->bitmap(ctx, ai_c->bitmap, data->x, data->y, data->width, data->height,
+ data->background_colour, flags);
}
static const content_handler apple_image_content_handler = {
@@ -236,7 +237,7 @@ nserror apple_image_init(void)
{
NSArray *utis = [NSBitmapImageRep imageTypes];
for (NSString *uti in utis) {
- NSDictionary *declaration = [(NSDictionary *)UTTypeCopyDeclaration( (CFStringRef)uti ) autorelease];
+ NSDictionary *declaration = (__bridge_transfer NSDictionary *)UTTypeCopyDeclaration( (__bridge CFStringRef)uti );
id mimeTypes = [[declaration objectForKey: (NSString *)kUTTypeTagSpecificationKey] objectForKey: (NSString *)kUTTagClassMIMEType];
if (mimeTypes == nil) continue;