With set_rectangle inline'd, the compile can produce more efficient code and also proof the not-null test at compile time. This also makes the extra check in callers unncessary. The compiler can even skip the whole call (or inlined code path) if it can proof the rect parameter NULL.
Note: explicitly not using g_return_if_fail(), since is macro is designed only as extra sanity check and can be switched to no-op at compile time. (production builds potentially turn it off for smaller code, so it's not at all reliable)
Signed-off-by: Enrico Weigelt, metux IT consult email@example.com