From 72850d24b2ef8f943e69a2a7218743d4800b4fe3 Mon Sep 17 00:00:00 2001 From: Alfons Hoogervorst Date: Sun, 30 Mar 2003 00:53:41 +0000 Subject: [PATCH] * src/send_message.c try fixing crashes when sending messages: my gcc 2.95.4 seems to generate bad code for 'send_send_data_progressive': When called from 'send_send_data_finished', the 'data' pointer is cleared just before the assignment to the dialog pointer --- ChangeLog.claws | 8 ++++++++ configure.ac | 2 +- src/send_message.c | 10 ++++++++-- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/ChangeLog.claws b/ChangeLog.claws index 3c811302b..cf7619fe9 100644 --- a/ChangeLog.claws +++ b/ChangeLog.claws @@ -1,3 +1,11 @@ +2003-03-30 [alfons] 0.8.11claws65 + + * src/send_message.c + try fixing crashes when sending messages: my gcc 2.95.4 seems + to generate bad code for 'send_send_data_progressive': When + called from 'send_send_data_finished', the 'data' pointer is + cleared just before the assignment to the dialog pointer + 2003-03-29 [christoph] 0.8.11claws64 * src/common/prefs.h diff --git a/configure.ac b/configure.ac index 4041657cf..2c11053b0 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=8 MICRO_VERSION=11 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=claws64 +EXTRA_VERSION=claws65 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION dnl set $target diff --git a/src/send_message.c b/src/send_message.c index fa72c5907..7d83c1dd1 100644 --- a/src/send_message.c +++ b/src/send_message.c @@ -489,13 +489,19 @@ static gint send_send_data_progressive(Session *session, guint cur_len, progress_dialog_set_label(dialog->dialog, buf); progress_dialog_set_percentage (dialog->dialog, (gfloat)cur_len / (gfloat)total_len); - return 0; } static gint send_send_data_finished(Session *session, guint len, gpointer data) { - send_send_data_progressive(session, len, len, data); + SendProgressDialog *dialog = (SendProgressDialog *)data; + gchar buf[BUFFSIZE]; + + g_snprintf(buf, sizeof(buf), _("Sending message (%d / %d bytes)"), + len, len); + progress_dialog_set_label(dialog->dialog, buf); + progress_dialog_set_percentage + (dialog->dialog, (gfloat)len / (gfloat)len); return 0; } -- 2.25.1