Quitting while popup showing causes assert

Thanks for a reply.

I am adding my findings for the records, so they don’t get lost:

  • I veryfied that the masterReference for the lookAndFeel shows a reference count of 2 instead of 1
  • the ComboBox::lookAndFeelChanged() - which is triggered by setLookAndFeel(nullptr) - doesn’t deal with the open menu
  • I tried to add hidePopup() here, but this simply calls PopupMenu::dismissAllActiveMenus();, which we established before, has not the desired effect
  • inside PopupMenu::dismissAllActiveMenus(); I lost the lead, I am assuming that the pmw->dismissMenu (nullptr); call is triggering something asynchronous…

This should be fixed on the develop branch now.

Nice, thanks. When will this filter down to the normal branch?

Not for a while. Whilst this change looks simple there’s potential for it to cause trouble, so it needs a decent length of time on the develop branch.

You could patch manually by adding the line

pmw->setLookAndFeel (nullptr);

before

pmw->dismissMenu (nullptr);

near line 1744 of modules/juce_gui_basics/menus/juce_PopupMenu.cpp.

1 Like

Thank-you very much for the info.