• Havoc Pennington's avatar
    default impls of width_for_height,hfw should chain directly not use wrapper API · cf6eb477
    Havoc Pennington authored
    In GtkBin and GtkWidget we tried to provide handy defaults that
    call get_width if there's no get_width_for_height and
    get_height for get_height_for_width.
    
    However, they used the wrapper API on GtkSizeRequest instead of
    chaining directly to the other method implementation.
    
    This could result in all kinds of surprising behavior, for example,
    get_width_for_height() would now already include the effects of set_size_request().
    
    If nothing else it's inefficient. But it's just conceptually wrong,
    because to chain to another implementation, we should call the other
    implementation, not call a wrapper around the other implementation
    (when we're already inside a previous invocation of the wrapper,
    i.e. compute_size_for_orientation() ends up reinvoking itself
    in the same orientation on the same object which it pretty
    likely isn't intending to do)
    
    https://bugzilla.gnome.org/show_bug.cgi?id=628829
    cf6eb477
gtkbin.c 9.38 KB