Skip to content
  • António Fernandes's avatar
    window: Don't finalize twice · bf563f37
    António Fernandes authored
    The pad controller owns a reference to the window (as an action group)
    and the window (as a widget) owns a reference to the pad controller.
    This is a reference cycle.
    
    Usually, reference cycles are resolved in dispose(), which can get
    called multiple times. However, GTK removes the controllers during
    finalize(). We end up calling finalize() recursively, which is a big
    problem.
    
    So our only option is to manually remove the controller before starting
    the destruction of the window.
    bf563f37