diff options
| author | Yoshihisa Uchida <uchida@rockbox.org> | 2010-07-07 12:07:23 +0000 |
|---|---|---|
| committer | Yoshihisa Uchida <uchida@rockbox.org> | 2010-07-07 12:07:23 +0000 |
| commit | 276dfa23b611a85bedebceb986d0b4549a934187 (patch) | |
| tree | 5efe86b94c65c6aa05d6472064651066a3830d6a /apps/plugins | |
| parent | e5a257607dd93afe239a03dff0d093dfb3af64be (diff) | |
| download | rockbox-276dfa23b611a85bedebceb986d0b4549a934187.zip rockbox-276dfa23b611a85bedebceb986d0b4549a934187.tar.gz rockbox-276dfa23b611a85bedebceb986d0b4549a934187.tar.bz2 rockbox-276dfa23b611a85bedebceb986d0b4549a934187.tar.xz | |
text viewer: fixed the following bugs.
- the statusbar of the preferences is not correct when the settings file loads.
- overlaps the statusbar of the skin and default one. (FS#11455)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27334 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins')
| -rw-r--r-- | apps/plugins/text_viewer/text_viewer.c | 2 | ||||
| -rw-r--r-- | apps/plugins/text_viewer/tv_display.c | 14 | ||||
| -rw-r--r-- | apps/plugins/text_viewer/tv_settings.c | 2 |
3 files changed, 11 insertions, 7 deletions
diff --git a/apps/plugins/text_viewer/text_viewer.c b/apps/plugins/text_viewer/text_viewer.c index a01160f..62c7ca5 100644 --- a/apps/plugins/text_viewer/text_viewer.c +++ b/apps/plugins/text_viewer/text_viewer.c @@ -59,7 +59,7 @@ enum plugin_status plugin_start(const void* file) while (!done) { #ifdef HAVE_LCD_BITMAP if (rb->global_settings->statusbar != STATUSBAR_OFF && preferences->statusbar) - rb->gui_syncstatusbar_draw(rb->statusbars, true); + rb->sb_skin_update(SCREEN_MAIN, true); #endif if (display_update) diff --git a/apps/plugins/text_viewer/tv_display.c b/apps/plugins/text_viewer/tv_display.c index 8cf7e11..57474cd 100644 --- a/apps/plugins/text_viewer/tv_display.c +++ b/apps/plugins/text_viewer/tv_display.c @@ -314,16 +314,19 @@ void tv_get_drawarea_info(int *width, int *cols, int *rows) static void tv_change_viewport(void) { #ifdef HAVE_LCD_BITMAP - struct viewport vp; - if (is_initialized_vp) rb->viewportmanager_theme_undo(SCREEN_MAIN, false); else is_initialized_vp = true; - rb->viewportmanager_theme_enable(SCREEN_MAIN, preferences->statusbar, &vp); - vp_info = vp; + if (preferences->statusbar) + rb->memcpy(&vp_info, rb->sb_skin_get_info_vp(SCREEN_MAIN), sizeof(struct viewport)); + else + rb->viewport_set_defaults(&vp_info, SCREEN_MAIN); + + rb->viewportmanager_theme_enable(SCREEN_MAIN, preferences->statusbar, &vp_info); vp_info.flags &= ~VP_FLAG_ALIGNMENT_MASK; + display->set_viewport(&vp_info); #else if (!is_initialized_vp) { @@ -411,7 +414,8 @@ void tv_finalize_display(void) } /* undo viewport */ - rb->viewportmanager_theme_undo(SCREEN_MAIN, false); + if (is_initialized_vp) + rb->viewportmanager_theme_undo(SCREEN_MAIN, false); #endif } diff --git a/apps/plugins/text_viewer/tv_settings.c b/apps/plugins/text_viewer/tv_settings.c index 549b0d7..3004ac3 100644 --- a/apps/plugins/text_viewer/tv_settings.c +++ b/apps/plugins/text_viewer/tv_settings.c @@ -189,7 +189,7 @@ static bool tv_read_preferences(int pfd, int version, struct tv_preferences *pre prefs->autoscroll_speed = *p++; if (version > 2) - prefs->horizontal_scrollbar = (*p != 0); + prefs->horizontal_scrollbar = (*p++ != 0); else prefs->horizontal_scrollbar = false; |