[vbox-dev] IDisplay in IConsole::display is empty

Klaus Espenlaub klaus.espenlaub at oracle.com
Fri Jan 24 13:11:43 GMT 2014


Hi Karoline,

On 24.01.2014 10:45, Karoline Haus wrote:
> Hi
> I'm building a VBox Frontend graphics driver working similar to VBoxSDL.
> When I try to start the VM and get the IDisplay pointer using
>
> gConsole->COMGETTER(Display)(gDisplay.asOutParam());
>
> then gDisplay is always NULL. In what cases can this happen? I have no
> idea how to debug the problem.

This sounds like the type of the session lock you're requesting is 
incorrect. For some time now (since 4.2) we have split out a special 
lock type for VM processes, and only those will get the objects below 
the console initialized. This greatly lowers the cost for "normal API 
client" sessions, which are used e.g. by VBoxManage and the VM manager 
GUI, as they never needed these objects.

So double check if you use LockType_VM - all VM frontends do this since 
the split happened (and the API change is documented in the SDK manual), 
see VBoxSDL.cpp.

Hope this helps,
Klaus
> Any pointers would be really appreciated.
>
> Thanks,
> Karoline




More information about the vbox-dev mailing list