From a technical standpoint there is no potential for infinite loop with this. Bamf clearly separates transient windows from non-transient windows. Excluding cases where WM_TRANSIENT_FOR is set (which wont contain loops) bamf only allows transient windows to be transients for non-transient windows to avoid just this kind of loop.
Excluding a couple rare conditions with misbehaving applications, the parent transient tree will not be more than 1 deep.
From a technical standpoint there is no potential for infinite loop with this. Bamf clearly separates transient windows from non-transient windows. Excluding cases where WM_TRANSIENT_FOR is set (which wont contain loops) bamf only allows transient windows to be transients for non-transient windows to avoid just this kind of loop.
Excluding a couple rare conditions with misbehaving applications, the parent transient tree will not be more than 1 deep.