obsproject/obs-studio

[BUG] Can't click menu bar after program start

gxalpha opened this issue · 9 comments

Platform

Operating system and version: macOS Catalina 10.15.4
OBS Studio version: OBS 25.0.4-6-g2a318d91

Expected Behavior

After starting OBS, I should be able to click on the menu bar items, like "File", "Edit", "Tools" etc. to access those menus.

Current Behavior

After starting OBS, clicking on the menu bar items on left side (the buttons of the program plus the Apple-Logo) does nothing. They don't turn blue and they don't open up a menu. The buttons on the right side of the menu bar (like clock, wifi, time machine and the username) still work.
To get the buttons working, you need to first focus another program, either by clicking on it or by selecting it via cmd-tab. After this, when you focus OBS again, everything works as intended.
Log file: log.txt

Steps to Reproduce

  1. Install a fresh clone of OBS:
    git clone --recursive https://github.com/obsproject/obs-studio.git
  2. Build OBS
    brew install FFmpeg x264 Qt5 cmake mbedtls swig
    mkdir build
    cd build
    export QTDIR=/usr/local/opt/qt
    cmake .. && make -j
  3. Start OBS
    cd rundir/RelWithDebInfo/bin
    ./obs
  4. Try clicking the menu bar.

Additional information

I figured this out during development of a plugin, but it happens even after fresh-cloning and building OBS so I doubt that the plugin has something to do with it.

I believe this currently only happens when running OBS outside a proper app bundle.

I was not able to find a sufficient work around, but it mostly is an issue when doing dev

Same here!... installed on OSX Mojave ant was fine!, on Catalina it didn't initially, but after a while it did work... I'll try to report if anything changes

I had the same thing on Catalina, but resizing the main OBS scenes window activated the menu again.

Can confirm, this only happens when run from command line - it's as if the app is launched but the window is not activated (notice how the title bar is greyed out). Switching to and from OBS (to trigger a window update) fixed it.

Doesn't happen when compiled and run from Xcode though.

As @PatTheMav says, switching to terminal and back to OBS window enable menu items.

I haven't checked with other apps, but if this is true, than it's a quirk of apps opened from Terminal: https://bugreports.qt.io/browse/QTBUG-48829?focusedCommentId=295165&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-295165

Does this mean we can safely close this ticket as "won't fix"?

@WizardCM The fix would be to have our cmake build system create a proper macOS app bundle instead of just an output folder with libraries and a binary. This would also fix the issue of OBS crashing when run outside of an app bundle and trying to access protected devices (i.e. webcam).

Understood. I'll leave this open for now then. :)