screen.c: Check for MetaMonitorInfo being non-null before attempting
to access it.
The return from find_monitor_with_rect() is usually null (there are
lots of modes usually), but this is never guarded against when collecting
refresh rates.
Example to reproduce: Laptop monitor + external monitor. Arrange laptop
monitor to the right of the external one. Using nvidia-450 (confirmed
for me, at least), turn laptop monitor off. Ignoring horrible lag from
driver, turn the laptop monitor back on (arranging it still to the right
of the external monitor).
backgrounds: relayout the transition actors on size change
I don't know if this is exactly the correct way to do it, but this
ensures that the transition actors have the correct size after the
stage changes size.
Previously, we queued a relayout on the parent of the transition
actors. I don't know if this just never properly re-layouted the
children, or if another change (possibly the clutter/cogl merge)
changed the layout behavior since then.
meta-window-actor.c: Don't give windows a shadow by default.
This was TRUE to handle firefox not having shadows when handling its
own decorations, and things like slack's splash window (which wasn't
calling itself a splash window).
Firefox appears to create its own shadows now (or at least it gets
caught by some other shadow-check here), and slack doesn't have a
splash screen.
A few (at least) steam games can end up with invalid regions when
moving to fullscreen mode, and would crash in meta_shadow_factory_
get_shadow.
Fixes linuxmint/cinnamon#9272.
7707f5b...
by
Clement Lefebvre <email address hidden>
meta-window-actor.c: Detach after redirecting, not before unredirecting.
It's possible this was accidentally done due to upstream reversing the
logic in this function (set_redirected -> set_unredirected), and the
if/else was also reversed.