#11334 Fix cvf::Viewport assert triggered for small contour map/2d intersection

Size of the overlay is could become negative, and would overflow for small views.

Fixes #11334.
This commit is contained in:
Kristian Bendiksen 2024-04-08 12:21:02 +02:00 committed by Magne Sjaastad
parent 3e2957bc12
commit 3f9979823e

View File

@ -790,7 +790,7 @@ void RiuViewer::updateLegendLayout()
{
int legendWidth = prefSize.x();
legend->setLayoutFixedPosition( cvf::Vec2i( xPos, yPos ) );
legend->setRenderSize( cvf::Vec2ui( legendWidth, viewPortHeight - 2 * border - 2 * edgeAxisBorderHeight ) );
legend->setRenderSize( cvf::Vec2ui( legendWidth, std::max( 0, viewPortHeight - 2 * border - 2 * edgeAxisBorderHeight ) ) );
xPos += legendWidth + border;
}
else
@ -858,7 +858,7 @@ void RiuViewer::updateLegendLayout()
{
int legendWidth = prefSize.x();
legend->setLayoutFixedPosition( cvf::Vec2i( xPos - legendWidth, yPos ) );
legend->setRenderSize( cvf::Vec2ui( legendWidth, viewPortHeight - yPosStart - border - edgeAxisBorderHeight ) );
legend->setRenderSize( cvf::Vec2ui( legendWidth, std::max( 0, viewPortHeight - yPosStart - border - edgeAxisBorderHeight ) ) );
xPos -= legendWidth + border;
}
else