Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't read/store settings directly from/to SYSCONF (and fix config restore) #4319

Merged
merged 2 commits into from Oct 9, 2016

Conversation

leoetlino
Copy link
Member

@leoetlino leoetlino commented Oct 7, 2016

Instead of directly reading/storing settings from/to the SYSCONF, we now store Wii settings to Dolphin's own configuration, and apply them on boot. This prevents issues with settings not being saved, being overridden and lost (if the user opens a dialog that writes to the SYSCONF while a game is running).

This also fixes restoring settings from the config cache after a graceful shutdown; for some reason, settings were only restored after a normal shutdown.

Fixes issue 9825 and 9826


This change is Reviewable

@leoetlino leoetlino force-pushed the sysconf branch 2 times, most recently from 539fad8 to 59d31c2 Compare October 7, 2016 21:31
Aren't indirect includes great?
@lioncash
Copy link
Member

lioncash commented Oct 7, 2016

Review status: 0 of 32 files reviewed at latest revision, 2 unresolved discussions, some commit checks failed.


Source/Core/Core/BootManager.h, line 14 at r1 (raw file):

void Stop();
void RestoreConfig();

You should probably document what this actually does.


Source/Core/Core/Core.cpp, line 85 at r1 (raw file):

#endif

namespace BootManager

You can just include the header.


Comments from Reviewable

@leoetlino
Copy link
Member Author

Review status: 0 of 32 files reviewed at latest revision, 2 unresolved discussions, some commit checks failed.


Source/Core/Core/BootManager.h, line 14 at r1 (raw file):

Previously, lioncash (Mat M.) wrote…

You should probably document what this actually does.

Done.

Source/Core/Core/Core.cpp, line 85 at r1 (raw file):

Previously, lioncash (Mat M.) wrote…

You can just include the header.

Done.

Comments from Reviewable

@leoetlino leoetlino changed the title Don't read/store settings directly from/to SYSCONF [WIP] Don't read/store settings directly from/to SYSCONF Oct 8, 2016
Instead of directly reading/storing settings from/to the SYSCONF, we
now store Wii settings to Dolphin's own configuration, and apply them
on boot. This prevents issues with settings not being saved, being
overridden and lost (if the user opens a dialog that writes to the
SYSCONF while a game is running).

This also fixes restoring settings from the config cache after a
graceful shutdown; for some reason, settings were only restored
after a normal shutdown.

Fixes issue 9825 and 9826
@leoetlino leoetlino changed the title [WIP] Don't read/store settings directly from/to SYSCONF Don't read/store settings directly from/to SYSCONF (and fix config restore) Oct 8, 2016
@JMC47
Copy link
Contributor

JMC47 commented Oct 8, 2016

Can we please get some urgent review on this. This is a critical bug that could corrupt people's configurations and lead to things like SyncGPU getting permanently enabled.

@shuffle2
Copy link
Contributor

shuffle2 commented Oct 8, 2016

What about using the sysconf from nand dump scenario?

@leoetlino
Copy link
Member Author

I pushed an update earlier today so that it reads settings from the SYSCONF on startup, so both the NAND dump and existing SYSCONF cases should be handled correctly.

@shuffle2
Copy link
Contributor

shuffle2 commented Oct 8, 2016

why has msghandler.h been included in a lot of otherwise-unchanged files?

@leoetlino
Copy link
Member Author

Indirect includes. They depended on ConfigManager to include SysConf.h to include MsgHandler.h, and removing the SysConf.h include in ConfigManager.h broke everything.

@shuffle2 shuffle2 merged commit c8cb1fa into dolphin-emu:master Oct 9, 2016
@leoetlino leoetlino deleted the sysconf branch October 9, 2016 09:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
4 participants