#define PRODUCT_VERSION_SCALABLE_SERVER_30 PRODUCT_SCALABLE_SERVER_BRIEF_NAME " 3.0"
#define PRODUCT_VERSION_SCALABLE_SERVER_31 PRODUCT_SCALABLE_SERVER_BRIEF_NAME " 3.5"
#define PRODUCT_VERSION_SCALABLE_SERVER_40 PRODUCT_SCALABLE_SERVER_BRIEF_NAME " 4.x"
+#define PRODUCT_VERSION_SCALABLE_SERVER_5 PRODUCT_SCALABLE_SERVER_BRIEF_NAME " 5.x"
#define PRODUCT_VERSION_WGS_1 PRODUCT_WGS_BRIEF_NAME " 1.x"
#define PRODUCT_VERSION_WGS_2 PRODUCT_WGS_BRIEF_NAME " 2.x"
#define PRODUCT_VERSION_GSX_2 PRODUCT_GSX_BRIEF_NAME " 2.x"
#define PRODUCT_VERSION_WORKSTATION_6 PRODUCT_WORKSTATION_BRIEF_NAME " 6.0"
#define PRODUCT_VERSION_WORKSTATION_65 PRODUCT_WORKSTATION_BRIEF_NAME " 6.5"
#define PRODUCT_VERSION_WORKSTATION_7 PRODUCT_WORKSTATION_BRIEF_NAME " 7.x"
-#define PRODUCT_VERSION_WORKSTATION_80 PRODUCT_WORKSTATION_BRIEF_NAME " 8.0"
+#define PRODUCT_VERSION_WORKSTATION_8 PRODUCT_WORKSTATION_BRIEF_NAME " 8.x"
#define PRODUCT_VERSION_WORKSTATION_ENTERPRISE_1 "ACE 1.x"
#define PRODUCT_VERSION_WORKSTATION_ENTERPRISE_2 "ACE 2.0"
#define PRODUCT_VERSION_WORKSTATION_ENTERPRISE_25 "ACE 2.5"
#define PRODUCT_VERSION_MAC_DESKTOP_1 PRODUCT_MAC_DESKTOP_BRIEF_NAME " 1.1"
#define PRODUCT_VERSION_MAC_DESKTOP_2 PRODUCT_MAC_DESKTOP_BRIEF_NAME " 2.x"
#define PRODUCT_VERSION_MAC_DESKTOP_3 PRODUCT_MAC_DESKTOP_BRIEF_NAME " 3.x"
+#define PRODUCT_VERSION_MAC_DESKTOP_4 PRODUCT_MAC_DESKTOP_BRIEF_NAME " 4.x"
/*
CopyPasteDnDWrapper::OnResetInternal()
{
g_debug("%s: enter\n", __FUNCTION__);
+
+ /*
+ * Reset DnD/Copy/Paste only if vmx said we can. The reason is that
+ * we may also get reset request from vmx when user is taking snapshot
+ * or recording. If there is an ongoing DnD/copy/paste, we should not
+ * reset here. For details please refer to bug 375928.
+ */
+ char *reply = NULL;
+ size_t replyLen;
+ ToolsAppCtx *ctx = GetToolsAppCtx();
+ if (RpcChannel_Send(ctx->rpc, "dnd.is.active",
+ strlen("dnd.is.active"), &reply, &replyLen) &&
+ (1 == atoi(reply))) {
+ g_debug("%s: ignore reset while file transfer is busy.\n", __FUNCTION__);
+ return;
+ }
+
if (IsDnDRegistered()) {
UnregisterDnD();
}
RegisterCP();
}
if (IsDnDEnabled() && !IsDnDRegistered()) {
- /*
- * Reset DnD/Copy/Paste only if vmx said we can. The reason is that
- * we may also get reset request from vmx when user is taking snapshot
- * or recording. If there is an ongoing DnD/copy/paste, we should not
- * reset here. For details please refer to bug 375928.
- */
-
- char *reply = NULL;
- size_t replyLen;
- ToolsAppCtx *ctx = GetToolsAppCtx();
- if (!RpcChannel_Send(ctx->rpc, "dnd.is.active",
- strlen("dnd.is.active"), &reply, &replyLen) ||
- (0 == atoi(reply))) {
- RegisterDnD();
- }
+ RegisterDnD();
}
if (!IsDnDRegistered() || !IsCPRegistered()) {
g_debug("%s: unable to reset fully DnD %d CP %d!\n",
{
g_debug("%s: enter\n", __FUNCTION__);
CPClipboard_Destroy(&mClipboard);
+ if (mBlockAdded) {
+ g_debug("%s: removing block for %s\n", __FUNCTION__, mHGStagingDir.c_str());
+ /* We need to make sure block subsystem has not been shut off. */
+ if (DnD_BlockIsReady(mBlockCtrl)) {
+ mBlockCtrl->RemoveBlock(mBlockCtrl->fd, mHGStagingDir.c_str());
+ }
+ mBlockAdded = false;
+ }
}
delete m_detWnd;
}
CPClipboard_Destroy(&m_clipboard);
+ CommonResetCB();
}