Age | Commit message (Collapse) | Author |
|
|
|
|
|
Because of how cyrilic transliteration and UTF-32 is handled on
Windows, it was unfortunately possible to get into an infinite
loop of conversions. The string would get converted to UTF-32
when transliterating, but because windows backend conversion
cannot convert from UTF-32, it would use Common::Ustr to convert
it to UTF-8, which would again get converted to UTF-32 when
transliterating and so on.
|
|
SDL_iconv_string() is available even with SDL1
|
|
|
|
|
|
|
|
|
|
UTF-32 is used in transliteration in Common::Encoding, so it is
pretty important encoding and Windows should be the only thing,
that cannot convert it.
|
|
|
|
|
|
|
|
|
|
|
|
Modified from https://www.iconfinder.com/icons/352464/keyboard_icon, which is available under the Creative Commons (Attribution-Share Alike 3.0 Unported) license.
|
|
|
|
Windowed mode never worked correctly and is pointless since the
Switch operating system doesn't have a window manager.
|
|
Fixes Trac#6129
|
|
Windowed mode never worked correctly and is pointless since Vita
operating system doesn't have a window manager.
|
|
|
|
This removes the usage of memset to clear complex structures and replaces
them with constructor methods for the structures which will be executed
when these are instantiated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If user doesn't have a "saves" folder, listing it as a first step of
syncing save files would result in 404 from OneDrive.
OneDriveTokenRefresher handles token-related errors (401), so when it
meets 404, it calls its finishError method. But because there was some
strange behaviour from OneDrive with sending invalid JSON, this method
tries fixing JSON and parsing it again. If it is valid, it calls
non-error method again, and in result we get stack overflow.
In order to fix that, I've added a non-JSON prefix "<irrecoverable>", so
finishError won't be able to parse JSON and thus won't call finishJson
again. Saves syncing callback does check string contents apart from
trying to parse JSON, so it still works and correctly handles the
situation when "saves" directory is missing. But, if needed, code can be
updated to search for the prefix I've added and remove it before parsing
original JSON.
|
|
The warning emitted here was due to debug() call with an empty format
string, so this could have been fixed by replacing this with "%s", "".
However, this change should be better since it avoids the duplication
of the number of file check over several lines and reduces the string
duplication i.e. DRY improvements.
|
|
|
|
For more security, newly connected Storage only gets username/used space
information and is disabled until user manually presses the button.
|
|
Refresh token is now passed as custom HTTP header, not in GET parameter,
to prevent them being written into server logs.
|
|
In PR#1754 we've discussed and decided to ignore hidden (having a name
starting with '.') files while syncing saves or downloading game files.
This commit adds a CloudManager method to test whether file should be
ignored, and this method could be extended later if we need to ignore
some other specific file names.
|
|
- added missing 'd' in "%d" in SavesSyncRequest;
- removed trailing ',' in enum in gui/options.h;
- fixed #endif to have // before USE_LIBCURL in gui/options.h.
|
|
- StorageWizardDialog is removed, along with bmps it was using;
- EditTextWidget now accepts custom font in constructor;
- ScrollContainer scrollbar now jumps to top when content height changes
so it's "overscrolled";
- IndexPageHandler now does not awaits for `code` GET-parameter, as
local webserver is no longer used to connect Storages;
- CloudManager and all corresponding Storages are updated to support
disconnecting and to notify about successful connection.
|
|
Not sure if that's really better, but it was really annoying to
copy-paste `delete a; delete b; return;` in every error-handling
section.
|
|
|