[vbox-dev] Resetting the logoImagePath for a VM
Klaus.Espenlaub at Sun.COM
Thu Dec 10 10:43:33 PST 2009
Joseph Smith wrote:
> I am encountering an interesting problem when trying to 'reset' or
> 'revert' a VM's splash logoImage (IBIOSSettings::logoImagePath). This
> is being done via the webservice APIs (vboxwebsrv).
> I am able to successfully update and set the image path to a valid bmp
> file to use as a splash screen and the machine starts-up perfectly
> displaying the updated splash as I requested.
> The interesting part is ... when I try to revert back to 'default' ...
> meaning no longer use my own bmp file as a splash screen ... It does not
> seem that I am able to update/reset the logoImagePath entry.
> By trying to set it to a null (empty string), an exception is thrown.
> The error I get is 500 Internal Server Error. The error code returned
> via the SoapAPI is 0x00.
Passing null to string parameters (anything which ends up as a NULL
string pointer in the C++ API call which vboxsebsrv does internally) is
forbidden for quite a while now.
Many API methods use empty strings to represent "go back to default",
however not IBIOSSerrings::logoImagePath. It rejects empty strings with
E_INVALIDARG = 0x80070057. This incorrect check slipped through somehow.
> Any ideas/suggestions ? What is the correct procedure to 'un-set/reset'
> the logoImagePath back to 'default' ... meaning ... original splash screen?
Right now there is _no_ way to go back to the default (except editing
the xml file). The bug is fixed in the internal repository, and will
appear on the public OSE repository soon. Any new maintenance release
will contain the fix.
The documentation will be also updated to clearly say that an empty
string means "default logo".
Sorry about that glitch.
More information about the vbox-dev