VirtualBox

Changeset 27724 in vbox for trunk/src/VBox/Frontends


Ignore:
Timestamp:
Mar 26, 2010 10:22:13 AM (15 years ago)
Author:
vboxsync
Message:

2d: more clean 'hacking'

Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/VBoxFBOverlay.cpp

    r27720 r27724  
    40454045            mpOverlayWgt = NULL;
    40464046            mOverlayWidgetVisible = false;
    4047             initGl();
    40484047            Assert(!mOverlayVisible);
     4048            if (pViewport)
     4049            {
     4050                initGl();
    40494051//            vboxDoCheckUpdateViewport();
     4052            }
     4053            Assert(!mOverlayVisible);
     4054
    40504055        }
    40514056        mGlCurrent = false;
     
    47644769}
    47654770
    4766 void VBoxVHWACommandElementProcessor::updatePostEventObject(QObject *m_pObject)
     4771void VBoxVHWACommandElementProcessor::updatePostEventObject(QObject *pObject)
    47674772{
    47684773    int cEventsNeeded = 0;
    47694774    const VBoxVHWACommandElement * pFirst;
    47704775    RTCritSectEnter(&mCritSect);
    4771     m_pParent = m_pObject;
     4776    m_pParent = pObject;
    47724777
    47734778    pFirst = m_CmdPipe.contentsRo(NULL);
     
    47794784    RTCritSectLeave(&mCritSect);
    47804785
    4781     for (int i = 0; i < cEventsNeeded; ++i)
    4782     {
    4783         VBoxVHWACommandProcessEvent *pCurrentEvent = new VBoxVHWACommandProcessEvent();
    4784         QApplication::postEvent (m_pParent, pCurrentEvent);
     4786    if (pObject)
     4787    {
     4788        for (int i = 0; i < cEventsNeeded; ++i)
     4789        {
     4790            VBoxVHWACommandProcessEvent *pCurrentEvent = new VBoxVHWACommandProcessEvent();
     4791            QApplication::postEvent (m_pParent, pCurrentEvent);
     4792        }
    47854793    }
    47864794}
  • trunk/src/VBox/Frontends/VirtualBox/src/VBoxFBOverlay.h

    r27720 r27724  
    18631863        : T (pView),
    18641864          mpOverlay (pOverlay),
    1865           mpView (pView)
     1865          mpView (pView),
     1866          mbDestroyOverlay (false)
    18661867    {}
    18671868
     
    18691870        : T (pView),
    18701871          mpOverlay (new VBoxQGLOverlay(pWidget, pView, aSession)),
    1871           mpView (pView)
     1872          mpView (pView),
     1873          mbDestroyOverlay (true)
    18721874    {}
    18731875
     1876    virtual ~VBoxOverlayFrameBuffer()
     1877    {
     1878        if (mbDestroyOverlay)
     1879            delete mpOverlay;
     1880        else
     1881        {
     1882            HRESULT hr = Lock();
     1883            Assert(hr == S_OK);
     1884            if (SUCCEEDED(hr))
     1885            {
     1886                mpOverlay->updateAttachment(NULL, NULL);
     1887                hr = Unlock();
     1888                Assert(hr == S_OK);
     1889            }
     1890        }
     1891    }
    18741892
    18751893    STDMETHOD(ProcessVHWACommand)(BYTE *pCommand)
     
    19301948    VBoxQGLOverlay *mpOverlay;
    19311949    V *mpView;
     1950    bool mbDestroyOverlay;
    19321951};
    19331952
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