HomeWildfire Games

Fix issues relating to SDL and wxWidgets interaction in Atlas.

Description

Fix issues relating to SDL and wxWidgets interaction in Atlas.

This fixes the transfer of key inputs from WxWidgets to SDL, making it possible to type in the in-game GUI from Atlas.

Also fixes whitespace issues in some Atlas files.

The following improvements are OSX specific:

  • fixes an SDL assertion related to unused subsystems in Atlas.
  • Remove the 'osxguiapplication' override. This fixes the editor starting up in the background and not accepting input when launched from in-game.
  • To prevent an issue with sdl/wxwidgets conflict when running from inside the game, actually boot a new instance (see #2427)

Reported by: wik (Many thanks for your investigations)

Tested by: trompetin17, Stan

Fixes #2427
Fixes #2846

Differential Revision: https://code.wildfiregames.com/D2788

Event Timeline

vladislavbelov added inline comments.
/ps/trunk/source/lib/sysdep/os/osx/osx_atlas.h
23

INCLUDED_OSX_ATLAS.

31

It seems like out of CC, because it's not underscored and not in upper camel case.

/ps/trunk/source/lib/sysdep/os/osx/osx_atlas.mm
44

Might be const, std::string c-tor is unnecessary.

/ps/trunk/source/tools/atlas/AtlasUI/ScenarioEditor/ScenarioEditor.cpp
189

Why hard-coded bounds and not std::isalnum?

/ps/trunk/source/tools/atlas/GameInterface/Handlers/MiscHandlers.cpp
207

static_cast.

211

Duplication, it might be compressed.

Thanks for the comments. Overall I don't think they warrant a lint-commit on this soonish, I'll keep it in mind for my next atlas diff I think.

/ps/trunk/source/lib/sysdep/os/osx/osx_atlas.h
23

I'm actually following the convention of other osx/ specific headers here (I copied one of the files as thesis of this), but I agree it's inconsistent with the rest of the codebase.

31

That one's my bad, it should probably be osx_StartNewAtlasProcess

/ps/trunk/source/lib/sysdep/os/osx/osx_atlas.mm
44

doesn't matter much tbh

/ps/trunk/source/tools/atlas/AtlasUI/ScenarioEditor/ScenarioEditor.cpp
189

Didn't have it in mind when changing this, would have been slightly better.

Silier raised a concern with this commit.EditedSep 26 2020, 11:15 AM
Silier added a subscriber: Silier.

Mac-OS bundle is failing since this commit, see jenkins logs
../../../source/lib/sysdep/os/osx/osx_atlas.mm:49:2: error: type arguments cannot be applied to non-parameterized class 'NSDictionary'

NSDictionary<NSString*, id> *params = @{ NSWorkspaceLaunchConfigurationArguments: args };
This commit now has outstanding concerns.Sep 26 2020, 11:15 AM
Stan added subscribers: Itms, Stan.Sep 26 2020, 11:21 AM

Could be the --macosx-version-min=10.9 flag cc @Itms

Stan removed an auditor: Silier.Dec 5 2020, 3:13 PM

We dropped 10.9

This commit no longer requires audit.Dec 5 2020, 3:13 PM