X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbclistbox.C;h=4a55593fae1e2d23479905b3c8c3dd3c6e620919;hp=2dd4283c990fc325d4caf6edc68068c882a4b035;hb=b46dd3711f7aaa94d2df9f27cd2ce16f7487693a;hpb=fcffc409fe3f6909f4e5d9e105a1cbb5bc68eb5d diff --git a/cinelerra-5.1/guicast/bclistbox.C b/cinelerra-5.1/guicast/bclistbox.C index 2dd4283c..4a55593f 100644 --- a/cinelerra-5.1/guicast/bclistbox.C +++ b/cinelerra-5.1/guicast/bclistbox.C @@ -1643,6 +1643,7 @@ int BC_ListBox::center_selection(int selection, yposition = item->text_y - top_item->text_y - view_h / 2; } } + if( yposition < 0 ) yposition = 0; return 1; } @@ -2645,11 +2646,9 @@ int BC_ListBox::button_press_event() } // Select single item else { - if( !current_item->selected ) { + if( !current_item->selected || !new_value ) { set_all_selected(data, 0); - set_selected(data, - selection_number, - 1); + set_selected(data, selection_number, 1); } new_value = 1; } @@ -3033,9 +3032,6 @@ int BC_ListBox::cursor_motion_event() if( (display_format == LISTBOX_TEXT || display_format == LISTBOX_ICON_LIST) && shift_down() ) { -// Deselect everything. - set_all_selected(data, 0); - // Select just the items redraw = expand_selection(0, selection_number); }