commit df64897d90df65aa6ae53d6c1a9442261e962c15
parent b61bed3eb264ab5974412e2053921e55944ed0bf
Author: Oliver Lowe <o@olowe.co>
Date: Sat, 16 Aug 2025 16:42:34 +1000
just fsync... always close files safely...?
Diffstat:
7 files changed, 2 insertions(+), 68 deletions(-)
diff --git a/src/common/file-utils.c b/src/common/file-utils.c
@@ -35,14 +35,12 @@
#include "utils.h"
#include "file-utils.h"
-gboolean prefs_common_get_flush_metadata(void);
-
int safe_fclose(FILE *fp)
{
if (fflush(fp) != 0) {
return EOF;
}
- if (prefs_common_get_flush_metadata() && fsync(fileno(fp)) != 0) {
+ if (fsync(fileno(fp)) != 0) {
return EOF;
}
return fclose(fp);
diff --git a/src/common/prefs.c b/src/common/prefs.c
@@ -105,8 +105,6 @@ PrefFile *prefs_write_open(const gchar *path)
return pfile;
}
-gboolean prefs_common_get_flush_metadata (void);
-
/*!
*\brief Close and free preferences file
* Creates final file from temp, creates backup
diff --git a/src/headerview.c b/src/headerview.c
@@ -65,8 +65,6 @@ HeaderView *headerview_create(void)
GtkWidget *ng_body_label;
GtkWidget *subject_header_label;
GtkWidget *subject_body_label;
- GtkWidget *tags_header_label;
- GtkWidget *tags_body_label;
debug_print("Creating header view...\n");
headerview = g_new0(HeaderView, 1);
@@ -92,20 +90,16 @@ HeaderView *headerview_create(void)
ng_body_label = gtk_label_new("");
subject_header_label = gtk_label_new(prefs_common_translated_header_name("Subject:"));
subject_body_label = gtk_label_new("");
- tags_header_label = gtk_label_new(_("Tags:"));
- tags_body_label = gtk_label_new("");
gtk_label_set_selectable(GTK_LABEL(from_body_label), TRUE);
gtk_label_set_selectable(GTK_LABEL(to_body_label), TRUE);
gtk_label_set_selectable(GTK_LABEL(ng_body_label), TRUE);
gtk_label_set_selectable(GTK_LABEL(subject_body_label), TRUE);
- gtk_label_set_selectable(GTK_LABEL(tags_body_label), TRUE);
gtk_widget_set_can_focus(from_body_label, FALSE);
gtk_widget_set_can_focus(to_body_label, FALSE);
gtk_widget_set_can_focus(ng_body_label, FALSE);
gtk_widget_set_can_focus(subject_body_label, FALSE);
- gtk_widget_set_can_focus(tags_body_label, FALSE);
gtk_box_pack_start(GTK_BOX(hbox1), from_header_label, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(hbox1), from_body_label, FALSE, FALSE, 0);
@@ -115,17 +109,13 @@ HeaderView *headerview_create(void)
gtk_box_pack_start(GTK_BOX(hbox1), ng_body_label, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(hbox2), subject_header_label, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(hbox2), subject_body_label, TRUE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(hbox3), tags_header_label, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(hbox3), tags_body_label, TRUE, TRUE, 0);
gtk_label_set_xalign(GTK_LABEL(to_body_label), 0.0);
gtk_label_set_xalign(GTK_LABEL(ng_body_label), 0.0);
gtk_label_set_xalign(GTK_LABEL(subject_body_label), 0.0);
- gtk_label_set_xalign(GTK_LABEL(tags_body_label), 0.0);
gtk_label_set_ellipsize(GTK_LABEL(to_body_label), PANGO_ELLIPSIZE_END);
gtk_label_set_ellipsize(GTK_LABEL(ng_body_label), PANGO_ELLIPSIZE_END);
gtk_label_set_ellipsize(GTK_LABEL(subject_body_label), PANGO_ELLIPSIZE_END);
- gtk_label_set_ellipsize(GTK_LABEL(tags_body_label), PANGO_ELLIPSIZE_END);
headerview->hbox = hbox;
headerview->from_header_label = from_header_label;
@@ -136,8 +126,6 @@ HeaderView *headerview_create(void)
headerview->ng_body_label = ng_body_label;
headerview->subject_header_label = subject_header_label;
headerview->subject_body_label = subject_body_label;
- headerview->tags_header_label = tags_header_label;
- headerview->tags_body_label = tags_body_label;
headerview->image = NULL;
gtk_widget_show_all(hbox);
@@ -156,7 +144,6 @@ void headerview_set_font(HeaderView *headerview)
gtk_widget_override_font(headerview->to_body_label, normalfont);
gtk_widget_override_font(headerview->ng_body_label, normalfont);
gtk_widget_override_font(headerview->subject_body_label, normalfont);
- gtk_widget_override_font(headerview->tags_body_label, normalfont);
pango_font_description_free(normalfont);
}
@@ -171,7 +158,6 @@ void headerview_set_font(HeaderView *headerview)
gtk_widget_override_font(headerview->to_header_label, boldfont);
gtk_widget_override_font(headerview->ng_header_label, boldfont);
gtk_widget_override_font(headerview->subject_header_label, boldfont);
- gtk_widget_override_font(headerview->tags_header_label, boldfont);
pango_font_description_free(boldfont);
}
}
@@ -335,13 +321,10 @@ void headerview_clear(HeaderView *headerview)
gtk_label_set_text(GTK_LABEL(headerview->to_body_label), "");
gtk_label_set_text(GTK_LABEL(headerview->ng_body_label), "");
gtk_label_set_text(GTK_LABEL(headerview->subject_body_label), "");
- gtk_label_set_text(GTK_LABEL(headerview->tags_body_label), "");
gtk_widget_hide(headerview->to_header_label);
gtk_widget_hide(headerview->to_body_label);
gtk_widget_hide(headerview->ng_header_label);
gtk_widget_hide(headerview->ng_body_label);
- gtk_widget_hide(headerview->tags_header_label);
- gtk_widget_hide(headerview->tags_body_label);
if (headerview->image && gtk_widget_get_visible(headerview->image)) {
gtk_widget_hide(headerview->image);
diff --git a/src/headerview.h b/src/headerview.h
@@ -14,7 +14,7 @@
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ *
*/
#ifndef __HEADERVIEW_H__
@@ -38,8 +38,6 @@ struct _HeaderView
GtkWidget *ng_body_label;
GtkWidget *subject_header_label;
GtkWidget *subject_body_label;
- GtkWidget *tags_header_label;
- GtkWidget *tags_body_label;
GtkWidget *image;
};
diff --git a/src/prefs_common.c b/src/prefs_common.c
@@ -1023,9 +1023,6 @@ static PrefParam param[] = {
{"inherit_folder_properties", "FALSE", &prefs_common.inherit_folder_props, P_BOOL,
NULL, NULL, NULL},
- {"flush_metadata", "TRUE", &prefs_common.flush_metadata, P_BOOL,
- NULL, NULL, NULL},
-
{"nav_history_length", "50", &prefs_common.nav_history_length, P_INT,
NULL, NULL, NULL},
@@ -1481,11 +1478,6 @@ const gchar *prefs_common_get_ext_editor_cmd(void)
#endif /* 0 */
}
-gboolean prefs_common_get_flush_metadata (void)
-{
- return prefs_common.flush_metadata;
-}
-
PrefsCommon *prefs_common_get_prefs(void)
{
return &prefs_common;
diff --git a/src/prefs_common.h b/src/prefs_common.h
@@ -559,7 +559,6 @@ struct _PrefsCommon
gboolean two_line_vert;
gboolean inherit_folder_props;
- gboolean flush_metadata;
gint nav_history_length;
diff --git a/src/prefs_other.c b/src/prefs_other.c
@@ -65,8 +65,6 @@ typedef struct _OtherPage
GtkWidget *checkbtn_askonfilter;
GtkWidget *checkbtn_real_time_sync;
GtkWidget *entry_attach_save_chmod;
- GtkWidget *flush_metadata_faster_radiobtn;
- GtkWidget *flush_metadata_safer_radiobtn;
GtkWidget *checkbtn_transhdr;
GtkWidget *checkbtn_use_passphrase;
} OtherPage;
@@ -367,12 +365,6 @@ static void prefs_other_create_widget(PrefsPage *_page, GtkWindow *window,
GtkWidget *label_attach_save_chmod;
GtkWidget *entry_attach_save_chmod;
- GtkWidget *frame_metadata;
- GtkWidget *vbox_metadata;
- GtkWidget *metadata_label;
- GtkWidget *flush_metadata_faster_radiobtn;
- GtkWidget *flush_metadata_safer_radiobtn;
-
GtkWidget *vbox_passphrase;
GtkWidget *frame_passphrase;
GtkWidget *checkbtn_use_passphrase;
@@ -428,28 +420,6 @@ static void prefs_other_create_widget(PrefsPage *_page, GtkWindow *window,
gtk_widget_show_all(frame_keys);
SET_TOGGLE_SENSITIVITY (checkbtn_gtk_enable_accels, keys_preset_hbox);
- vbox_metadata = gtkut_get_options_frame(vbox1, &frame_metadata, _("Metadata handling"));
- metadata_label = gtk_label_new(_("Safer mode asks the OS to write metadata to disk directly;\n"
- "it avoids data loss after crashes but can take some time"));
- gtk_label_set_xalign(GTK_LABEL(metadata_label), 0.0);
- gtk_label_set_yalign(GTK_LABEL(metadata_label), 0.0);
- gtk_box_pack_start (GTK_BOX (vbox_metadata), metadata_label, FALSE, FALSE, 0);
- flush_metadata_safer_radiobtn = gtk_radio_button_new_with_label(NULL, _("Safer"));
- flush_metadata_faster_radiobtn = gtk_radio_button_new_with_label_from_widget(
- GTK_RADIO_BUTTON(flush_metadata_safer_radiobtn), _("Faster"));
- hbox1 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 8);
- gtk_widget_show (hbox1);
- gtk_box_pack_start (GTK_BOX (vbox_metadata), hbox1, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox1), flush_metadata_safer_radiobtn, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox1), flush_metadata_faster_radiobtn, FALSE, FALSE, 0);
-
- if (prefs_common.flush_metadata)
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(flush_metadata_safer_radiobtn), TRUE);
- else
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(flush_metadata_faster_radiobtn), TRUE);
-
- gtk_widget_show_all(frame_metadata);
-
hbox1 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 8);
gtk_widget_show (hbox1);
gtk_box_pack_start (GTK_BOX (vbox1), hbox1, FALSE, FALSE, 0);
@@ -576,8 +546,6 @@ static void prefs_other_create_widget(PrefsPage *_page, GtkWindow *window,
prefs_other->checkbtn_askonfilter = checkbtn_askonfilter;
prefs_other->checkbtn_real_time_sync = checkbtn_real_time_sync;
prefs_other->entry_attach_save_chmod = entry_attach_save_chmod;
- prefs_other->flush_metadata_safer_radiobtn = flush_metadata_safer_radiobtn;
- prefs_other->flush_metadata_faster_radiobtn = flush_metadata_faster_radiobtn;
prefs_other->checkbtn_use_passphrase = checkbtn_use_passphrase;
prefs_other->page.widget = vbox1;
}
@@ -601,8 +569,6 @@ static void prefs_other_save(PrefsPage *_page)
GTK_TOGGLE_BUTTON(page->checkbtn_warnqueued));
prefs_common.io_timeout_secs = gtk_spin_button_get_value_as_int(
GTK_SPIN_BUTTON(page->spinbtn_iotimeout));
- prefs_common.flush_metadata = gtk_toggle_button_get_active(
- GTK_TOGGLE_BUTTON(page->flush_metadata_safer_radiobtn));
sock_set_io_timeout(prefs_common.io_timeout_secs);
#ifdef HAVE_LIBETPAN
imap_main_set_timeout(prefs_common.io_timeout_secs);