summaryrefslogtreecommitdiff
path: root/common/gmountoperationdbus.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2009-03-18 21:03:15 +0000
committerAlexander Larsson <alexl@src.gnome.org>2009-03-18 21:03:15 +0000
commitd9c51f71c66b1ece56efe4fc63e99f72042e19ab (patch)
tree470bfafc5f44a1f94a4671cc0a553c0282450403 /common/gmountoperationdbus.c
parentf363d31ea03c5cc7c142aa3675e01b3045121a49 (diff)
downloadgvfs-d9c51f71c66b1ece56efe4fc63e99f72042e19ab.tar.gz
Bug 575728 – crash in Open Folder: mountin a crypto volume
2009-03-18 Alexander Larsson <alexl@redhat.com> Bug 575728 – crash in Open Folder: mountin a crypto volume * common/gvfsdaemonprotocol.h: * common/gmountoperationdbus.c: Handle the new "aborted" signal * common/gmountsource.c: Fix argument order in g_mount_source_ask_password_finish call. stop signal emissions in ask_password and ask_question handlers to avoid the default handler sending a not implemented error. Handle the new "aborted" signal. svn path=/trunk/; revision=2342
Diffstat (limited to 'common/gmountoperationdbus.c')
-rw-r--r--common/gmountoperationdbus.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/common/gmountoperationdbus.c b/common/gmountoperationdbus.c
index 1027b3a9..7700c073 100644
--- a/common/gmountoperationdbus.c
+++ b/common/gmountoperationdbus.c
@@ -51,6 +51,8 @@ static void mount_op_ask_password (GMountOperationDBus *op_d
DBusMessage *message);
static void mount_op_ask_question (GMountOperationDBus *op_dbus,
DBusMessage *message);
+static void mount_op_aborted (GMountOperationDBus *op_dbus,
+ DBusMessage *message);
static void
g_mount_operation_dbus_free (GMountOperationDBus *op_dbus)
@@ -131,6 +133,10 @@ mount_op_message_function (DBusConnection *connection,
G_VFS_DBUS_MOUNT_OPERATION_INTERFACE,
G_VFS_DBUS_MOUNT_OPERATION_OP_ASK_QUESTION))
mount_op_ask_question (op_dbus, message);
+ else if (dbus_message_is_method_call (message,
+ G_VFS_DBUS_MOUNT_OPERATION_INTERFACE,
+ G_VFS_DBUS_MOUNT_OPERATION_OP_ABORTED))
+ mount_op_aborted (op_dbus, message);
else
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
@@ -322,3 +328,10 @@ mount_op_ask_question (GMountOperationDBus *op_dbus,
dbus_free_string_array (choices);
}
+
+static void
+mount_op_aborted (GMountOperationDBus *op_dbus,
+ DBusMessage *message)
+{
+ g_signal_emit_by_name (op_dbus->op, "aborted");
+}