#GTK
has a powerful layout system... unfortunately, one of the common things people try to do with it, which is to make their widget have a fixed aspect ratio, perhaps square, like this:
measure (...) {
*minimum = *natural = for_size;
}
does not work like that at all. In fact, ensuring a fixed aspect ratio is non-trivial, even more so if your contents themselves have a minimum size which varies with the available space along the other orientation.