Changeset 54612 in vbox for trunk/src/VBox/Additions/common/VBoxGuest
- Timestamp:
- Mar 3, 2015 9:36:04 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest.cpp
r54609 r54612 1073 1073 { 1074 1074 /* 1075 * Set the fixed event and make sure guest capabilities are cleared. 1075 * Set the fixed event and make sure the host doesn't have any lingering 1076 * the guest capabilities or mouse status bits set. 1076 1077 */ 1077 1078 rc = vbgdResetEventFilterOnHost(pDevExt, pDevExt->fFixedEvents); … … 1081 1082 if (RT_SUCCESS(rc)) 1082 1083 { 1083 /* 1084 * Initialize stuff which may fail without requiring the driver init to fail. 1085 */ 1086 vbgdInitFixateGuestMappings(pDevExt); 1087 vbgdHeartbeatInit(pDevExt); 1088 1089 /* 1090 * Done! 1091 */ 1092 rc = vbgdReportDriverStatus(true /* Driver is active */); 1093 if (RT_FAILURE(rc)) 1094 LogRel(("VbgdCommonInitDevExt: VBoxReportGuestDriverStatus failed, rc=%Rrc\n", rc)); 1095 1096 LogFlowFunc(("VbgdCommonInitDevExt: returns success\n")); 1097 return VINF_SUCCESS; 1084 rc = vbgdResetMouseStatusOnHost(pDevExt); 1085 if (RT_SUCCESS(rc)) 1086 { 1087 /* 1088 * Initialize stuff which may fail without requiring the driver init to fail. 1089 */ 1090 vbgdInitFixateGuestMappings(pDevExt); 1091 vbgdHeartbeatInit(pDevExt); 1092 1093 /* 1094 * Done! 1095 */ 1096 rc = vbgdReportDriverStatus(true /* Driver is active */); 1097 if (RT_FAILURE(rc)) 1098 LogRel(("VbgdCommonInitDevExt: VBoxReportGuestDriverStatus failed, rc=%Rrc\n", rc)); 1099 1100 LogFlowFunc(("VbgdCommonInitDevExt: returns success\n")); 1101 return VINF_SUCCESS; 1102 } 1103 LogRel(("VbgdCommonInitDevExt: failed to clear mouse status: rc=%Rrc\n", rc)); 1098 1104 } 1105 else 1106 LogRel(("VbgdCommonInitDevExt: failed to clear guest capabilities: rc=%Rrc\n", rc)); 1099 1107 } 1100 1101 LogRel(("VbgdCommonInitDevExt: failed to set host flags,rc=%Rrc\n", rc));1108 else 1109 LogRel(("VbgdCommonInitDevExt: failed to set fixed event filter: rc=%Rrc\n", rc)); 1102 1110 } 1103 1111 else 1104 LogRel(("VbgdCommonInitDevExt: VBoxReportGuestInfo failed ,rc=%Rrc\n", rc));1112 LogRel(("VbgdCommonInitDevExt: VBoxReportGuestInfo failed: rc=%Rrc\n", rc)); 1105 1113 VbglGRFree((VMMDevRequestHeader *)pDevExt->pIrqAckEvents); 1106 1114 } 1107 1115 else 1108 LogRel(("VbgdCommonInitDevExt: VBoxGRAlloc failed ,rc=%Rrc\n", rc));1116 LogRel(("VbgdCommonInitDevExt: VBoxGRAlloc failed: rc=%Rrc\n", rc)); 1109 1117 1110 1118 VbglTerminate(); 1111 1119 } 1112 1120 else 1113 LogRel(("VbgdCommonInitDevExt: VbglInit failed ,rc=%Rrc\n", rc));1121 LogRel(("VbgdCommonInitDevExt: VbglInit failed: rc=%Rrc\n", rc)); 1114 1122 1115 1123 rc2 = RTSemFastMutexDestroy(pDevExt->MemBalloon.hMtx); AssertRC(rc2); … … 2809 2817 if (pReq) 2810 2818 { 2811 /* Since VMMDEV_MOUSE_GUEST_NEEDS_HOST_CURSOR is inverted in the session 2812 * capabilities we invert it again here before sending it to the host. */ 2813 pReq->mouseFeatures = pDevExt->MouseStatusTracker.fMask ^ VMMDEV_MOUSE_GUEST_NEEDS_HOST_CURSOR; 2819 pReq->mouseFeatures = pDevExt->MouseStatusTracker.fMask; 2814 2820 if (pReq->mouseFeatures == pDevExt->fMouseStatusHost) 2815 2821 rc = VINF_SUCCESS; … … 2863 2869 if (fFeatures & ~VMMDEV_MOUSE_GUEST_MASK) 2864 2870 return VERR_INVALID_PARAMETER; 2865 2866 /* Since this is more of a negative feature we invert it to get the real2867 * feature (when the guest does not need the host cursor). */2868 fFeatures ^= VMMDEV_MOUSE_GUEST_NEEDS_HOST_CURSOR;2869 2871 2870 2872 return vbgdSetSessionMouseStatus(pDevExt, pSession, fFeatures, ~fFeatures, false /*fSessionTermination*/);
Note:
See TracChangeset
for help on using the changeset viewer.