Changeset 3774 in vbox
- Timestamp:
- Jul 23, 2007 9:01:49 AM (17 years ago)
- Location:
- trunk/src/VBox/Devices/VMMDev
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/VMMDev/VBoxDev.cpp
r3772 r3774 26 26 #include <string.h> 27 27 28 #define LOG_GROUP LOG_GROUP_DEV_VMM 29 #include <VBox/log.h> 30 28 31 #include <VBox/VBoxDev.h> 29 32 #include <VBox/VBoxGuest.h> … … 34 37 #include <VBox/vm.h> /* for VM_IS_EMT */ 35 38 36 #define LOG_GROUP LOG_GROUP_DEV_VMM37 #include <VBox/log.h>38 39 #include <iprt/assert.h> 39 40 #include <iprt/time.h> … … 1155 1156 } 1156 1157 1158 case VMMDevReq_GetSeamlessChangeRequest: 1159 { 1160 if (requestHeader->size != sizeof(VMMDevSeamlessChangeRequest)) 1161 { 1162 requestHeader->rc = VERR_INVALID_PARAMETER; 1163 } 1164 else 1165 { 1166 VMMDevSeamlessChangeRequest *seamlessChangeRequest = (VMMDevSeamlessChangeRequest*)requestHeader; 1167 /* just pass on the information */ 1168 Log(("VMMDev: returning seamless change request mode=%d\n", pData->SeamlessMode)); 1169 seamlessChangeRequest->mode = pData->SeamlessMode; 1170 1171 if (seamlessChangeRequest->eventAck == VMMDEV_EVENT_SEAMLESS_MODE_CHANGE_REQUEST) 1172 { 1173 /* Remember which mode the client has queried. */ 1174 pData->lastSeamlessMode = pData->SeamlessMode; 1175 } 1176 1177 requestHeader->rc = VINF_SUCCESS; 1178 } 1179 break; 1180 } 1181 1182 1157 1183 case VMMDevReq_QueryCredentials: 1158 1184 { … … 1563 1589 } 1564 1590 1591 static DECLCALLBACK(int) vmmdevRequestSeamlessChange(PPDMIVMMDEVPORT pInterface, PDMISEAMLESSMODE mode) 1592 { 1593 VMMDevState *pData = IVMMDEVPORT_2_VMMDEVSTATE(pInterface); 1594 1595 /* Verify that the new resolution is different and that guest does not yet know about it. */ 1596 bool fSameMode = (pData->lastSeamlessMode == mode); 1597 1598 Log(("vmmdevRequestSeamlessChange: same=%d. new=%d\n", fSameMode, mode)); 1599 1600 if (!fSameMode) 1601 { 1602 /* we could validate the information here but hey, the guest can do that as well! */ 1603 pData->SeamlessMode = mode; 1604 1605 /* IRQ so the guest knows what's going on */ 1606 VMMDevNotifyGuest (pData, VMMDEV_EVENT_SEAMLESS_MODE_CHANGE_REQUEST); 1607 } 1608 1609 return VINF_SUCCESS; 1610 } 1611 1565 1612 static DECLCALLBACK(int) vmmdevSetCredentials(PPDMIVMMDEVPORT pInterface, const char *pszUsername, 1566 1613 const char *pszPassword, const char *pszDomain, … … 1622 1669 1623 1670 1624 #define VMMDEV_SSM_VERSION 41671 #define VMMDEV_SSM_VERSION 5 1625 1672 1626 1673 /** … … 1845 1892 pData->Port.pfnSetCredentials = vmmdevSetCredentials; 1846 1893 pData->Port.pfnVBVAChange = vmmdevVBVAChange; 1894 pData->Port.pfnRequestSeamlessChange = vmmdevRequestSeamlessChange; 1847 1895 1848 1896 … … 1953 2001 1954 2002 memset (&pData->lastReadDisplayChangeRequest, 0, sizeof (pData->lastReadDisplayChangeRequest)); 2003 2004 /* disable seamless mode */ 2005 2006 pData->lastSeamlessMode = PDM_SEAMLESS_MODE_DISABLED; 1955 2007 1956 2008 /* Clear the event variables. -
trunk/src/VBox/Devices/VMMDev/VMMDevState.h
r3586 r3774 136 136 } credentialsJudge; 137 137 138 /* seamless mode change request */ 139 PDMISEAMLESSMODE lastSeamlessMode, SeamlessMode; 140 138 141 #ifdef TIMESYNC_BACKDOOR 139 142 bool fTimesyncBackdoorLo;
Note:
See TracChangeset
for help on using the changeset viewer.