[rhythmbox] track-transfer-batch: don't emit track-done for skipped tracks
- From: Jonathan Matthew <jmatthew src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rhythmbox] track-transfer-batch: don't emit track-done for skipped tracks
- Date: Sun, 26 Feb 2012 02:29:01 +0000 (UTC)
commit e31c77c5ed593ac2011d7640ac7f57e2ea8a6caa
Author: Jonathan Matthew <jonathan d14n org>
Date: Sun Feb 26 12:28:47 2012 +1000
track-transfer-batch: don't emit track-done for skipped tracks
shell/rb-track-transfer-batch.c | 25 ++++++++++++++++---------
sources/rb-transfer-target.c | 2 +-
2 files changed, 17 insertions(+), 10 deletions(-)
---
diff --git a/shell/rb-track-transfer-batch.c b/shell/rb-track-transfer-batch.c
index 45fdc23..ecc09ff 100644
--- a/shell/rb-track-transfer-batch.c
+++ b/shell/rb-track-transfer-batch.c
@@ -71,7 +71,11 @@ static void rb_track_transfer_batch_init (RBTrackTransferBatch *batch);
static gboolean start_next (RBTrackTransferBatch *batch);
static void start_encoding (RBTrackTransferBatch *batch, gboolean overwrite);
-static void track_transfer_completed (RBTrackTransferBatch *batch, guint64 dest_size, const char *mediatype, GError *error);
+static void track_transfer_completed (RBTrackTransferBatch *batch,
+ guint64 dest_size,
+ const char *mediatype,
+ gboolean skipped,
+ GError *error);
static guint signals[LAST_SIGNAL] = { 0 };
@@ -423,7 +427,7 @@ _rb_track_transfer_batch_continue (RBTrackTransferBatch *batch, gboolean overwri
if (overwrite) {
start_encoding (batch, TRUE);
} else {
- track_transfer_completed (batch, 0, NULL, NULL);
+ track_transfer_completed (batch, 0, NULL, TRUE, NULL);
}
}
@@ -458,6 +462,7 @@ static void
track_transfer_completed (RBTrackTransferBatch *batch,
guint64 dest_size,
const char *mediatype,
+ gboolean skipped,
GError *error)
{
RhythmDBEntry *entry;
@@ -476,12 +481,14 @@ track_transfer_completed (RBTrackTransferBatch *batch,
* possible that a signal handler will cancel us.
*/
g_object_ref (batch);
- g_signal_emit (batch, signals[TRACK_DONE], 0,
- entry,
- batch->priv->current_dest_uri,
- dest_size,
- mediatype,
- error);
+ if (skipped == FALSE) {
+ g_signal_emit (batch, signals[TRACK_DONE], 0,
+ entry,
+ batch->priv->current_dest_uri,
+ dest_size,
+ mediatype,
+ error);
+ }
start_next (batch);
@@ -510,7 +517,7 @@ encoder_completed_cb (RBEncoder *encoder,
rb_debug ("encoder finished (error: %s)", error->message);
}
- track_transfer_completed (batch, dest_size, mediatype, error);
+ track_transfer_completed (batch, dest_size, mediatype, FALSE, error);
}
static char *
diff --git a/sources/rb-transfer-target.c b/sources/rb-transfer-target.c
index 985312e..e2631c8 100644
--- a/sources/rb-transfer-target.c
+++ b/sources/rb-transfer-target.c
@@ -367,7 +367,7 @@ track_done_cb (RBTrackTransferBatch *batch,
rb_track_transfer_batch_cancel (batch);
}
rb_transfer_target_track_add_error (target, entry, dest, error);
- } else if (dest_size != 0) {
+ } else {
rb_transfer_target_track_added (target, entry, dest, dest_size, dest_mediatype);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]