Changeset 41062 in vbox for trunk/src/VBox/Frontends/VirtualBox
- Timestamp:
- Apr 26, 2012 3:57:29 AM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 77627
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
r41018 r41062 441 441 } 442 442 443 444 QWidget *VBoxGlobal::vmWindow() 445 { 446 if (isVMConsoleProcess()) 447 { 448 if (m_pVirtualMachine) 449 return m_pVirtualMachine->mainWindow(); 450 } 451 return NULL; 452 } 453 454 bool VBoxGlobal::createVirtualMachine(const CSession &session) 455 { 456 if (!m_pVirtualMachine && !session.isNull()) 457 { 458 UIMachine *pVirtualMachine = new UIMachine(&m_pVirtualMachine, session); 459 Assert(pVirtualMachine == m_pVirtualMachine); 460 NOREF(pVirtualMachine); 461 return true; 462 } 463 return false; 443 bool VBoxGlobal::startMachine(const QString &strMachineId) 444 { 445 /* Some restrictions: */ 446 AssertMsg(mValid, ("VBoxGlobal is invalid")); 447 AssertMsg(!m_pVirtualMachine, ("Machine already started")); 448 449 /* Create session: */ 450 CSession session = vboxGlobal().openSession(strMachineId); 451 if (session.isNull()) 452 return false; 453 454 /* Start virtual machine: */ 455 UIMachine *pVirtualMachine = new UIMachine(&m_pVirtualMachine, session); 456 Assert(pVirtualMachine == m_pVirtualMachine); 457 Q_UNUSED(pVirtualMachine); 458 return true; 464 459 } 465 460 … … 467 462 { 468 463 return m_pVirtualMachine; 464 } 465 466 QWidget* VBoxGlobal::vmWindow() 467 { 468 if (isVMConsoleProcess() && m_pVirtualMachine) 469 return m_pVirtualMachine->mainWindow(); 470 return 0; 469 471 } 470 472 … … 2263 2265 2264 2266 return session; 2265 }2266 2267 /**2268 * Starts a machine with the given ID.2269 */2270 bool VBoxGlobal::startMachine(const QString &strId)2271 {2272 AssertReturn(mValid, false);2273 2274 CSession session = vboxGlobal().openSession(strId);2275 if (session.isNull())2276 return false;2277 2278 return createVirtualMachine(session);2279 2267 } 2280 2268 -
trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h
r39968 r41062 142 142 UISelectorWindow &selectorWnd(); 143 143 144 QWidget *vmWindow(); 145 146 bool createVirtualMachine(const CSession &session); 144 /* VM stuff: */ 145 bool startMachine(const QString &strMachineId); 147 146 UIMachine* virtualMachine(); 148 149 /* main window handle storage */ 150 void setMainWindow (QWidget *aMainWindow) { mMainWindow = aMainWindow; } 151 QWidget *mainWindow() const { return mMainWindow; } 147 QWidget* vmWindow(); 148 149 /* Main application window storage: */ 150 void setMainWindow(QWidget *pMainWindow) { mMainWindow = pMainWindow; } 151 QWidget* mainWindow() const { return mMainWindow; } 152 152 153 153 bool is3DAvailable() const { return m3DAvailable; } … … 598 598 CSession openExistingSession(const QString &aId) { return openSession (aId, true); } 599 599 600 bool startMachine(const QString &strId);601 602 600 void startEnumeratingMedia(); 603 601 -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachine.cpp
r38476 r41062 382 382 , m_pVisualState(0) 383 383 { 384 /* Stor ing self: */384 /* Store self pointer: */ 385 385 if (m_ppThis) 386 386 *m_ppThis = this; 387 387 388 /* Create UI Session object: */388 /* Create UI session: */ 389 389 m_pSession = new UISession(this, m_session); 390 390 … … 406 406 /* Save machine settings: */ 407 407 saveMachineSettings(); 408 /* Erase itself pointer: */ 409 *m_ppThis = 0; 410 /* Delete uisession children in backward direction: */ 408 409 /* Delete visual state: */ 411 410 delete m_pVisualState; 412 411 m_pVisualState = 0; 412 413 /* Delete UI session: */ 413 414 delete m_pSession; 414 415 m_pSession = 0; 416 417 /* Free session finally: */ 415 418 m_session.UnlockMachine(); 416 419 m_session.detach(); 420 421 /* Clear self pointer: */ 422 *m_ppThis = 0; 423 417 424 /* Quit application: */ 418 425 QApplication::quit();
Note:
See TracChangeset
for help on using the changeset viewer.