aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy
diff options
context:
space:
mode:
Diffstat (limited to 'libempathy')
-rw-r--r--libempathy/empathy-ft-handler.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/libempathy/empathy-ft-handler.c b/libempathy/empathy-ft-handler.c
index e2172bcd5..beb57b1ed 100644
--- a/libempathy/empathy-ft-handler.c
+++ b/libempathy/empathy-ft-handler.c
@@ -1277,14 +1277,25 @@ empathy_ft_handler_incoming_set_destination (EmpathyFTHandler *handler,
GFile *destination,
gboolean use_hash)
{
+ EmpathyFTHandlerPriv *priv;
+
DEBUG ("Set incoming destination, use hash %s",
use_hash ? "True" : "False");
g_return_if_fail (EMPATHY_IS_FT_HANDLER (handler));
g_return_if_fail (G_IS_FILE (destination));
+ priv = GET_PRIV (handler);
+
g_object_set (handler, "gfile", destination,
"use-hash", use_hash, NULL);
+
+ /* check if hash is really supported. if it isn't, set use_hash to FALSE
+ * anyway, so that clients won't be expecting us to checksum.
+ */
+ if (EMP_STR_EMPTY (priv->content_hash) ||
+ priv->content_hash_type == TP_FILE_HASH_TYPE_NONE)
+ priv->use_hash = FALSE;
}
/**