.hgignore
author David Ludwig <dludwig@pobox.com>
Sat, 29 Nov 2014 10:09:30 -0500
changeset 9247 eddb899239fe
parent 9012 aa058c87737b
child 9507 b1e690e9c5b3
permissions -rw-r--r--
WinRT: bug and data-integrity fixes for SDL_GetPrefPath()

This change does a few things, all with regards to the WinRT implementation of
SDL_GetPrefPath():

1. it fixes a bug whereby SDL_GetPrefPath() did not create the directory it
returned. On other SDL platforms, SDL_GetPrefPath() will create separate
directories for its 'org' and 'app' folders. Without this, attempts to create
files in the pref-path would fail, unless those directories were first created
by the app, or by some other library the app used. This change makes sure
that these directories get created, before SDL_GetPrefPath() returns to its
caller(s).


2. it defaults to having SDL_GetPrefPath() return a WinRT 'Local' folder
on all platforms. Previously, for Windows Store apps, it would have used a
different, 'Roaming' folder. Files in Roaming folders can be automatically,
and synchronized across multiple devices by Windows. This synchronization can
happen while the app runs, with new files being copied into a running app's
pref-path. Unless an app is specifically designed to handle this scenario,
there is a chance that save-data could be overwritten in unwanted or
unexpected ways.

The default is now to use a Local folder, which does not get synchronized, and
which is arguably a bit safer to use. Apps that wish to use Roaming folders
can do so by setting SDL_HINT_WINRT_PREF_PATH_ROOT to "roaming", however it
is recommended that one first read Microsoft's documentation for Roaming
files, a link to which is provided in README-winrt.md.

To preserve older pref-path selection behavior (found in SDL 2.0.3, as well as
many pre-2.0.4 versions of SDL from hg.libsdl.org), which uses a Roaming path
in Windows Store apps, and a Local path in Windows Phone, set
SDL_HINT_WINRT_PREF_PATH_ROOT to "old".

Please note that Roaming paths are not supported on Windows Phone 8.0, due to
limitations in the OS itself. Attempts to use this will fail.
(Windows Phone 8.1 does not have this limitation, however.)


3. It makes SDL_GetPrefPath(), when on Windows Phone 8.0, and when
SDL_HINT_WINRT_PREF_PATH_ROOT is set to "roaming", return NULL, rather than
silently defaulting to a Local path (then switching to a Roaming path if and
when the user upgraded to Windows Phone 8.1).
icculus@4418
     1
syntax:glob
slouken@7232
     2
aclocal.m4
icculus@4418
     3
autom4te*
icculus@4418
     4
config.cache
icculus@4418
     5
config.log
icculus@4418
     6
config.status
icculus@4418
     7
Makefile
icculus@4418
     8
sdl-config
slouken@6250
     9
SDL2.spec
icculus@4418
    10
build
slouken@5318
    11
ewing@4466
    12
# for Xcode
ewing@4466
    13
*.orig
ewing@4466
    14
*.swp
ewing@4466
    15
*.tmp
ewing@4466
    16
*.rej
ewing@4466
    17
*~
ewing@4466
    18
*.o
ewing@4466
    19
*.mode1*
ewing@4466
    20
*.model*
ewing@4466
    21
*.perspective*
ewing@4466
    22
*.perspective*
ewing@4466
    23
*.pbxuser
ewing@4466
    24
(^|/)build($|/)
icculus@4418
    25
.DS_Store
stopiccot@6681
    26
Xcode/SDL/SDL.xcodeproj/xcuserdata
slouken@6859
    27
Xcode/SDL/SDL.xcodeproj/project.xcworkspace
slouken@6859
    28
Xcode/SDLTest/SDLTest.xcodeproj/xcuserdata
slouken@6859
    29
Xcode/SDLTest/SDLTest.xcodeproj/project.xcworkspace
slouken@6859
    30
Xcode-iOS/SDL/SDL.xcodeproj/xcuserdata
slouken@6859
    31
Xcode-iOS/SDL/SDL.xcodeproj/project.xcworkspace
slouken@6859
    32
Xcode-iOS/Demos/Demos.xcodeproj/xcuserdata
slouken@6859
    33
Xcode-iOS/Demos/Demos.xcodeproj/project.xcworkspace
slouken@5318
    34
slouken@5318
    35
# for Visual C++
slouken@5318
    36
Debug
slouken@5318
    37
Release
slouken@5318
    38
