summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/renderer_host/render_widget_host_view_mac.mm5
1 files changed, 3 insertions, 2 deletions
diff --git a/chrome/browser/renderer_host/render_widget_host_view_mac.mm b/chrome/browser/renderer_host/render_widget_host_view_mac.mm
index 23fe34c..d44a7bc 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_mac.mm
+++ b/chrome/browser/renderer_host/render_widget_host_view_mac.mm
@@ -52,7 +52,6 @@ RenderWidgetHostViewMac::RenderWidgetHostViewMac(RenderWidgetHost* widget)
parent_view_(NULL) {
cocoa_view_ = [[[RenderWidgetHostViewCocoa alloc]
initWithRenderWidgetHostViewMac:this] autorelease];
- tooltip_.reset([[ToolTip alloc] init]);
render_widget_host_->set_view(this);
}
@@ -278,10 +277,12 @@ void RenderWidgetHostViewMac::SetTooltipText(const std::wstring& tooltip_text) {
NSString* tooltip_nsstring = base::SysWideToNSString(display_text);
if ([tooltip_nsstring length] == 0) {
- [tooltip_ closeToolTip];
+ tooltip_.reset(NULL); // The dtor closes the tooltip.
} else {
// Get the current mouse location in the window's coordinate system and
// use that as the point for displaying the tooltip.
+ if (!tooltip_.get())
+ tooltip_.reset([[ToolTip alloc] init]);
NSPoint event_point =
[[cocoa_view_ window] mouseLocationOutsideOfEventStream];
[tooltip_ showToolTipAtPoint:event_point