[Scummvm-tracker] [ScummVM :: Bugs] #12793: MACOSX: When switching between windows created with different graphics types, both may be retained as active windows.

ScummVM :: Bugs trac at scummvm.org
Tue Aug 10 08:13:00 UTC 2021


#12793: MACOSX: When switching between windows created with different graphics
types, both may be retained as active windows.
-------------------+----------------------------
Reporter:  macca8  |      Owner:  (none)
    Type:  defect  |     Status:  new
Priority:  normal  |  Component:  Port: Mac OS X
 Version:          |   Keywords:
    Game:          |
-------------------+----------------------------
 ScummVM’s graphics types can be broadly categorised as Surface SDL, OpenGL
 or 3D OpenGL. When switching between any of these types, either by
 changing the Graphics Mode setting or switching between game and Launcher
 windows, the old window isn’t always completely destroyed when the new
 window is created.

 This appears to be an issue between macOS and later versions of SDL2,
 though which is the earliest SDL2 version to trigger this behaviour isn’t
 known. It applies to some degree to all current development, stable &
 release builds, except the 32-bit v2.2.0 release.

 For affected builds, the observed behaviour is as follows:
 - By default, both new & any retained old windows are listed as currently
 active in the app’s Window Menu, however only the new window is displayed
 on-screen.
 - An old window can be viewed by choosing it from the Window Menu, then
 deactivated by choosing another window, in which case it remains visible
 on-screen as a normal open window (but see next point).
 - Generally, an old window is displayed as a black window, complete with
 an inactive title bar. It can be moved by dragging the title bar, but not
 resized or closed. However, especially with some game windows, the old
 window may also present as invisible, in which case no interaction is
 possible when 'revealed' on the desktop.
 - Any open windows - including invisible windows - previously accessed
 from the Window Menu can be viewed collectively by right-clicking the
 app’s Dock Item and choosing Show All Windows from its menu.
 - Retained old windows (there’s no limit) can only be deleted from the
 desktop and/or menu by quitting the app.

 See attached screenshots for examples of Window Menu, Dock Item Menu &
 desktop images.

 Criteria for reproducing this issue:
 - The basic requirement is that the current graphics type changes to a
 different type when the new window is created (to or from OpenGL, 3D
 OpenGL, or Surface SDL).
 - Use explicit settings for window types dependent on the Graphics Mode
 option (i.e. Launcher & 2D games), for example, OpenGL or Surface SDL
 normal2x (or 2x if testing builds that predate changes unique to current
 development builds).
 - Switches between Launcher & game (either 2D or 3D) require that the new
 window also changes the screen mode as part of the switch (suggested
 setup: windowed Launcher & fullscreen game).

 To test, as a minimum, either:
 - Change the Graphics Mode setting to or from OpenGL (try both
 directions), or
 - Load a game from the Launcher, then return to the Launcher (recommend 3D
 for development builds, 2D for stable & release builds).
 - The app’s Window Menu can be accessed either by changing screen mode
 while in-game or from the Launcher.

 Please note:
 - Switches between different Surface SDL scalers are NOT affected by this
 issue.
 - Results can vary depending upon which Graphics Mode is applied to the
 Launcher (OpenGL or Surface SDL).
 - The issue may not be triggered until a subsequent switch, if no previous
 switches have been performed since the app was launched.
 - The criteria for testing 2D games can be applied to development builds,
 but switches between game & Launcher and when using Alt+Enter in-game, can
 produce unexpected transitional behaviour, which appears to be unrelated
 to this issue. Provides a valid test, but this configuration not
 recommended for regular usage.

 Tested on an Intel Mac with a 1920x1080 screen, running macOS 10.11.6.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/12793>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list