Page MenuHome

Fix T64024 Red line on menu bar in fullscreen (macOS)
ClosedPublic

Authored by Yevgeny Makarov (jenkm) on Jan 29 2020, 2:21 PM.

Details

Summary

Fix T64024 Red line on menu bar in fullscreen (macOS).

To reproduce the bug:

  • turn on the "Automatically hide and show the menu bar"
  • turn on the "Automatically hide and show the Dock"
  • maximize (zoom) the Blender windows
  • and then switch to fullscreen mode

In this case, when switching from "maximized" to "fullscreen" the GHOST_kEventWindowSize not triggered.

There are a bunch of tasks merged to T64024.
I'm not sure any of them will be fixed by this patch either.

Diff Detail

Repository
rB Blender

Event Timeline

Tested with the build 2.83 Alpha, works fine on OSX Catalina 10.15.3.

@Stas (girafic) Do you mean it works without this patch?

@Stas (girafic) Do you mean it works without this patch?

No, it works only with this patch.

No, it works only with this patch.

Thank you, I just thought maybe some changes in OSX Catalina 10.15.3.

Thanks a lot for finding this.

This revision is now accepted and ready to land.Jan 31 2020, 6:41 PM

@Brecht Van Lommel (brecht)

I found a case where these changes would lead to crash.

Open child windows (eg View Render), make it full-screen, and try closing it.

The problem is with [(NSWindow *)associatedWindow->getOSWindow() isZoomed], without it works.


  • When you close the fullscreen window, it closes first and then the windowDidExitFullScreen event is sent, which causes the crash.
  • This doesn't quite work for child windows, there is still a "red background" glitch when switching to the fullscreen mode.
  • The animation/transition when switching from "maximized" to "fullscreen" mode is not as smooth as from "normal" to "fullscreen".
This revision is now accepted and ready to land.Feb 6 2020, 7:15 PM
Yevgeny Makarov (jenkm) requested review of this revision.Feb 6 2020, 7:16 PM
Yevgeny Makarov (jenkm) planned changes to this revision.Feb 10 2020, 9:27 AM

This version works quite well, in my testing, sometimes artifacts appear, especially when Ctrl-Cmd-F are used, (when you keep holding F), it looks like a lag in the event system or something.

I also added WindowSize event to windowDidChangeBackingProperties, I can't test it, but I guess it might solve the similar problem with connecting/disconnecting an external monitor (changing resolutions).

Brecht Van Lommel (brecht) accepted this revision.EditedFeb 11 2020, 2:05 PM

@Yevgeny Makarov (jenkm), do you want commit rights to commit accepted patches yourself?

This revision is now accepted and ready to land.Feb 11 2020, 2:05 PM

Do you want commit rights to commit accepted patches yourself?

I think not, it's difficult for me, I can break something :)

Ok, that's fine, I'll commit.