locator->refresh_window ();
wmove (locator->handle, 0, 0);
xfree (string);
- locator->content_in_use = TRUE;
}
}
symtab_and_line sal = find_frame_sal (fi);
- source_already_displayed = sal.symtab != 0
- && tui_source_is_displayed (symtab_to_fullname (sal.symtab));
+ const char *fullname = nullptr;
+ if (sal.symtab != nullptr)
+ fullname = symtab_to_fullname (sal.symtab);
+
+ source_already_displayed = (sal.symtab != 0
+ && TUI_SRC_WIN != nullptr
+ && TUI_SRC_WIN->showing_source_p (fullname));
if (get_frame_pc_if_available (fi, &pc))
locator_changed_p
= tui_set_locator_info (get_frame_arch (fi),
(sal.symtab == 0
- ? "??" : symtab_to_fullname (sal.symtab)),
+ ? "??" : fullname),
tui_get_function_from_frame (fi),
sal.line,
pc);