During our development of Leapdroid vm, we found that DnD sometimes not
working, we traced the code, and the root cause is a callback is registered too
early.
Specifically, it's in src\VBox\Main\src-client\GuestDnDTargetImpl.cpp:
int GuestDnDTarget::i_sendURIData(PSENDDATACTX pCtx, RTMSINTERVAL msTimeout){
rc = GuestDnDInst()->hostCall(MsgSndData.getType(), MsgSndData.getCount(),
MsgSndData.getParms());
REGISTER_CALLBACK(DragAndDropSvc::GUEST_DND_GET_NEXT_HOST_MSG); <=== this
call needs to move to here after params are set
}
Basically, need to register later.
Please take a look,
Thanks,
- Huihong
_______________________________________________
vbox-dev mailing list
vbox-dev@virtualbox.org
https://www.virtualbox.org/mailman/listinfo/vbox-dev