patch 8.0.0678: closing a window does not trigger resizing

Problem:    When 'equalalways' is set and closing a window in a separate
            frame, not all window sizes are adjusted. (Glacambre)
Solution:   Resize all windows if the new current window is not in the same
            frame as the closed window. (closes #1707)
diff --git a/src/window.c b/src/window.c
index 2ef3198..8078e01 100644
--- a/src/window.c
+++ b/src/window.c
@@ -2282,6 +2282,7 @@
     int		dir;
     int		help_window = FALSE;
     tabpage_T   *prev_curtab = curtab;
+    frame_T	*win_frame = win->w_frame;
 
     if (last_window())
     {
@@ -2459,7 +2460,10 @@
 	check_cursor();
     }
     if (p_ea && (*p_ead == 'b' || *p_ead == dir))
-	win_equal(curwin, TRUE, dir);
+	/* If the frame of the closed window contains the new current window,
+	 * only resize that frame.  Otherwise resize all windows. */
+	win_equal(curwin,
+		      curwin->w_frame->fr_parent == win_frame->fr_parent, dir);
     else
 	win_comp_pos();
     if (close_curwin)