From: VMware, Inc <> Date: Mon, 26 Jul 2010 19:16:48 +0000 (-0700) Subject: Internal branch sync. Included in this change: X-Git-Tag: 2010.07.25-280253~20 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=65a49b32ec49c5928e88f4e18410089cd2a7f5ab;p=thirdparty%2Fopen-vm-tools.git Internal branch sync. Included in this change: . bump tools version. . changes in shared code that don't affect open-vm-tools functionality. Signed-off-by: Marcelo Vanzin --- diff --git a/open-vm-tools/lib/guestRpc/unity.x b/open-vm-tools/lib/guestRpc/unity.x index f412e481c..fd205b8ac 100644 --- a/open-vm-tools/lib/guestRpc/unity.x +++ b/open-vm-tools/lib/guestRpc/unity.x @@ -40,7 +40,8 @@ enum UnityOptionsVersion { enum UnityFeatures { UNITY_ADD_HIDDEN_WINDOWS_TO_TRACKER = 1, UNITY_INTERLOCK_MINIMIZE_OPERATION = 2, - UNITY_SEND_WINDOW_CONTENTS = 4 + UNITY_SEND_WINDOW_CONTENTS = 4, + UNITY_DISABLE_COMPOSITING_IN_GUEST = 8 }; /* diff --git a/open-vm-tools/lib/include/vm_tools_version.h b/open-vm-tools/lib/include/vm_tools_version.h index 90d89b88e..ef224277a 100644 --- a/open-vm-tools/lib/include/vm_tools_version.h +++ b/open-vm-tools/lib/include/vm_tools_version.h @@ -1004,9 +1004,16 @@ typedef uint32 ToolsVersion; #define TOOLS_VERSION_HOSTED10_UPDATE1_V_MNR 4 #define TOOLS_VERSION_HOSTED10_UPDATE1_V_BASE 3 -#define TOOLS_VERSION_CURRENT TOOLS_VERSION_HOSTED10_UPDATE1 -#define TOOLS_VERSION_CURRENT_STR TOOLS_VERSION_TO_STR(TOOLS_VERSION_HOSTED10_UPDATE1) -#define TOOLS_VERSION_CURRENT_CSV TOOLS_VERSION_TO_CSV(TOOLS_VERSION_HOSTED10_UPDATE1) +#ifndef RC_INVOKED +#define TOOLS_VERSION_HOSTED10_UPDATE2 TOOLS_VERSION_TO_UINT(TOOLS_VERSION_HOSTED10_UPDATE2_V) +#endif /* RC_INVOKED */ +#define TOOLS_VERSION_HOSTED10_UPDATE2_V_MJR 8 +#define TOOLS_VERSION_HOSTED10_UPDATE2_V_MNR 4 +#define TOOLS_VERSION_HOSTED10_UPDATE2_V_BASE 4 + +#define TOOLS_VERSION_CURRENT TOOLS_VERSION_HOSTED10_UPDATE2 +#define TOOLS_VERSION_CURRENT_STR TOOLS_VERSION_TO_STR(TOOLS_VERSION_HOSTED10_UPDATE2) +#define TOOLS_VERSION_CURRENT_CSV TOOLS_VERSION_TO_CSV(TOOLS_VERSION_HOSTED10_UPDATE2) /* * The extended Tools version is the current Tools version with the diff --git a/open-vm-tools/lib/unity/unity.c b/open-vm-tools/lib/unity/unity.c index c520f748a..f1cf4bd3e 100644 --- a/open-vm-tools/lib/unity/unity.c +++ b/open-vm-tools/lib/unity/unity.c @@ -82,6 +82,17 @@ static void UnitySetAddHiddenWindows(Bool enabled); static void UnitySetInterlockMinimizeOperation(Bool enabled); static void UnitySetSendWindowContents(Bool enabled); static void FireEnterUnitySignal(ToolsAppCtx *ctx, gboolean entered); +static void UnitySetDisableCompositing(Bool disabled); + +/* + * Wrapper function for the "unity.set.options" RPC. + */ +RpcInRet UnityTcloSetUnityOptions(RpcInData *data); + +/* + * Wrapper function for the "unity.window.contents.request" RPC. + */ +RpcInRet UnityTcloRequestWindowContents(RpcInData *data); /* Sends the unity.window.contents.start RPC to the host. */ Bool UnitySendWindowContentsStart(UnityWindowId window, @@ -148,6 +159,7 @@ static UnityFeatureSetter unityFeatureTable[] = { { UNITY_ADD_HIDDEN_WINDOWS_TO_TRACKER, UnitySetAddHiddenWindows }, { UNITY_INTERLOCK_MINIMIZE_OPERATION, UnitySetInterlockMinimizeOperation }, { UNITY_SEND_WINDOW_CONTENTS, UnitySetSendWindowContents }, + { UNITY_DISABLE_COMPOSITING_IN_GUEST, UnitySetDisableCompositing }, /* Add more Unity Feature Setters above this. */ {0, NULL} }; @@ -2620,6 +2632,42 @@ UnitySetSendWindowContents(Bool enabled) } +/* + *---------------------------------------------------------------------------- + * + * UnitySetDisableCompositing -- + * + * Set (or unset) whether the compositing features of the guest window + * manager should be disabled. + * + * Results: + * None. + * + * Side effects: + * None. + * + *---------------------------------------------------------------------------- + */ + +void +UnitySetDisableCompositing(Bool disabled) +{ + /* + * Does the host wish us to disable the compositing features of the guest window + * manager. The flag only takes effect on subsequent 'enter unity' calls where + * it is checked and used to disable compositing in the platform layer. + */ + if (disabled) { + Debug("%s: Window compositing will be disabled in the guest window manager.\n", + __FUNCTION__); + } else { + Debug("%s: Window compositing will be enabled in the guest window manager.\n", + __FUNCTION__); + } + UnityPlatformSetDisableCompositing(unity.up, disabled); +} + + /* *------------------------------------------------------------------------------ * diff --git a/open-vm-tools/lib/unity/unityPlatform.h b/open-vm-tools/lib/unity/unityPlatform.h index 2a36bd3a6..377d973ab 100644 --- a/open-vm-tools/lib/unity/unityPlatform.h +++ b/open-vm-tools/lib/unity/unityPlatform.h @@ -172,6 +172,8 @@ Bool UnitySendWindowContents(UnityWindowId windowID, const char *imageData, uint32 imageLength); +void UnityPlatformSetDisableCompositing(UnityPlatform *up, Bool disabled); + #ifdef __cplusplus }; #endif // __cplusplus diff --git a/open-vm-tools/lib/unity/unityPlatformX11.c b/open-vm-tools/lib/unity/unityPlatformX11.c index 1e024d2c3..b191e05f7 100644 --- a/open-vm-tools/lib/unity/unityPlatformX11.c +++ b/open-vm-tools/lib/unity/unityPlatformX11.c @@ -3200,6 +3200,30 @@ UnityPlatformWillRemoveWindow(UnityPlatform *up, // IN } +/* + *----------------------------------------------------------------------------- + * + * UnityPlatformSetDisableCompositing -- + * + * Disable (or Enable) the compositing features of the window manager the + * next time Unity starts. + * + * Results: + * None. + * + * Side effects: + * None. + * + *------------------------------------------------------------------------------ + */ + +void UnityPlatformSetDisableCompositing(UnityPlatform *up, // IN + Bool disabled) // IN +{ + ASSERT(up); +} + + /* ****************************************************************************** * Begin file-scope functions.