From 95daaee9248a666c74aa25cc34e05b00ce98ec89 Mon Sep 17 00:00:00 2001 From: teru Date: Wed, 9 Jun 2010 14:41:24 +0000 Subject: [PATCH] text viewer: don't load font if it is the same font currently used. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26725 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/text_viewer/tv_window.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/apps/plugins/text_viewer/tv_window.c b/apps/plugins/text_viewer/tv_window.c index 36fbb9268..1ffc921a8 100644 --- a/apps/plugins/text_viewer/tv_window.c +++ b/apps/plugins/text_viewer/tv_window.c @@ -282,31 +282,25 @@ static void tv_change_preferences(const struct tv_preferences *oldp) const unsigned char *font_str; font_str = (oldp && !font_changing)? oldp->font_name : rb->global_settings->font_file; - font_changing = true; /* change font */ - if (rb->strcmp(font_str, prefs->font_name)) + if (font_changing || rb->strcmp(font_str, prefs->font_name)) { + font_changing = true; if (!tv_set_font(prefs->font_name)) { struct tv_preferences new_prefs = *prefs; rb->strlcpy(new_prefs.font_name, font_str, MAX_PATH); tv_set_preferences(&new_prefs); + return; } } - else if (!oldp || font_changing) - tv_set_font(font_str); + font_changing = false; /* calculates display lines */ tv_check_header_and_footer(); display_lines = tv_calc_display_lines(); - - /* if font_changing == false, the remaining processes need not be executed. */ - if (!font_changing) - return; - - font_changing = false; #else (void)oldp; -- 2.11.4.GIT