fix: don't skip tab updates while dragging

This commit is contained in:
CJ van den Berg 2026-01-15 22:07:34 +01:00
parent e9a67d4c71
commit 48c42737a6
Signed by: neurocyte
GPG key ID: 8EB1E1BB660E3FB9

View file

@ -234,7 +234,11 @@ pub const TabBar = struct {
fn update_tabs(self: *Self, drag_source: ?*Widget) !void {
const buffer_manager = tui.get_buffer_manager() orelse @panic("tabs no buffer manager");
const buffers_changed = try self.update_tab_buffers();
if (!buffers_changed and self.widget_list.widgets.items.len > 0) return;
const dragging = for (self.tabs) |*tab| {
if (tab.widget.dynamic_cast(Tab.ButtonType)) |btn|
if (btn.drag_pos) |_| break true;
} else false;
if (!dragging and !buffers_changed and self.widget_list.widgets.items.len > 0) return;
var prev_widget_count: usize = 0;
for (self.widget_list.widgets.items) |*split_widgetstate| if (split_widgetstate.widget.dynamic_cast(WidgetList)) |split| {
prev_widget_count += 1;