Browse Source

fix: Check minSize constraints before resizing (#14931)

* Inital setSize check

* Only resize if above minimum size constraints

* lint

* Resize to min if size is changed

* Remove unneeded if statement

* chore: remove trailing whitespace

* Add note about setSize method in docs
Troy 6 years ago
parent
commit
d678d9ee75
2 changed files with 4 additions and 2 deletions
  1. 3 1
      atom/browser/api/atom_api_top_level_window.cc
  2. 1 1
      docs/api/browser-window.md

+ 3 - 1
atom/browser/api/atom_api_top_level_window.cc

@@ -403,8 +403,10 @@ gfx::Rect TopLevelWindow::GetContentBounds() {
 
 void TopLevelWindow::SetSize(int width, int height, mate::Arguments* args) {
   bool animate = false;
+  gfx::Size size = window_->GetMinimumSize();
+  size.SetToMax(gfx::Size(width, height));
   args->GetNext(&animate);
-  window_->SetSize(gfx::Size(width, height), animate);
+  window_->SetSize(size, animate);
 }
 
 std::vector<int> TopLevelWindow::GetSize() {

+ 1 - 1
docs/api/browser-window.md

@@ -920,7 +920,7 @@ Disable or enable the window.
 * `height` Integer
 * `animate` Boolean (optional) _macOS_
 
-Resizes the window to `width` and `height`.
+Resizes the window to `width` and `height`. If `width` or `height` are below any set minimum size constraints the window will snap to its minimum size.
 
 #### `win.getSize()`