diff --git a/src/raddbg/generated/raddbg.meta.c b/src/raddbg/generated/raddbg.meta.c index d0ca7c62..61963b9d 100644 --- a/src/raddbg/generated/raddbg.meta.c +++ b/src/raddbg/generated/raddbg.meta.c @@ -580,7 +580,7 @@ RD_StringBindingPair rd_default_binding_table[110] = {str8_lit_comp("log_marker"), {OS_Key_M, 0 |OS_Modifier_Ctrl |OS_Modifier_Shift |OS_Modifier_Alt}}, }; -String8 rd_binding_version_remap_old_name_table[7] = +String8 rd_binding_version_remap_old_name_table[8] = { str8_lit_comp("commands"), str8_lit_comp("load_user"), @@ -589,9 +589,10 @@ str8_lit_comp("load_project"), str8_lit_comp("open_profile"), str8_lit_comp("address_breakpoint"), str8_lit_comp("function_breakpoint"), +str8_lit_comp("toggle_breakpoint_cursor"), }; -String8 rd_binding_version_remap_new_name_table[7] = +String8 rd_binding_version_remap_new_name_table[8] = { str8_lit_comp("run_command"), str8_lit_comp("open_user"), @@ -600,6 +601,7 @@ str8_lit_comp("open_project"), str8_lit_comp("open_project"), str8_lit_comp("add_address_breakpoint"), str8_lit_comp("add_function_breakpoint"), +str8_lit_comp("toggle_breakpoint"), }; String8 rd_icon_kind_text_table[69] = diff --git a/src/raddbg/generated/raddbg.meta.h b/src/raddbg/generated/raddbg.meta.h index c2700931..0bc70df2 100644 --- a/src/raddbg/generated/raddbg.meta.h +++ b/src/raddbg/generated/raddbg.meta.h @@ -770,8 +770,8 @@ extern String8 d_entity_kind_name_label_table[31]; extern RD_EntityKindFlags rd_entity_kind_flags_table[31]; extern Rng1U64 rd_reg_slot_range_table[34]; extern RD_StringBindingPair rd_default_binding_table[110]; -extern String8 rd_binding_version_remap_old_name_table[7]; -extern String8 rd_binding_version_remap_new_name_table[7]; +extern String8 rd_binding_version_remap_old_name_table[8]; +extern String8 rd_binding_version_remap_new_name_table[8]; extern String8 rd_icon_kind_text_table[69]; extern String8 rd_collection_name_table[18]; extern RD_EntityKind rd_collection_entity_kind_table[18]; diff --git a/src/raddbg/raddbg.mdesk b/src/raddbg/raddbg.mdesk index 2bf09d7c..3748905e 100644 --- a/src/raddbg/raddbg.mdesk +++ b/src/raddbg/raddbg.mdesk @@ -717,6 +717,8 @@ RD_BindingVersionRemapTable: {"open_profile" "open_project"} {"address_breakpoint" "add_address_breakpoint"} {"function_breakpoint" "add_function_breakpoint"} + {"toggle_breakpoint_cursor" "toggle_breakpoint"} + } @data(String8) rd_binding_version_remap_old_name_table: diff --git a/src/raddbg/raddbg_core.c b/src/raddbg/raddbg_core.c index a778ed67..4fe0a1a0 100644 --- a/src/raddbg/raddbg_core.c +++ b/src/raddbg/raddbg_core.c @@ -634,8 +634,21 @@ rd_view_is_project_filtered(RD_View *view) String8 view_project = view->project_path; if(view_project.size != 0) { - String8 current_project = rd_cfg_path_from_src(RD_CfgSrc_Project); - result = !path_match_normalized(view_project, current_project); + RD_ViewRuleKind kind = rd_view_rule_kind_from_string(view->spec->string); + // TODO(rjf): @hack hack hack - this should be completely determined if the view + // is parameterized by an expression, but that is currently the same string as the + // query, and so we can't rely on that. when query expressions are separated from + // filter strings, we can rely on that here. + if((kind == RD_ViewRuleKind_Text || + kind == RD_ViewRuleKind_Disasm || + kind == RD_ViewRuleKind_Memory || + kind == RD_ViewRuleKind_Bitmap || + kind == RD_ViewRuleKind_Geo3D) && + view->query_string_size != 0) + { + String8 current_project = rd_cfg_path_from_src(RD_CfgSrc_Project); + result = !path_match_normalized(view_project, current_project); + } } return result; } diff --git a/src/raddbg/raddbg_core.h b/src/raddbg/raddbg_core.h index 7d15baa1..4eb6a967 100644 --- a/src/raddbg/raddbg_core.h +++ b/src/raddbg/raddbg_core.h @@ -171,6 +171,7 @@ enum RD_ViewRuleInfoFlag_CanUseInWatchTable = (1<<4), RD_ViewRuleInfoFlag_CanFillValueCell = (1<<5), RD_ViewRuleInfoFlag_CanExpand = (1<<6), + RD_ViewRuleInfoFlag_ProjectFiltered = (1<<7), }; #define RD_VIEW_RULE_UI_FUNCTION_SIG(name) void name(String8 string, MD_Node *params, Rng2F32 rect)