+2019-12-20  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-winsource.c (tui_update_source_windows_with_addr): Call
+       update_source_window directly.
+       * tui/tui-disasm.h (tui_show_disassem): Don't declare.
+       * tui/tui-disasm.c (tui_show_disassem): Remove.
+
 2019-12-20  Tom Tromey  <tom@tromey.com>
 
        * tui/tui-winsource.c
 
 }
 
 
-/* Function to display the disassembly window with disassembled code.  */
-void
-tui_show_disassem (struct gdbarch *gdbarch, CORE_ADDR start_addr)
-{
-  struct symtab *s = find_pc_line_symtab (start_addr);
-  struct tui_line_or_address val;
-
-  gdb_assert (TUI_DISASM_WIN != nullptr && TUI_DISASM_WIN->is_visible ());
-
-  val.loa = LOA_ADDRESS;
-  val.u.addr = start_addr;
-  TUI_DISASM_WIN->update_source_window (gdbarch, s, val);
-}
-
 void
 tui_get_begin_asm_address (struct gdbarch **gdbarch_p, CORE_ADDR *addr_p)
 {
 
   bool addr_is_displayed (CORE_ADDR addr) const;
 };
 
-extern void tui_show_disassem (struct gdbarch *, CORE_ADDR);
 extern void tui_get_begin_asm_address (struct gdbarch **, CORE_ADDR *);
 
 #endif /* TUI_TUI_DISASM_H */
 
 {
   if (addr != 0)
     {
-      struct symtab_and_line sal;
+      struct symtab_and_line sal = find_pc_line (addr, 0);
       struct tui_line_or_address l;
       
       if (TUI_DISASM_WIN != nullptr)
-       tui_show_disassem (gdbarch, addr);
+       {
+         l.loa = LOA_ADDRESS;
+         l.u.addr = addr;
+         TUI_DISASM_WIN->update_source_window (gdbarch, sal.symtab, l);
+       }
 
       if (TUI_SRC_WIN != nullptr)
        {
-         sal = find_pc_line (addr, 0);
          l.loa = LOA_LINE;
          l.u.line_no = sal.line;
          TUI_SRC_WIN->show_symtab_source (gdbarch, sal.symtab, l);
       if (tui_current_layout () == SRC_DISASSEM_COMMAND)
        {
          find_line_pc (s, line, &pc);
-         tui_show_disassem (gdbarch, pc);
+         l.loa = LOA_ADDRESS;
+         l.u.addr = pc;
+         TUI_DISASM_WIN->update_source_window (gdbarch, s, l);
        }
       break;
     }