*.user
slouken@5318
    39
*.ncb
slouken@5318
    40
*.suo
slouken@7572
    41
*.sdf
slouken@8848
    42
VisualC/tests/loopwave/sample.wav
slouken@8848
    43
VisualC/tests/testautomation/CompareSurfaces0001_Reference.bmp
slouken@8848
    44
VisualC/tests/testautomation/CompareSurfaces0001_TestOutput.bmp
slouken@8848
    45
VisualC/tests/testgamecontroller/axis.bmp
slouken@8848
    46
VisualC/tests/testgamecontroller/button.bmp
slouken@8848
    47
VisualC/tests/testgamecontroller/controllermap.bmp
slouken@8848
    48
VisualC/tests/testoverlay2/moose.dat
slouken@8848
    49
VisualC/tests/testrendertarget/icon.bmp
slouken@8848
    50
VisualC/tests/testrendertarget/sample.bmp
slouken@8848
    51
VisualC/tests/testscale/icon.bmp
slouken@8848
    52
VisualC/tests/testscale/sample.bmp
slouken@8848
    53
VisualC/tests/testsprite2/icon.bmp
slouken@8848
    54
VisualC/visualtest/icon.bmp
slouken@8848
    55
VisualC/visualtest/testquit.actions
slouken@8848
    56
VisualC/visualtest/testquit.config
slouken@8848
    57
VisualC/visualtest/testquit.exe
slouken@8848
    58
VisualC/visualtest/testquit.parameters
slouken@8848
    59
VisualC/visualtest/testsprite2.exe
slouken@8848
    60
VisualC/visualtest/testsprite2_sample.actions
slouken@8848
    61
VisualC/visualtest/testsprite2_sample.config
slouken@8848
    62
VisualC/visualtest/testsprite2_sample.parameters
slouken@5318
    63
slouken@6907
    64
# for Android
slouken@6907
    65
android-project/local.properties
slouken@6907
    66
icculus@4418
    67
sdl.pc
icculus@4418
    68
test/autom4te*
icculus@4418
    69
test/config.cache
icculus@4418
    70
test/config.log
icculus@4418
    71
test/config.status
icculus@4418
    72
test/Makefile
slouken@6250
    73
test/SDL2.dll
icculus@4418
    74
test/checkkeys
icculus@4418
    75
test/loopwave
icculus@9012
    76
test/loopwavequeue
slouken@4862
    77
test/testatomic
slouken@4862
    78
test/testaudioinfo
slouken@6958
    79
test/testautomation
slouken@4862
    80
test/testdraw2
icculus@4418
    81
test/testerror
icculus@4418
    82
test/testfile
slouken@6958
    83
test/testgamecontroller
slouken@4862
    84
test/testgesture
slouken@4862
    85
test/testgl2
slouken@4862
    86
test/testgles
slouken@4862
    87
test/testhaptic
icculus@8935
    88
test/testhittesting
icculus@4418
    89
test/testiconv
slouken@4862
    90
test/testime
slouken@4862
    91
test/testintersections
icculus@4418
    92
test/testjoystick
icculus@4418
    93
test/testkeys
slouken@4862
    94
test/testloadso
icculus@4418
    95
test/testlock
slouken@6658
    96
test/testmessage
slouken@4862
    97
test/testmultiaudio
slouken@6286
    98
test/testnative
icculus@4418
    99
test/testoverlay2
icculus@4418
   100
test/testplatform
slouken@4862
   101
test/testpower
icculus@7667
   102
test/testfilesystem
slouken@6517
   103
test/testrelative
slouken@6517
   104
test/testrendercopyex
slouken@6286
   105
test/testrendertarget
slouken@4862
   106
test/testresample
slouken@5453
   107
test/testrumble
slouken@5318
   108
test/testscale
icculus@4418
   109
test/testsem
slouken@5318
   110
test/testshader
slouken@5318
   111
test/testshape
slouken@4862
   112
test/testsprite2
slouken@4862
   113
test/testspriteminimal
slouken@5318
   114
test/teststreaming
slouken@6286
   115
test/testthread
icculus@4418
   116
test/testtimer
icculus@4418
   117
test/testver
slouken@4862
   118
test/testwm2
icculus@4418
   119
test/torturethread
icculus@4418
   120
test/*.exe
icculus@4418
   121
test/*.dSYM
icculus@8152
   122
buildbot
icculus@8152
   123
test/buildbot