VirtualBox

Changeset 2713 in vbox for trunk/src/VBox/Additions


Ignore:
Timestamp:
May 18, 2007 1:20:40 PM (18 years ago)
Author:
vboxsync
Message:

Preallocate data for the mouse filter ServiceCallback only when the host accepts mouse integration.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/MouseFilter/VBoxMouse.cpp

    r2697 r2713  
    116116            else
    117117            {
    118                  devExt->HostInformed = TRUE;
     118                devExt->HostInformed = TRUE;
     119
     120                if (!devExt->reqSC)
     121                {
     122                    /* Preallocate request for ServiceCallback */
     123                    VMMDevReqMouseStatus *req = NULL;
     124
     125                    vboxRC = VbglGRAlloc ((VMMDevRequestHeader **)&req, sizeof (VMMDevReqMouseStatus), VMMDevReq_GetMouseStatus);
     126
     127                    if (VBOX_SUCCESS(vboxRC))
     128                    {
     129                        devExt->reqSC = req;
     130                    }
     131                    else
     132                    {
     133                        dprintf(("VBoxMouse::vboxInformHost: request allocation for service callback failed\n"));
     134                    }
     135                }
    119136            }
     137
    120138            VbglGRFree(&req->header);
    121139        }
     
    592610            int vboxRC = VbglInit ();
    593611
    594             if (VBOX_SUCCESS(vboxRC))
    595             {
    596                 /* We will not fail the driver initialization even
    597                  * if the following VBox initialization code will fail.
    598                  * In that case we will just do not have mouse integration.
    599                  */
    600 
    601                 /* Allocate request for ServiceCallback */
    602                 VMMDevReqMouseStatus *req = NULL;
    603 
    604                 vboxRC = VbglGRAlloc ((VMMDevRequestHeader **)&req, sizeof (VMMDevReqMouseStatus), VMMDevReq_GetMouseStatus);
    605 
    606                 if (VBOX_SUCCESS(vboxRC))
    607                 {
    608                     devExt->reqSC = req;
    609                 }
    610                 else
    611                 {
    612                     dprintf(("VBoxMouse::VBoxMouse_PnP: request allocation failed\n"));
    613                     VbglTerminate ();
    614                 }
    615             }
    616             else
     612            if (VBOX_FAILURE(vboxRC))
    617613            {
    618614                dprintf(("VBoxMouse::VBoxMouse_PnP: guest library initialization failed\n"));
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette