diff --git a/patches/advapi32-RegLoadAppKey/0001-advapi32-Add-RegLoadAppKeyA-RegLoadAppKeyW-stubs.patch b/patches/advapi32-RegLoadAppKey/0001-advapi32-Add-RegLoadAppKeyA-RegLoadAppKeyW-stubs.patch deleted file mode 100644 index 7756128b..00000000 --- a/patches/advapi32-RegLoadAppKey/0001-advapi32-Add-RegLoadAppKeyA-RegLoadAppKeyW-stubs.patch +++ /dev/null @@ -1,125 +0,0 @@ -From 2b29014573fcb38388dd82e33fa16f67b1a43a8c Mon Sep 17 00:00:00 2001 -From: Austin English -Date: Sun, 23 Oct 2016 16:15:45 -0500 -Subject: [PATCH] advapi32: Add RegLoadAppKeyA/RegLoadAppKeyW stubs - -Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=41591 -Signed-off-by: Austin English ---- - dlls/advapi32/advapi32.spec | 4 ++-- - dlls/advapi32/registry.c | 24 ++++++++++++++++++++++ - .../api-ms-win-core-registry-l1-1-0.spec | 4 ++-- - .../api-ms-win-downlevel-advapi32-l1-1-0.spec | 4 ++-- - dlls/kernelbase/kernelbase.spec | 4 ++-- - include/winreg.h | 3 +++ - 6 files changed, 35 insertions(+), 8 deletions(-) - -diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec -index e870a5d..042a523 100644 ---- a/dlls/advapi32/advapi32.spec -+++ b/dlls/advapi32/advapi32.spec -@@ -648,8 +648,8 @@ - @ stdcall RegGetKeySecurity(long long ptr ptr) - @ stdcall RegGetValueA(long str str long ptr ptr ptr) - @ stdcall RegGetValueW(long wstr wstr long ptr ptr ptr) --# @ stub RegLoadAppKeyA --# @ stub RegLoadAppKeyW -+@ stdcall RegLoadAppKeyA(str ptr long long long) -+@ stdcall RegLoadAppKeyW(wstr ptr long long long) - @ stdcall RegLoadKeyA(long str str) - @ stdcall RegLoadKeyW(long wstr wstr) - @ stdcall RegLoadMUIStringA(long str str long ptr long str) -diff --git a/dlls/advapi32/registry.c b/dlls/advapi32/registry.c -index 3018372..55df6de 100644 ---- a/dlls/advapi32/registry.c -+++ b/dlls/advapi32/registry.c -@@ -3513,3 +3513,27 @@ LONG WINAPI RegDisableReflectionKey(HKEY base) - FIXME("%p: stub\n", base); - return ERROR_SUCCESS; - } -+ -+/****************************************************************************** -+ * RegLoadAppKeyA [ADVAPI32.@] -+ * -+ */ -+LSTATUS WINAPI RegLoadAppKeyA(const char *file, HKEY *result, REGSAM sam, DWORD options, DWORD reserved) -+{ -+ FIXME("%s %p %u %u %u: stub\n", wine_dbgstr_a(file), result, sam, options, reserved); -+ -+ *result = (HKEY)0xbeefcafe; -+ return ERROR_SUCCESS; -+} -+ -+/****************************************************************************** -+ * RegLoadAppKeyW [ADVAPI32.@] -+ * -+ */ -+LSTATUS WINAPI RegLoadAppKeyW(const WCHAR *file, HKEY *result, REGSAM sam, DWORD options, DWORD reserved) -+{ -+ FIXME("%s %p %u %u %u: stub\n", wine_dbgstr_w(file), result, sam, options, reserved); -+ -+ *result = (HKEY)0xbeefcafe; -+ return ERROR_SUCCESS; -+} -diff --git a/dlls/api-ms-win-core-registry-l1-1-0/api-ms-win-core-registry-l1-1-0.spec b/dlls/api-ms-win-core-registry-l1-1-0/api-ms-win-core-registry-l1-1-0.spec -index 7a48e3b..f81f027 100644 ---- a/dlls/api-ms-win-core-registry-l1-1-0/api-ms-win-core-registry-l1-1-0.spec -+++ b/dlls/api-ms-win-core-registry-l1-1-0/api-ms-win-core-registry-l1-1-0.spec -@@ -17,8 +17,8 @@ - @ stdcall RegGetKeySecurity(long long ptr ptr) advapi32.RegGetKeySecurity - @ stdcall RegGetValueA(long str str long ptr ptr ptr) advapi32.RegGetValueA - @ stdcall RegGetValueW(long wstr wstr long ptr ptr ptr) advapi32.RegGetValueW --@ stub RegLoadAppKeyA --@ stub RegLoadAppKeyW -+@ stdcall RegLoadAppKeyA(str ptr long long long) advapi32.RegLoadAppKeyA -+@ stdcall RegLoadAppKeyW(wstr ptr long long long) advapi32.RegLoadAppKeyW - @ stdcall RegLoadKeyA(long str str) advapi32.RegLoadKeyA - @ stdcall RegLoadKeyW(long wstr wstr) advapi32.RegLoadKeyW - @ stdcall RegLoadMUIStringA(long str str long ptr long str) advapi32.RegLoadMUIStringA -diff --git a/dlls/api-ms-win-downlevel-advapi32-l1-1-0/api-ms-win-downlevel-advapi32-l1-1-0.spec b/dlls/api-ms-win-downlevel-advapi32-l1-1-0/api-ms-win-downlevel-advapi32-l1-1-0.spec -index 5bdad41..b2dcc17 100644 ---- a/dlls/api-ms-win-downlevel-advapi32-l1-1-0/api-ms-win-downlevel-advapi32-l1-1-0.spec -+++ b/dlls/api-ms-win-downlevel-advapi32-l1-1-0/api-ms-win-downlevel-advapi32-l1-1-0.spec -@@ -102,8 +102,8 @@ - @ stdcall RegGetKeySecurity(long long ptr ptr) advapi32.RegGetKeySecurity - @ stdcall RegGetValueA(long str str long ptr ptr ptr) advapi32.RegGetValueA - @ stdcall RegGetValueW(long wstr wstr long ptr ptr ptr) advapi32.RegGetValueW --@ stub RegLoadAppKeyA --@ stub RegLoadAppKeyW -+@ stdcall RegLoadAppKeyA(str ptr long long long) advapi32.RegLoadAppKeyA -+@ stdcall RegLoadAppKeyW(wstr ptr long long long) advapi32.RegLoadAppKeyW - @ stdcall RegLoadKeyA(long str str) advapi32.RegLoadKeyA - @ stdcall RegLoadKeyW(long wstr wstr) advapi32.RegLoadKeyW - @ stdcall RegLoadMUIStringA(long str str long ptr long str) advapi32.RegLoadMUIStringA -diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec -index 286dae0..c114622 100644 ---- a/dlls/kernelbase/kernelbase.spec -+++ b/dlls/kernelbase/kernelbase.spec -@@ -1288,8 +1288,8 @@ - # @ stub RegKrnResetAppKeyLoaded - # @ stub RegKrnSetDllHasThreadStateGlobal - # @ stub RegKrnSetTermsrvRegistryExtensionFlags --# @ stub RegLoadAppKeyA --# @ stub RegLoadAppKeyW -+@ stdcall RegLoadAppKeyA(str ptr long long long) advapi32.RegLoadAppKeyA -+@ stdcall RegLoadAppKeyW(wstr ptr long long long) advapi32.RegLoadAppKeyW - @ stdcall -private RegLoadKeyA(long str str) kernel32.RegLoadKeyA - @ stdcall -private RegLoadKeyW(long wstr wstr) kernel32.RegLoadKeyW - @ stdcall -private RegLoadMUIStringA(long str str long ptr long str) kernel32.RegLoadMUIStringA -diff --git a/include/winreg.h b/include/winreg.h -index 51e9f02..5656eec 100644 ---- a/include/winreg.h -+++ b/include/winreg.h -@@ -133,6 +133,9 @@ WINADVAPI LSTATUS WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY - WINADVAPI LSTATUS WINAPI RegGetValueA(HKEY,LPCSTR,LPCSTR,DWORD,LPDWORD,PVOID,LPDWORD); - WINADVAPI LSTATUS WINAPI RegGetValueW(HKEY,LPCWSTR,LPCWSTR,DWORD,LPDWORD,PVOID,LPDWORD); - #define RegGetValue WINELIB_NAME_AW(RegGetValue) -+WINADVAPI LSTATUS WINAPI RegLoadAppKeyA(const char*,HKEY*,REGSAM,DWORD,DWORD); -+WINADVAPI LSTATUS WINAPI RegLoadAppKeyW(const WCHAR*,HKEY*,REGSAM,DWORD,DWORD); -+#define RegLoadAppKey WINELIB_NAME_AW(RegLoadAppKey) - WINADVAPI LSTATUS WINAPI RegLoadKeyA(HKEY,LPCSTR,LPCSTR); - WINADVAPI LSTATUS WINAPI RegLoadKeyW(HKEY,LPCWSTR,LPCWSTR); - #define RegLoadKey WINELIB_NAME_AW(RegLoadKey) --- -1.9.1 - diff --git a/patches/advapi32-RegLoadAppKey/definition b/patches/advapi32-RegLoadAppKey/definition deleted file mode 100644 index ce5f3326..00000000 --- a/patches/advapi32-RegLoadAppKey/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: [41591] advapi32: Add RegLoadAppKeyA/RegLoadAppKeyW stubs diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index d84232f4..3bce00a6 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "3e61c7127ed7eb764a8b308fd8897cbc26a93a4a" + echo "42683dd159385ed2f83fa6d9a8b73ed8b64e04e2" } # Show version information @@ -89,7 +89,6 @@ patch_enable_all () enable_advapi32_CreateRestrictedToken="$1" enable_advapi32_LsaLookupPrivilegeName="$1" enable_advapi32_LsaLookupSids="$1" - enable_advapi32_RegLoadAppKey="$1" enable_advapi32_SetSecurityInfo="$1" enable_advapi32_Token_Integrity_Level="$1" enable_api_ms_win_Stub_DLLs="$1" @@ -417,9 +416,6 @@ patch_enable () advapi32-LsaLookupSids) enable_advapi32_LsaLookupSids="$2" ;; - advapi32-RegLoadAppKey) - enable_advapi32_RegLoadAppKey="$2" - ;; advapi32-SetSecurityInfo) enable_advapi32_SetSecurityInfo="$2" ;; @@ -2307,23 +2303,6 @@ if test "$enable_advapi32_LsaLookupSids" -eq 1; then ) >> "$patchlist" fi -# Patchset advapi32-RegLoadAppKey -# | -# | This patchset fixes the following Wine bugs: -# | * [#41591] advapi32: Add RegLoadAppKeyA/RegLoadAppKeyW stubs -# | -# | Modified files: -# | * dlls/advapi32/advapi32.spec, dlls/advapi32/registry.c, dlls/api-ms-win-core-registry-l1-1-0/api-ms-win-core- -# | registry-l1-1-0.spec, dlls/api-ms-win-downlevel-advapi32-l1-1-0/api-ms-win-downlevel-advapi32-l1-1-0.spec, -# | dlls/kernelbase/kernelbase.spec, include/winreg.h -# | -if test "$enable_advapi32_RegLoadAppKey" -eq 1; then - patch_apply advapi32-RegLoadAppKey/0001-advapi32-Add-RegLoadAppKeyA-RegLoadAppKeyW-stubs.patch - ( - printf '%s\n' '+ { "Austin English", "advapi32: Add RegLoadAppKeyA/RegLoadAppKeyW stubs.", 1 },'; - ) >> "$patchlist" -fi - # Patchset advapi32-SetSecurityInfo # | # | This patchset fixes the following Wine bugs: @@ -6138,15 +6117,13 @@ fi # | # | Modified files: # | * configure, configure.ac, dlls/uianimation/Makefile.in, dlls/uianimation/main.c, dlls/uianimation/uianimation.spec, -# | dlls/uianimation/uianimation_typelib.idl, include/uianimation.idl +# | dlls/uianimation/uianimation_typelib.idl # | if test "$enable_uianimation_stubs" -eq 1; then - patch_apply uianimation-stubs/0001-uianimation.idl-Add-more-interfaces.patch patch_apply uianimation-stubs/0002-uianimation-Add-stub-dll.patch patch_apply uianimation-stubs/0003-uianimation-Implement-IUIAnimationManager-CreateStor.patch patch_apply uianimation-stubs/0004-uianimation-Implement-IUIAnimationManager-CreateAnim.patch ( - printf '%s\n' '+ { "Louis Lenders", "uianimation.idl: Add more interfaces.", 1 },'; printf '%s\n' '+ { "Louis Lenders", "uianimation: Add stub dll.", 1 },'; printf '%s\n' '+ { "Louis Lenders", "uianimation: Implement IUIAnimationManager CreateStoryboard.", 1 },'; printf '%s\n' '+ { "Louis Lenders", "uianimation: Implement IUIAnimationManager CreateAnimationVariable.", 1 },'; diff --git a/patches/uianimation-stubs/0001-uianimation.idl-Add-more-interfaces.patch b/patches/uianimation-stubs/0001-uianimation.idl-Add-more-interfaces.patch deleted file mode 100644 index 411ceaf5..00000000 --- a/patches/uianimation-stubs/0001-uianimation.idl-Add-more-interfaces.patch +++ /dev/null @@ -1,318 +0,0 @@ -From e42a57bc5ee1a09cfa7ad1fa672a0d3b565c1424 Mon Sep 17 00:00:00 2001 -From: Louis Lenders -Date: Thu, 7 Jun 2018 11:52:54 +0200 -Subject: [PATCH] uianimation.idl: Add more interfaces - -Signed-off-by: Louis Lenders ---- - include/uianimation.idl | 271 +++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 270 insertions(+), 1 deletion(-) - -diff --git a/include/uianimation.idl b/include/uianimation.idl -index 6c026a6..54bc490 100644 ---- a/include/uianimation.idl -+++ b/include/uianimation.idl -@@ -20,6 +20,13 @@ import "unknwn.idl"; - - interface IUIAnimationStoryboard; - interface IUIAnimationVariable; -+interface IUIAnimationManager; -+interface IUIAnimationPriorityComparison; -+interface IUIAnimationTransitionFactory; -+interface IUIAnimationInterpolator; -+interface IUIAnimationManagerEventHandler; -+interface IUIAnimationTransition; -+interface IUIAnimationTransitionLibrary; - - typedef DOUBLE UI_ANIMATION_SECONDS; - typedef struct { int _; } *UI_ANIMATION_KEYFRAME; -@@ -76,6 +83,34 @@ typedef enum - UI_ANIMATION_IDLE_BEHAVIOR_DISABLE, - } UI_ANIMATION_IDLE_BEHAVIOR; - -+typedef [v1_enum] enum -+{ -+ UI_ANIMATION_MODE_DISABLED, -+ UI_ANIMATION_MODE_SYSTEM_DEFAULT, -+ UI_ANIMATION_MODE_ENABLED -+} UI_ANIMATION_MODE; -+ -+typedef [v1_enum] enum -+{ -+ UI_ANIMATION_PRIORITY_EFFECT_FAILURE, -+ UI_ANIMATION_PRIORITY_EFFECT_DELAY -+} UI_ANIMATION_PRIORITY_EFFECT; -+ -+typedef [v1_enum] enum -+{ -+ UI_ANIMATION_DEPENDENCY_NONE = 0, -+ UI_ANIMATION_DEPENDENCY_INTERMEDIATE_VALUES = 0x1, -+ UI_ANIMATION_DEPENDENCY_FINAL_VALUE = 0x2, -+ UI_ANIMATION_DEPENDENCY_FINAL_VELOCITY = 0x4, -+ UI_ANIMATION_DEPENDENCY_DURATION = 0x8 -+} UI_ANIMATION_DEPENDENCIES; -+ -+typedef [v1_enum] enum -+{ -+ UI_ANIMATION_SLOPE_INCREASING, -+ UI_ANIMATION_SLOPE_DECREASING -+} UI_ANIMATION_SLOPE; -+ - [ - local, - object, -@@ -335,16 +370,250 @@ interface IUIAnimationTimer : IUnknown - } - - [ -+ local, -+ object, -+ uuid(9169896c-ac8d-4e7d-94e5-67fa4dc2f2e8), -+ pointer_default(unique) -+] -+interface IUIAnimationManager : IUnknown -+{ -+ HRESULT CreateAnimationVariable( -+ [in] UI_ANIMATION_SECONDS initialvalue, -+ [out, retval] IUIAnimationVariable **variable); -+ -+ HRESULT ScheduleTransition( -+ [in] IUIAnimationVariable *variable, -+ [in] IUIAnimationTransition *transition, -+ [in] UI_ANIMATION_SECONDS timenow); -+ -+ HRESULT CreateStoryboard( -+ [out, retval] IUIAnimationStoryboard **storyboard); -+ -+ HRESULT FinishAllStoryboards( -+ [in] UI_ANIMATION_SECONDS deadline); -+ -+ HRESULT AbandonAllStoryboards(); -+ -+ HRESULT Update( -+ [in] UI_ANIMATION_SECONDS timenow, -+ [out, defaultvalue(0)] UI_ANIMATION_UPDATE_RESULT *updateresult); -+ -+ HRESULT GetVariableFromTag( -+ [in] IUnknown * object, -+ [in] UINT32 id, -+ [out, retval] IUIAnimationVariable **variable); -+ -+ HRESULT GetStoryboardFromTag( -+ [in] IUnknown * object, -+ [in] UINT32 id, -+ [out, retval] IUIAnimationStoryboard **storyboard); -+ -+ HRESULT GetStatus( -+ [out, retval] UI_ANIMATION_MANAGER_STATUS *status); -+ -+ HRESULT SetAnimationMode( -+ [in] UI_ANIMATION_MODE mode); -+ -+ HRESULT Pause(); -+ -+ HRESULT Resume(); -+ -+ HRESULT SetManagerEventHandler( -+ [in] IUIAnimationManagerEventHandler *handler); -+ -+ HRESULT SetCancelPriorityComparison( -+ [in] IUIAnimationPriorityComparison *comparison); -+ -+ HRESULT SetTrimPriorityComparison( -+ [in] IUIAnimationPriorityComparison *comparison); -+ -+ HRESULT SetCompressPriorityComparison( -+ [in] IUIAnimationPriorityComparison *comparison); -+ -+ HRESULT SetConcludePriorityComparison( -+ [in] IUIAnimationPriorityComparison *comparison); -+ -+ HRESULT SetDefaultLongestAcceptableDelay( -+ [in] UI_ANIMATION_SECONDS delay); -+ -+ HRESULT Shutdown(); -+} -+ -+[ -+ local, -+ object, -+ uuid(83fa9b74-5f86-4618-bc6a-a2fac19b3f44), -+ pointer_default(unique) -+] -+interface IUIAnimationPriorityComparison : IUnknown -+{ -+ HRESULT HasPriority( -+ [in] IUIAnimationStoryboard *scheduledboard, -+ [in] IUIAnimationStoryboard *newboard, -+ [in] UI_ANIMATION_PRIORITY_EFFECT effect); -+} -+ -+[ -+ local, -+ object, -+ uuid(fcd91e03-3e3b-45ad-bbb1-6dfc8153743d), -+ pointer_default(unique) -+] -+interface IUIAnimationTransitionFactory : IUnknown -+{ -+ HRESULT CreateTransition( -+ [in] IUIAnimationInterpolator *interpolator, -+ [out, retval] IUIAnimationTransition **transition); -+} -+ -+[ -+ local, -+ object, -+ uuid(7815cbba-ddf7-478c-a46c-7b6c738b7978), -+ pointer_default(unique) -+] -+interface IUIAnimationInterpolator : IUnknown -+{ -+ HRESULT SetInitialValueAndVelocity( -+ [in] double initialvalue, -+ [in] double initialvelocity); -+ -+ HRESULT SetDuration( -+ [in] UI_ANIMATION_SECONDS duration); -+ -+ HRESULT GetDuration( -+ [out, retval] UI_ANIMATION_SECONDS *duration); -+ -+ HRESULT GetFinalValue( -+ [out, retval] double *value); -+ -+ HRESULT InterpolateValue( -+ [in] UI_ANIMATION_SECONDS offset, -+ [out, retval] double *value); -+ -+ HRESULT InterpolateVelocity( -+ [in] UI_ANIMATION_SECONDS offset, -+ [out, retval] double *velocity); -+ -+ HRESULT GetDependencies( -+ [out] UI_ANIMATION_DEPENDENCIES *initialvaluedependencies, -+ [out] UI_ANIMATION_DEPENDENCIES *initialvelocitydependencies, -+ [out] UI_ANIMATION_DEPENDENCIES *durationdependencies); -+} -+ -+[ -+ local, -+ object, -+ uuid(ca5a14b1-d24f-48b8-8fe4-c78169ba954e), -+ pointer_default(unique) -+] -+interface IUIAnimationTransitionLibrary : IUnknown -+{ -+ HRESULT CreateInstantaneousTransition( -+ [in] double finalvalue, -+ [out, retval] IUIAnimationTransition **transition); -+ -+ HRESULT CreateConstantTransition( -+ [in] UI_ANIMATION_SECONDS duration, -+ [out, retval] IUIAnimationTransition **transition); -+ -+ HRESULT CreateDiscreteTransition( -+ [in] UI_ANIMATION_SECONDS delay, -+ [in] double finalvalue, -+ [in] UI_ANIMATION_SECONDS hold, -+ [out, retval] IUIAnimationTransition **transition); -+ -+ HRESULT CreateLinearTransition( -+ [in] UI_ANIMATION_SECONDS duration, -+ [in] double finalvalue, -+ [out, retval] IUIAnimationTransition **transition); -+ -+ HRESULT CreateLinearTransitionFromSpeed( -+ [in] double speed, -+ [in] double finalvalue, -+ [out, retval] IUIAnimationTransition **transition); -+ -+ HRESULT CreateSinusoidalTransitionFromVelocity( -+ [in] UI_ANIMATION_SECONDS duration, -+ [in] UI_ANIMATION_SECONDS period, -+ [out, retval] IUIAnimationTransition **transition); -+ -+ HRESULT CreateSinusoidalTransitionFromRange( -+ [in] UI_ANIMATION_SECONDS duration, -+ [in] double minimumvalue, -+ [in] double maximumvalue, -+ [in] UI_ANIMATION_SECONDS period, -+ [in] UI_ANIMATION_SLOPE slope, -+ [out, retval] IUIAnimationTransition **transition); -+ -+ HRESULT CreateAccelerateDecelerateTransition( -+ [in] UI_ANIMATION_SECONDS duration, -+ [in] double finalvalue, -+ [in] double accelerationratio, -+ [in] double decelerationratio, -+ [out, retval] IUIAnimationTransition **transition); -+ -+ HRESULT CreateReversalTransition( -+ [in] UI_ANIMATION_SECONDS duration, -+ [out, retval] IUIAnimationTransition **transition); -+ -+ HRESULT CreateCubicTransition( -+ [in] UI_ANIMATION_SECONDS duration, -+ [in] double finalvalue, -+ [in] double finalvelocity, -+ [out, retval] IUIAnimationTransition **transition); -+ -+ HRESULT CreateSmoothStopTransition( -+ [in] UI_ANIMATION_SECONDS maximumduration, -+ [in] double finalvalue, -+ [out, retval] IUIAnimationTransition **transition); -+ -+ HRESULT CreateParabolicTransitionFromAcceleration( -+ [in] UI_ANIMATION_SECONDS finalvalue, -+ [in] double finalvelocity, -+ [in] double acceleration, -+ [out, retval] IUIAnimationTransition **transition); -+} -+ -+[ - uuid(44ca24db-1a92-4149-bab5-fb14d64b401e), - version(1.0) - ] - library UIAnimation - { - [ -- uuid(bfcd4a0c-06b6-4384-b768-0daa792c380e) -+ uuid(bfcd4a0c-06b6-4384-b768-0daa792c380e), -+ threading(both) - ] - coclass UIAnimationTimer - { - [default] interface IUIAnimationTimer; - } -+ -+ [ -+ uuid(4c1fc63a-695c-47e8-a339-1a194be3d0b8), -+ threading(both) -+ ] -+ coclass UIAnimationManager -+ { -+ [default] interface IUIAnimationManager; -+ } -+ -+ [ -+ uuid(8a9b1cdd-fcd7-419c-8b44-42fd17db1887), -+ threading(both) -+ ] -+ coclass UIAnimationTransitionFactory -+ { -+ [default] interface IUIAnimationTransitionFactory; -+ } -+ -+ [ -+ uuid(1d6322ad-aa85-4ef5-a828-86d71067d145), -+ threading(both) -+ ] -+ coclass UIAnimationTransitionLibrary -+ { -+ [default] interface IUIAnimationTransitionLibrary; -+ } - } --- -1.9.1 -