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