JUCE assumes multi-display setups always touch without fallback

On Fedora KDE 44 (up-to-date), if I use this display setup

I run into an assert in juce_Displays.cpp:393 (All the nodes should have a parent). The effect afterwards is that no mouse input works on my big external display.

The reason is that for this specific setup, the physical coordinates are:

Built-In: {0, 839, 3840, 2400} scale 2

and external Dell main: {3841, 0, 5760, 3240} scale 2

These coordinates are not very physical and don´t match my setup, but I guess that a different topic.

I think somehow due to rounding, there is a 1px gap between the displays and JUCE then fails to figure out the layout/hierarchy correctly in processDisplay(). Due to the gap the condition to set node.parent is never met and once it stays null, everything breaks.

I realize the 1 px gap could be considered a bug in the display manager, but on the other hand I think JUCE shouldn´t just give up assigning a parent for such a config. I don´t think there is any rule multiple displays always need to touch in all OSes. Can´t there just be a fallback or a more forgiving logic to still get a parent? Especially in the 2 display case, that could be rather easy.

The problem is gone if I set the built-in display to 200%, but I think it shows a more general problem in this display layout detection algorithm.

This is the debug view when the assert hits.