diff src/gtkft.c @ 4675:3145c5c45877

[gaim-migrate @ 4986] Okay, redid the cancel stuff. It may not work too well yet, as it's largely untested, and will need some testing and bug reporting. The protocols may not work too well (namely, Oscar), but this will be fixed soon. Note that that's only for canceling. Any receiving that currently works will continue to work. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Sat, 08 Mar 2003 08:27:02 +0000
parents ccc304cb0389
children 2c380754eb67
line wrap: on
line diff
--- a/src/gtkft.c	Sat Mar 08 07:21:09 2003 +0000
+++ b/src/gtkft.c	Sat Mar 08 08:27:02 2003 +0000
@@ -330,10 +330,10 @@
 					 struct gaim_gtkxfer_dialog *dialog)
 {
 	GtkTreeIter iter;
+	struct gaim_xfer *xfer = NULL;
 
 	if (gtk_tree_selection_get_selected(selection, NULL, &iter)) {
 		GValue val = {0, };
-		struct gaim_xfer *xfer;
 
 		gtk_widget_set_sensitive(dialog->disclosure, TRUE);
 
@@ -382,7 +382,7 @@
 static void
 stop_button_cb(GtkButton *button, struct gaim_gtkxfer_dialog *dialog)
 {
-	gaim_xfer_cancel(dialog->selected_xfer);
+	gaim_xfer_cancel_local(dialog->selected_xfer);
 }
 
 /**************************************************************************
@@ -1123,14 +1123,15 @@
 }
 
 static void
-gaim_gtkxfer_cancel(struct gaim_xfer *xfer)
+gaim_gtkxfer_cancel_local(struct gaim_xfer *xfer)
 {
 	gaim_gtkxfer_dialog_cancel_xfer(xfer_dialog, xfer);
+}
 
-	/* See if it's removed. */
-	/* XXX - This caused some looping, and I don't see a point to it */
-/*	if (xfer->ui_data == NULL)
-		gaim_xfer_destroy(xfer); */
+static void
+gaim_gtkxfer_cancel_remote(struct gaim_xfer *xfer)
+{
+	gaim_gtkxfer_dialog_cancel_xfer(xfer_dialog, xfer);
 }
 
 struct gaim_xfer_ui_ops ops =
@@ -1140,7 +1141,8 @@
 	gaim_gtkxfer_ask_cancel,
 	gaim_gtkxfer_add_xfer,
 	gaim_gtkxfer_update_progress,
-	gaim_gtkxfer_cancel
+	gaim_gtkxfer_cancel_local,
+	gaim_gtkxfer_cancel_remote
 };
 
 /**************************************************************************