See also close_hides(). This function emits the "close" signal(
which either hides or destroys the dialog (destroy by default). If
you connect to the "close" signal, and your callback returns TRUE,
the hide or destroy will be blocked. You can do this to avoid
closing the dialog if the user gives invalid input, for example.
Using close() in place of hide() or destroy() allows you to easily
catch all sources of dialog closure, including delete_event and
button clicks, and handle them in a central location.