Commit 2770a5d7 authored by ChengqiangMeng's avatar ChengqiangMeng Committed by Tomasz Zawadzki
Browse files

spdk_top:fix a bug of disabled Columns.



Return the previous state of the column when we press Q or ESC.

Fixes issue #1829

Signed-off-by: default avatarChengqiangMeng <chengqiangx.meng@intel.com>
Change-Id: If049c0dcebfa3d71ac9c5266541083108df1d883
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6893


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarKrzysztof Karas <krzysztof.karas@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarGangCao <gang.cao@intel.com>
parent f1f4f7d3
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -1598,6 +1598,7 @@ filter_columns(uint8_t tab)
	ITEM *cur;
	void (*p)(enum tabs tab);
	uint8_t current_index, len = 0;
	bool disabled[TABS_COL_COUNT];

	for (i = 0; col_desc[i].name != NULL; ++i) {
		len = spdk_max(col_desc[i].name_len, len);
@@ -1628,6 +1629,10 @@ filter_columns(uint8_t tab)
		goto fail;
	}

	for (int i = 0; i < TABS_COL_COUNT; i++) {
		disabled[i] = col_desc[i].disabled;
	}

	while (!stop_loop) {
		c = wgetch(filter_win);

@@ -1640,6 +1645,17 @@ filter_columns(uint8_t tab)
			break;
		case 27: /* ESC */
		case 'q':
			for (int i = 0; i < TABS_COL_COUNT; i++) {
				cur = current_item(my_menu);
				col_desc[i].disabled = disabled[i];

				my_items = refresh_filtering_menu(&my_menu, filter_win, tab, my_items, elements,
								  item_index(cur) + 1);
				if (my_items == NULL || my_menu == NULL) {
					goto fail;
				}
			}

			stop_loop = true;
			break;
		case ' ': /* Space */