diff --git a/ChangeLog b/ChangeLog
index 99b4b580b78be4c1bd1963deee02da076b60441b..ce3d2fa3844592069adcf1f00d6dfc3b2e0daeb9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-08-20	Benedikt Meurer <benny@xfce.org>
+
+	* thunar-vfs/thunar-vfs-job.c(thunar_vfs_job_emit): Use G_VA_COPY to
+	  copy variable argument lists in a portable manner.
+
 2005-08-19	Benedikt Meurer <benny@xfce.org>
 
 	* thunar/thunar-standard-view.{c,h}: Allow derived classes to add
diff --git a/thunar-vfs/thunar-vfs-job.c b/thunar-vfs/thunar-vfs-job.c
index 45135aac532a8981017b70442e52abdf39726972..7ed1cd359a6ec2bb236613d29bfa30c3c25f2669 100644
--- a/thunar-vfs/thunar-vfs-job.c
+++ b/thunar-vfs/thunar-vfs-job.c
@@ -317,9 +317,11 @@ thunar_vfs_job_emit_valist (ThunarVfsJob *job,
   details.job = job;
   details.signal_id = signal_id;
   details.signal_detail = signal_detail;
-  details.var_args = var_args;
   details.pending = TRUE;
 
+  /* copy the variable argument list (portable) */
+  G_VA_COPY (details.var_args, var_args);
+
   g_mutex_lock (job->mutex);
   g_idle_add_full (G_PRIORITY_LOW, thunar_vfs_job_idle, &details, NULL);
   while (G_UNLIKELY (details.pending))