In AlertWindow::updateLayout() on line 455:
w = jmin (w, (int) (getParentWidth() * 0.7f));
The maximum width is set by the size of the parent.
But previously, the text layout is done with a different value of w:
textLayout.layout (w, Justification::left, true);
which is based on the font size:
const int wid = jmax (font.getStringWidth (text),
font.getStringWidth (getName()));
const int sw = (int) sqrt (font.getHeight() * wid);
int w = jmin (300 + sw * 2, (int) (getParentWidth() * 0.7f));
so far it’s ok, but then this happens
w = jmax (350, textLayout.getWidth() + iconSpace + edgeGap * 4);
and now w is bigger than getParentWidth() * 0.7f