[Bug 52519] New: SDL 2.0.20 reports wrong FOCUS_GAINED event when minimizing an inactive fullscreen window

WineHQ Bugzilla wine-bugs at winehq.org
Sat Feb 5 13:32:19 CST 2022


https://bugs.winehq.org/show_bug.cgi?id=52519

            Bug ID: 52519
           Summary: SDL 2.0.20 reports wrong FOCUS_GAINED event when
                    minimizing an inactive fullscreen window
           Product: Wine
           Version: 7.1
          Hardware: x86-64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: -unknown
          Assignee: wine-bugs at winehq.org
          Reporter: madewokherd at gmail.com
      Distribution: ---

Created attachment 71817
  --> https://bugs.winehq.org/attachment.cgi?id=71817
test case (C source)

SDL will, in some cases, minimize fullscreen windows when they are deactivated.
If this happens in SDL 2.0.20, it will report a FOCUS_LOST event followed by a
FOCUS_GAINED event. It should only report the FOCUS_GAINED event when the
window is restored, which is what happens on Windows.

Also reported here: https://github.com/libsdl-org/SDL/issues/5316

Test program attached. This requires SDL.

To reproduce the bug:
* Run the test program in Wine with SDL_EVENT_LOGGING=1
* Click the window to fullscreen it.
* Alt+tab to another window.
* The last focus event logged was FOCUS_GAINED.

I know this happens because SDL receives a WM_ACTIVATE message indicating that
the window is minimized, but GetForegroundWindow reports that the application
is still in the foreground. SDL responds to WM_ACTIVATE by "resyncing" focus,
so it responds to this by reporting FOCUS_GAINED.

I haven't been able to figure out the exact set of circumstances that cause
this behavior in Wine, so I couldn't make a test case that doesn't require SDL.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list