Avoid integer overflow in gdk_rectangle_intersect
Avoid integer overflow in gdk_rectangle_intersect

If e.g. the right edge of the leftmost rectangle is near MIN_INT, and
the left edge of the rightmost rectangle is large then subtracting these
can lead to an integer overflow, making the resultant "width" falsely
positive, thus returning a very wide result instead of the expected
no-intersection result.

We avoid the overflow by not doing the subtraction unless we know the
result will be positive. There are still risks for overflow if x + width
or y + width is larger than MAXINT, but we won't ever overflow for valid
rects now.

This may fix #607687

davidt/gtk,jadahl/gtk,jessevdk/gtk,Lyude/gtk-,jigpu/gtk,Unity-Technologies/gtk,jessevdk/gtk,chergert/gtk,jessevdk/gtk,simokivimaki/gtk,davidgumberg/gtk,jigpu/gtk,Adamovskiy/gtk,jadahl/gtk,Adamovskiy/gtk,jigpu/gtk,Distrotech/gtk2,alexlarsson/gtk,alexlarsson/gtk,johne53/MB3Gtk-2,ahodesuka/gtk,Unity-Technologies/gtk,Lyude/gtk-,davidt/gtk,bratsche/gtk-,msteinert/gtk,grubersjoe/adwaita,alexlarsson/gtk,Lyude/gtk-,bratsche/gtk-,chergert/gtk,Distrotech/gtk2,Lyude/gtk-,grubersjoe/adwaita,Unity-Technologies/gtk,msteinert/gtk,ahodesuka/gtk,jessevdk/gtk,alexlarsson/gtk,johne53/MB3Gtk-2,ahodesuka/gtk,Adamovskiy/gtk,Lyude/gtk-,chipx86/gtk,Sidnioulz/SandboxGtk,Distrotech/gtk,alexlarsson/gtk,grubersjoe/adwaita,bratsche/gtk-,chergert/gtk,grubersjoe/adwaita,johne53/MB3Gtk-2,jigpu/gtk,ebassi/gtk,Adamovskiy/gtk,alexlarsson/gtk,simokivimaki/gtk,ahodesuka/gtk,jessevdk/gtk,msteinert/gtk,chipx86/gtk,davidt/gtk,Adamovskiy/gtk,jadahl/gtk,grubersjoe/adwaita,davidgumberg/gtk,chergert/gtk,davidgumberg/gtk,ebassi/gtk,jigpu/gtk,simokivimaki/gtk,johne53/MB3Gtk-2,bratsche/gtk-,davidgumberg/gtk,grubersjoe/adwaita,msteinert/gtk,Distrotech/gtk,chergert/gtk,davidgumberg/gtk,Distrotech/gtk2,chergert/gtk,davidt/gtk,jadahl/gtk,chipx86/gtk,chipx86/gtk,grubersjoe/adwaita,ahodesuka/gtk,davidt/gtk,simokivimaki/gtk,msteinert/gtk,simokivimaki/gtk,jadahl/gtk,ebassi/gtk,chergert/gtk,chipx86/gtk,Lyude/gtk-,bratsche/gtk-,simokivimaki/gtk,Adamovskiy/gtk,Distrotech/gtk2,Lyude/gtk-,jessevdk/gtk,Sidnioulz/SandboxGtk,Distrotech/gtk2,ebassi/gtk,jadahl/gtk,ahodesuka/gtk,grubersjoe/adwaita,ahodesuka/gtk,jigpu/gtk,Sidnioulz/SandboxGtk,Sidnioulz/SandboxGtk,Sidnioulz/SandboxGtk,Adamovskiy/gtk,Sidnioulz/SandboxGtk,Distrotech/gtk,ebassi/gtk,Unity-Technologies/gtk,chergert/gtk,Adamovskiy/gtk,davidgumberg/gtk,Distrotech/gtk2,alexlarsson/gtk,alexlarsson/gtk,bratsche/gtk-,jigpu/gtk,msteinert/gtk,Lyude/gtk-,davidt/gtk,Distrotech/gtk,Distrotech/gtk,ebassi/gtk,johne53/MB3Gtk-2,davidgumberg/gtk,jadahl/gtk,jigpu/gtk,ahodesuka/gtk,jessevdk/gtk,Unity-Technologies/gtk,jadahl/gtk,davidgumberg/gtk