Changeset 100606 in vbox for trunk/src/VBox/Main/src-client
- Timestamp:
- Jul 17, 2023 4:32:44 PM (21 months ago)
- svn:sync-xref-src-repo-rev:
- 158436
- Location:
- trunk/src/VBox/Main/src-client
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/src-client/ConsoleImpl.cpp
r100521 r100606 90 90 #ifdef VBOX_WITH_VIRT_ARMV8 91 91 # include "ResourceStoreImpl.h" 92 #endif 93 #ifdef VBOX_WITH_SHARED_CLIPBOARD 94 # include "GuestShClPrivate.h" 92 95 #endif 93 96 #include "StringifyEnums.h" … … 5653 5656 alock.release(); 5654 5657 ::FireCPUExecutionCapChangedEvent(mEventSource, aExecutionCap); 5658 } 5659 5660 LogFlowThisFunc(("Leaving hrc=%#x\n", hrc)); 5661 return hrc; 5662 } 5663 5664 /** 5665 * Called by IInternalSessionControl::OnClipboardError(). 5666 * 5667 * @note Locks this object for writing. 5668 */ 5669 HRESULT Console::i_onClipboardError(const Utf8Str &aId, const Utf8Str &aErrMsg, LONG aRc) 5670 { 5671 LogFlowThisFunc(("\n")); 5672 5673 AutoCaller autoCaller(this); 5674 AssertComRCReturnRC(autoCaller.hrc()); 5675 5676 AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS); 5677 5678 HRESULT hrc = S_OK; 5679 5680 /* don't trigger the drag and drop mode change if the VM isn't running */ 5681 SafeVMPtrQuiet ptrVM(this); 5682 if (ptrVM.isOk()) 5683 { 5684 if ( mMachineState == MachineState_Running 5685 || mMachineState == MachineState_Teleporting 5686 || mMachineState == MachineState_LiveSnapshotting) 5687 { 5688 } 5689 else 5690 hrc = i_setInvalidMachineStateError(); 5691 ptrVM.release(); 5692 } 5693 5694 /* notify console callbacks on success */ 5695 if (SUCCEEDED(hrc)) 5696 { 5697 alock.release(); 5698 ::FireClipboardErrorEvent(mEventSource, aId, aErrMsg, aRc); 5655 5699 } 5656 5700 … … 8945 8989 alock.release(); 8946 8990 8947 # ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS 8948 /** @todo Deregister area callbacks? */ 8949 # endif 8991 # ifdef VBOX_WITH_SHARED_CLIPBOARD 8992 if (m_hHgcmSvcExtShCl) 8993 { 8994 HGCMHostUnregisterServiceExtension(m_hHgcmSvcExtShCl); 8995 m_hHgcmSvcExtShCl = NULL; 8996 } 8997 GuestShCl::destroyInstance(); 8998 #endif 8999 8950 9000 # ifdef VBOX_WITH_DRAG_AND_DROP 8951 9001 if (m_hHgcmSvcExtDragAndDrop) -
trunk/src/VBox/Main/src-client/ConsoleImplConfigX86.cpp
r99913 r100606 47 47 #include "DisplayImpl.h" 48 48 #include "NvramStoreImpl.h" 49 #ifdef VBOX_WITH_SHARED_CLIPBOARD 50 # include "GuestShClPrivate.h" 51 #endif 49 52 #ifdef VBOX_WITH_DRAG_AND_DROP 50 53 # include "GuestImpl.h" … … 3116 3119 AssertLogRelMsg(RT_SUCCESS(vrc), ("Shared Clipboard: Failed to set initial file transfers mode (%u): vrc=%Rrc\n", 3117 3120 fFileTransfersEnabled, vrc)); 3118 3119 /** @todo Register area callbacks? (See also deregistration todo in Console::i_powerDown.) */3120 3121 # endif 3122 GuestShCl::createInstance(this /* pConsole */); 3123 vrc = HGCMHostRegisterServiceExtension(&m_hHgcmSvcExtShCl, "VBoxSharedClipboard", 3124 &GuestShCl::hgcmDispatcher, 3125 GuestShClInst()); 3126 if (RT_FAILURE(vrc)) 3127 Log(("Cannot register VBoxSharedClipboard extension, vrc=%Rrc\n", vrc)); 3121 3128 } 3122 3129 else -
trunk/src/VBox/Main/src-client/ConsoleVRDPServer.cpp
r98278 r100606 32 32 #include "ConsoleImpl.h" 33 33 #include "DisplayImpl.h" 34 #ifdef VBOX_WITH_SHARED_CLIPBOARD 35 # include "GuestShClPrivate.h" /* For (un-)registering the service extension. */ 36 #endif 34 37 #include "KeyboardImpl.h" 35 38 #include "MouseImpl.h" … … 1346 1349 1347 1350 ConsoleVRDPServer::ConsoleVRDPServer(Console *console) 1348 : mhClipboard(NULL)1349 1351 { 1350 1352 mConsole = console; … … 3412 3414 if (mcClipboardRefs == 0) 3413 3415 { 3414 vrc = HGCMHostRegisterServiceExtension(&mhClipboard, "VBoxSharedClipboard", ClipboardServiceExtension, this); 3416 #ifdef VBOX_WITH_SHARED_CLIPBOARD 3417 vrc = GuestShClInst()->RegisterServiceExtension(ClipboardServiceExtension, this /* pvExtension */); 3415 3418 AssertRC(vrc); 3419 #endif /* VBOX_WITH_SHARED_CLIPBOARD */ 3416 3420 } 3417 3421 … … 3433 3437 mcClipboardRefs--; 3434 3438 3435 if (mcClipboardRefs == 0 && mhClipboard) 3436 { 3437 HGCMHostUnregisterServiceExtension(mhClipboard); 3438 mhClipboard = NULL; 3439 if (mcClipboardRefs == 0) 3440 { 3441 #ifdef VBOX_WITH_SHARED_CLIPBOARD 3442 GuestShClInst()->UnregisterServiceExtension(ClipboardServiceExtension); 3443 #endif /* VBOX_WITH_SHARED_CLIPBOARD */ 3439 3444 } 3440 3445 }
Note:
See TracChangeset
for help on using the changeset viewer.