Page MenuHomePhabricator

Render window menus not visible on macOS
Closed, ResolvedPublic

Description

Works in v2018.04.2. Does not work in the last snapshot with VTK 8.1, so probably not related to the VTK 9 upgrade. Tested on macOS Catalina.

Related Objects

Event Timeline

kislinsk triaged this task as Unbreak Now! priority.Feb 8 2021, 7:43 AM
kislinsk created this task.

It was an alternative code path for handling render window menu visibility on macOS that is no longer needed, resp. now even broke the visibility handling. Now all supported platforms use the same code path and to make it work in the first place without any workarounds, a few adjustmens/simplifications were necessary. The visibility status is no longer coupled to the mouse move event, which was ill-formed from the beginning and resulted in trouble on different platforms like flickering on Linux. The visibility state is now way more effectively coupled to the enter and leave events of the render windows. There's also an immediate reaction now on resize events.

I manually tested the changes on Windows, Ubuntu 18.04, and macOS Catalina. I will push it into the release branch to have the potentially final installers available tomorrow.

API-breaking changes

  • QmitkRenderWindowMenu class
    • Removed unused opacity parameter from MoveWidgetToCorrectPos() method.
    • Removed workaround methods DeferredShowMenu(), DeferredHideMenu(), and smoothHide(). Use ShowMenu() and HideMenu() instead.
  • QmitkRenderWindow class
    • Removed AdjustRenderWindowMenuVisibility() method which is no longer needed

Deleted branch from rMITK MITK: bugfix/T28284-FixRenderWindowMenuVisibility.