Open stebulba opened 2 years ago
Is this a duplicate of https://github.com/obsproject/obs-browser/issues/148? It's not.
I can confirm this on Windows 10 with OBS Studio 29.
I personally expect this is not something we can fix, as the menus in docks are controlled almost exclusively by CEF.
However, it's entirely possible that Qt is passing the wrong data to CEF, or our CEF implementation is reading outdated positional data, resulting in this bug. Additionally (likely related?) normal browsers will close any open select menus when the window is being repositioned; this does not happen with our implementation as CEF doesn't have a proper "unfocus" function we can call.
Long story short, the first time you open a Select menu after a dock or its parent window's position has changed, the menu will be in the wrong spot. Every subsequent open works fine.
I will do some digging later to determine if it's our code or not.
I decided to test on Linux today, and at least on GNOME, this issue does not occur. I expect it's Windows only, but have not yet verified it does not occur on macOS.
Edit: Verified it's fine on macOS too. Windows only confirmed.
I did some additional debugging today, and have learned nothing useful. Both the coordinates of the CefHost window and the widget
in QCefBrowserClient
correctly update their coordinates immediately, as expected. I have no idea why those coordinates aren't being passed to the Select menu.
void QCefBrowserClient::OnGotFocus(CefRefPtr<CefBrowser> browser)
{
QPoint myPos = widget->mapToGlobal(widget->pos());
RECT rect;
GetWindowRect(browser->GetHost()->GetWindowHandle(), &rect);
blog(LOG_WARNING, "Refocused, %ix%i // %ix%i", myPos.x(), myPos.y(),
rect.left, rect.top);
}
Operating System Info
Other
Other OS
Ubuntu 16.04 flatpack
OBS Studio Version
27.2.4
OBS Studio Version (Other)
No response
OBS Studio Log URL
https://obsproject.com/logs/WfTUsdJaHUJGR-h3
OBS Studio Crash Log URL
No response
Expected Behavior
Every thing look working on web browser dock. Javascript look good. The focus is missing to open a select menu.
Current Behavior
If the mouse focus is not the web browser dock, when you click on a menu, the menu popup and loose the focus and close the select.
Steps to Reproduce
Anything else we should know?
No response