Don't delete the locator win info
authorHannes Domani <ssbssa@yahoo.de>
Thu, 19 Nov 2020 15:49:53 +0000 (16:49 +0100)
committerHannes Domani <ssbssa@yahoo.de>
Sun, 29 Nov 2020 17:47:38 +0000 (18:47 +0100)
The locator win info is special because it is static, all the others are
created dynamically.

gdb/ChangeLog:

2020-11-29  Hannes Domani  <ssbssa@yahoo.de>

PR tui/26973
* tui/tui-layout.c (tui_apply_current_layout): Don't delete the
static locator win info.

gdb/ChangeLog
gdb/tui/tui-layout.c

index acffdefc8cf1fdb77c7cdabca66ed89d48501495..4cf41fe0bc7cd1a810bfbea042337d14dfd798a0 100644 (file)
@@ -1,3 +1,9 @@
+2020-11-29  Hannes Domani  <ssbssa@yahoo.de>
+
+       PR tui/26973
+       * tui/tui-layout.c (tui_apply_current_layout): Don't delete the
+       static locator win info.
+
 2020-11-28  Alex Richardson  <Alexander.Richardson@cl.cam.ac.uk>
 
        * acincludde.m4 (GDB_AC_CHECK_BFD): Include string.h in the test
index a568fa6c1165e3e03e16c14b969c05f1383a6388..2dd7c3d4ba08fc7e4b156c36acea39a85a120cb9 100644 (file)
@@ -98,13 +98,15 @@ tui_apply_current_layout ()
 
   /* Now delete any window that was not re-applied.  */
   tui_win_info *focus = tui_win_with_focus ();
+  tui_win_info *locator = tui_locator_win_info_ptr ();
   for (tui_win_info *win_info : saved_tui_windows)
     {
       if (!win_info->is_visible ())
        {
          if (focus == win_info)
            tui_set_win_focus_to (tui_windows[0]);
-         delete win_info;
+         if (win_info != locator)
+           delete win_info;
        }
     }