From: Martin Rudalics <rudalics@gmx.at>
Date: Tue, 18 Mar 2025 08:17:52 +0000 (+0100)
Subject: Ensure redisplay after re-parenting a tty child frame (Bug#77079)
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f968a1adad33a31f9ad7c2e3ef83928f7c919a7a;p=emacs.git

Ensure redisplay after re-parenting a tty child frame (Bug#77079)

* src/frame.c (store_frame_param): When re-parenting a tty child
frame, mark it's old and new root frames as garbaged so redisplay
will reflect the change immediately (Bug#77079).

(cherry picked from commit 739d18dc41234824f4f01bfaa2313510e2df14a7)
---

diff --git a/src/frame.c b/src/frame.c
index a7b09482df9..e49bdca5c5b 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -3705,7 +3705,10 @@ store_frame_param (struct frame *f, Lisp_Object prop, Lisp_Object val)
     {
       if (NILP (f->parent_frame) != NILP (val))
 	error ("Making a root frame a child or vice versa is not supported");
+
+      SET_FRAME_GARBAGED (root_frame (f));
       f->parent_frame = val;
+      SET_FRAME_GARBAGED (root_frame (f));
     }
 
   /* The tty color needed to be set before the frame's parameter