win: Setting menu shouldn't change client area size.
authorCheng Zhao <zcbenz@gmail.com>
Sun, 18 May 2014 13:19:38 +0000 (21:19 +0800)
committerCheng Zhao <zcbenz@gmail.com>
Sun, 18 May 2014 13:19:38 +0000 (21:19 +0800)
atom/browser/native_window_win.cc

index 56b79b2..b2563c2 100644 (file)
@@ -391,6 +391,11 @@ void NativeWindowWin::SetMenu(ui::MenuModel* menu_model) {
   menu_.reset(new atom::Menu2(menu_model, true));
   ::SetMenu(GetNativeWindow(), menu_->GetNativeMenu());
   RegisterAccelerators();
+
+  // Resize the window so SetMenu won't change client area size.
+  gfx::Size size = GetSize();
+  size.set_height(size.height() + GetSystemMetrics(SM_CYMENU));
+  SetSize(size);
 }
 
 void NativeWindowWin::UpdateDraggableRegions(