Index: content/browser/renderer_host/display_link_mac.cc |
diff --git a/content/browser/renderer_host/display_link_mac.cc b/content/browser/renderer_host/display_link_mac.cc |
index b7239c0899bbb47d6a2e04516585a91dcf4a5a02..b40a54880a7c4714abc7353981ba0ac5ea53ccd5 100644 |
--- a/content/browser/renderer_host/display_link_mac.cc |
+++ b/content/browser/renderer_host/display_link_mac.cc |
@@ -13,17 +13,16 @@ namespace content { |
scoped_refptr<DisplayLinkMac> DisplayLinkMac::Create() { |
CVReturn ret = kCVReturnSuccess; |
- scoped_refptr<DisplayLinkMac> display_link_mac; |
- { |
- CVDisplayLinkRef display_link = NULL; |
- ret = CVDisplayLinkCreateWithActiveCGDisplays(&display_link); |
- if (ret != kCVReturnSuccess) { |
- LOG(ERROR) << "CVDisplayLinkCreateWithActiveCGDisplays failed: " << ret; |
- return NULL; |
- } |
- display_link_mac = new DisplayLinkMac(display_link); |
+ ScopedCVDisplayLinkRef display_link; |
+ ret = CVDisplayLinkCreateWithActiveCGDisplays(display_link.ptr_for_init()); |
+ if (ret != kCVReturnSuccess) { |
+ LOG(ERROR) << "CVDisplayLinkCreateWithActiveCGDisplays failed: " << ret; |
+ return NULL; |
} |
+ scoped_refptr<DisplayLinkMac> display_link_mac; |
+ display_link_mac = new DisplayLinkMac(display_link); |
+ |
ret = CVDisplayLinkSetOutputCallback( |
display_link_mac->display_link_, |
&DisplayLinkCallback, |
@@ -36,7 +35,7 @@ scoped_refptr<DisplayLinkMac> DisplayLinkMac::Create() { |
return display_link_mac; |
} |
-DisplayLinkMac::DisplayLinkMac(CVDisplayLinkRef display_link) |
+DisplayLinkMac::DisplayLinkMac(ScopedCVDisplayLinkRef display_link) |
: display_link_(display_link), |
stop_timer_( |
FROM_HERE, base::TimeDelta::FromSeconds(1), |
@@ -47,7 +46,6 @@ DisplayLinkMac::DisplayLinkMac(CVDisplayLinkRef display_link) |
DisplayLinkMac::~DisplayLinkMac() { |
if (CVDisplayLinkIsRunning(display_link_)) |
CVDisplayLinkStop(display_link_); |
- CVDisplayLinkRelease(display_link_); |
} |
bool DisplayLinkMac::GetVSyncParameters( |