auto keyframe color prefs, colorpicker rework, ru.po update, keyframe align fixes...
[goodguy/history.git] / cinelerra-5.1 / guicast / bclistbox.C
index c78af1a68db7e489ea9cc9ecd1b838d68f97a251..1b5c66fdb077c5dc1826bdf6827c711cda96fe6e 100644 (file)
@@ -732,9 +732,10 @@ void BC_ListBox::calculate_last_coords_recursive(
 // Lowest right icon coordinate.
                                current_icon_x = item->icon_x;
                                if(current_icon_x > *icon_x) *icon_x = current_icon_x;
-                               if(current_icon_x + get_item_w(item) > *next_icon_x)
+                               if(current_icon_x + get_item_w(item) > *next_icon_x) {
                                        *next_icon_x = current_icon_x + get_item_w(item);
-
+                                       *next_icon_y = 0;
+                               }
                                current_icon_y = item->icon_y + get_item_h(item);
                                if(current_icon_y > *next_icon_y)
                                        *next_icon_y = current_icon_y;
@@ -2419,9 +2420,8 @@ int BC_ListBox::get_cursor_item(ArrayList<BC_ListBoxItem*> *data,
                        }
                }
        }
-       else
+       else if( gui ) {
 // Text is treed
-       {
 // Cursor is inside items rectangle
                if(cursor_x >= 0 &&
                        cursor_x < (yscrollbar ?
@@ -3126,17 +3126,14 @@ int BC_ListBox::button_release_event()
 //printf("BC_ListBox::button_release_event 10\n");
                        unset_repeat(get_resources()->scroll_repeat);
                        current_operation = NO_OPERATION;
-                       translate_coordinates(top_level->event_win,
-                               gui->win,
-                               gui->get_cursor_x(),
-                               gui->get_cursor_y(),
-                               &cursor_x,
-                               &cursor_y);
-
-                       selection_number1 =
-                               selection_number =
-                               get_cursor_item(data, cursor_x, cursor_y);
+                       if( gui ) {
+                               translate_coordinates(top_level->event_win, gui->win,
+                                       gui->get_cursor_x(), gui->get_cursor_y(),
+                                       &cursor_x, &cursor_y);
+                               selection_number1 = selection_number =
+                                       get_cursor_item(data, cursor_x, cursor_y);
 //printf("BC_ListBox::button_release_event %d %d\n", selection_number2, selection_number1);
+                       }
 
                        if(is_popup)
                        {