Fix empty file in pidgin after transfer
Fetch local filename before calling purple_xfer_end to avoid that the local filename contains bogus.
This commit is contained in:
parent
c2873d2e3f
commit
3824eae025
1 changed files with 6 additions and 4 deletions
10
tgp-ft.c
10
tgp-ft.c
|
@ -69,6 +69,7 @@ static char *tgp_strdup_determine_filename (const char *mime, const char *captio
|
|||
static void tgprpl_xfer_recv_on_finished (struct tgl_state *TLS, void *_data, int success, const char *filename) {
|
||||
debug ("tgprpl_xfer_recv_on_finished()");
|
||||
struct tgp_xfer_send_data *data = _data;
|
||||
char *selected = g_strdup(purple_xfer_get_local_filename (data->xfer));
|
||||
|
||||
if (success) {
|
||||
if (!data->done) {
|
||||
|
@ -77,10 +78,6 @@ static void tgprpl_xfer_recv_on_finished (struct tgl_state *TLS, void *_data, in
|
|||
purple_xfer_set_completed (data->xfer, TRUE);
|
||||
purple_xfer_end (data->xfer);
|
||||
}
|
||||
|
||||
g_unlink (purple_xfer_get_local_filename (data->xfer));
|
||||
g_rename (filename, purple_xfer_get_local_filename (data->xfer));
|
||||
|
||||
} else {
|
||||
tgp_notify_on_error_gw (TLS, NULL, success);
|
||||
failure ("ERROR xfer failed");
|
||||
|
@ -88,6 +85,11 @@ static void tgprpl_xfer_recv_on_finished (struct tgl_state *TLS, void *_data, in
|
|||
|
||||
data->xfer->data = NULL;
|
||||
tgprpl_xfer_free_data (data);
|
||||
|
||||
debug ("moving transferred file from tgl directory %s to selected target %s", selected, filename);
|
||||
g_unlink (selected);
|
||||
g_rename (filename, selected);
|
||||
g_free (selected);
|
||||
}
|
||||
|
||||
static void tgprpl_xfer_on_finished (struct tgl_state *TLS, void *_data, int success, struct tgl_message *M) {
|
||||
|
|
Loading…
Add table
Reference in a new issue