diff --git a/configure.in b/configure.in index 833dc5fc7..907821eda 100644 --- a/configure.in +++ b/configure.in @@ -31,7 +31,7 @@ m4_define([gtk_api_version], [2.0]) m4_define([gtk_binary_version], [2.10.0]) # required versions of other packages -m4_define([glib_required_version], [2.17.6]) +m4_define([glib_required_version], [2.19.7]) m4_define([pango_required_version], [1.20]) m4_define([atk_required_version], [1.13.0]) m4_define([cairo_required_version], [1.6]) diff --git a/gtk/gtkmountoperation.c b/gtk/gtkmountoperation.c index 53fe5c112..d79fd43f2 100644 --- a/gtk/gtkmountoperation.c +++ b/gtk/gtkmountoperation.c @@ -92,6 +92,8 @@ static void gtk_mount_operation_ask_question (GMountOperation *op, const char *message, const char *choices[]); +static void gtk_mount_operation_aborted (GMountOperation *op); + G_DEFINE_TYPE (GtkMountOperation, gtk_mount_operation, G_TYPE_MOUNT_OPERATION); enum { @@ -153,6 +155,7 @@ gtk_mount_operation_class_init (GtkMountOperationClass *klass) mount_op_class = G_MOUNT_OPERATION_CLASS (klass); mount_op_class->ask_password = gtk_mount_operation_ask_password; mount_op_class->ask_question = gtk_mount_operation_ask_question; + mount_op_class->aborted = gtk_mount_operation_aborted; g_object_class_install_property (object_class, PROP_PARENT, @@ -734,6 +737,22 @@ gtk_mount_operation_ask_question (GMountOperation *op, g_object_ref (op); } +static void +gtk_mount_operation_aborted (GMountOperation *op) +{ + GtkMountOperationPrivate *priv; + + priv = GTK_MOUNT_OPERATION (op)->priv; + + if (priv->dialog != NULL) + { + gtk_widget_destroy (GTK_WIDGET (priv->dialog)); + priv->dialog = NULL; + g_object_notify (G_OBJECT (op), "is-showing"); + g_object_unref (op); + } +} + /** * gtk_mount_operation_new: * @parent: transient parent of the window, or %NULL