X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fscreens.c;h=64677bd23746be635c6b80351e68a4dee3fa5f4e;hp=c8324210de2648e2cec37e8865946783b2148b0b;hb=24287f46944159fd6ea121877aaa001e0f92e452;hpb=60eba116a2ee48eae8f27e19891a79a49e868ff9 diff --git a/src/screens.c b/src/screens.c index c8324210..64677bd2 100644 --- a/src/screens.c +++ b/src/screens.c @@ -4036,6 +4036,10 @@ static void DrawChooseTree(TreeInfo **ti_ptr) static void drawChooseTreeList(int first_entry, int num_page_entries, TreeInfo *ti) { + int num_entries = numTreeInfoInGroup(ti); + boolean scrollbar_needed = (num_entries > NUM_MENU_ENTRIES_ON_SCREEN); + int scrollbar_xpos = SC_SCROLLBAR_XPOS + menu.scrollbar_xoffset; + int screen_width = (scrollbar_needed ? scrollbar_xpos : SXSIZE); int i; char *title_string = NULL; int yoffset_sets = MENU_TITLE1_YPOS; @@ -4060,8 +4064,8 @@ static void drawChooseTreeList(int first_entry, int num_page_entries, int font_nr = FONT_TEXT_1; int font_xoffset = getFontBitmapInfo(font_nr)->draw_xoffset; int startx_text = startx + font_xoffset; - int startx_scrollbar = mSX + SC_SCROLLBAR_XPOS + menu.scrollbar_xoffset; - int text_size = startx_scrollbar - startx_text; + int endx_text = mSX + screen_width; + int text_size = endx_text - startx_text; int max_buffer_len = text_size / getFontWidth(font_nr); char buffer[max_buffer_len + 1];