diff --git a/src/SFML/Window/macOS/SFWindowController.mm b/src/SFML/Window/macOS/SFWindowController.mm index ffb5e418..05e4ca43 100644 --- a/src/SFML/Window/macOS/SFWindowController.mm +++ b/src/SFML/Window/macOS/SFWindowController.mm @@ -457,8 +457,14 @@ // Add titlebar height. height += static_cast([self titlebarHeight]); - // Send resize event if size has changed - if (sf::Vector2u(width, height) != m_requester->getSize()) + // Corner case: don't set the window height bigger than the screen height + // or the view will be resized _later_ without generating a resize event. + NSRect screenFrame = [[NSScreen mainScreen] visibleFrame]; + CGFloat maxVisibleHeight = screenFrame.size.height; + if (height > maxVisibleHeight) + height = static_cast(maxVisibleHeight); + + if (m_requester != nil) m_requester->windowResized({width, height - static_cast([self titlebarHeight])}); NSRect frame = NSMakeRect([m_window frame].origin.x, [m_window frame].origin.y, width, height);