summaryrefslogtreecommitdiffstats
path: root/chrome/browser/vista_frame.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/vista_frame.cc')
-rw-r--r--chrome/browser/vista_frame.cc55
1 files changed, 30 insertions, 25 deletions
diff --git a/chrome/browser/vista_frame.cc b/chrome/browser/vista_frame.cc
index bdd3dbbd..18e3340 100644
--- a/chrome/browser/vista_frame.cc
+++ b/chrome/browser/vista_frame.cc
@@ -249,28 +249,30 @@ void VistaFrame::Layout() {
// If we are maxmized, the tab strip will be in line with the window
// controls, so we need to make sure they don't overlap.
int zoomed_offset = 0;
- if(IsZoomed()) {
- zoomed_offset = std::max(min_offset, kWindowControlsMinOffset);
+ if (distributor_logo_) {
+ if(IsZoomed()) {
+ zoomed_offset = std::max(min_offset, kWindowControlsMinOffset);
- // Hide the distributor logo if we're zoomed.
- distributor_logo_->SetVisible(false);
- } else {
- CSize distributor_logo_size;
- distributor_logo_->GetPreferredSize(&distributor_logo_size);
-
- int logo_x;
- // Because of Bug 1128173, our Window controls aren't actually flipped
- // on Vista, yet all our math and layout presumes that they are.
- if (frame_view_->UILayoutIsRightToLeft())
- logo_x = width - distributor_logo_size.cx;
- else
- logo_x = width - min_offset - distributor_logo_size.cx;
-
- distributor_logo_->SetVisible(true);
- distributor_logo_->SetBounds(logo_x,
- kDistributorLogoVerticalOffset,
- distributor_logo_size.cx,
- distributor_logo_size.cy);
+ // Hide the distributor logo if we're zoomed.
+ distributor_logo_->SetVisible(false);
+ } else {
+ CSize distributor_logo_size;
+ distributor_logo_->GetPreferredSize(&distributor_logo_size);
+
+ int logo_x;
+ // Because of Bug 1128173, our Window controls aren't actually flipped
+ // on Vista, yet all our math and layout presumes that they are.
+ if (frame_view_->UILayoutIsRightToLeft())
+ logo_x = width - distributor_logo_size.cx;
+ else
+ logo_x = width - min_offset - distributor_logo_size.cx;
+
+ distributor_logo_->SetVisible(true);
+ distributor_logo_->SetBounds(logo_x,
+ kDistributorLogoVerticalOffset,
+ distributor_logo_size.cx,
+ distributor_logo_size.cy);
+ }
}
gfx::Rect tabstrip_bounds(tabstrip_x,
@@ -448,10 +450,13 @@ void VistaFrame::Init() {
frame_view_->AddChildView(off_the_record_image_);
}
- distributor_logo_ = new ChromeViews::ImageView();
- frame_view_->AddViewToDropList(distributor_logo_);
- distributor_logo_->SetImage(rb.GetBitmapNamed(IDR_DISTRIBUTOR_LOGO));
- frame_view_->AddChildView(distributor_logo_);
+ SkBitmap* image = rb.GetBitmapNamed(IDR_DISTRIBUTOR_LOGO);
+ if (!image->isNull()) {
+ distributor_logo_ = new ChromeViews::ImageView();
+ frame_view_->AddViewToDropList(distributor_logo_);
+ distributor_logo_->SetImage(image);
+ frame_view_->AddChildView(distributor_logo_);
+ }
tab_contents_container_ = new TabContentsContainerView();
frame_view_->AddChildView(tab_contents_container_);