VirtualBox

Changeset 7079 in vbox for trunk/src/VBox/Additions/x11


Ignore:
Timestamp:
Feb 21, 2008 4:55:59 PM (17 years ago)
Author:
vboxsync
Message:

Additions/X11: more seamless fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/x11/xclient/seamless-x11.cpp

    r7069 r7079  
    114114void VBoxGuestSeamlessX11::monitorClientList(void)
    115115{
    116     XSelectInput(mDisplay, DefaultRootWindow(mDisplay.get()), PropertyChangeMask);
     116    XSelectInput(mDisplay, DefaultRootWindow(mDisplay.get()), SubstructureNotifyMask);
    117117}
    118118
     
    203203        }
    204204    }
    205     XSelectInput(mDisplay, hWin, StructureNotifyMask);
    206205    mGuestWindows.addWindow(hWin, winAttrib.map_state != IsUnmapped, winAttrib.x, winAttrib.y,
    207206                            winAttrib.width, winAttrib.height, cRects, rects);
     
    217216                 mGuestWindows.removeWindow(it++))
    218217    {
    219         XSelectInput(mDisplay, it->first, 0);
    220218        XShapeSelectInput(mDisplay, it->first, 0);
    221219    }
     
    283281void VBoxGuestSeamlessX11::doMapEvent(const XMapEvent *event)
    284282{
    285 /*    VBoxGuestWindowList::iterator iter;
     283    VBoxGuestWindowList::iterator iter;
    286284
    287285    iter = mGuestWindows.find(event->window);
    288     if (iter != mGuestWindows.end())
    289     {
    290         iter->second->mMapped = true;
    291     } */
    292     rebuildWindowTree();
    293 }
    294 
    295 /**
    296  * If the list of client windows changes, rebuild the list.
    297  *
    298  * @param event the X11 event structure
    299  */
    300 void VBoxGuestSeamlessX11::doPropertyEvent(const XPropertyEvent *event)
    301 {
    302     if (XInternAtom(mDisplay, NET_CLIENT_LIST, true) == event->atom)
    303     {
    304         rebuildWindowTree();
     286    if (mGuestWindows.end() == iter)
     287    {
     288        addClientWindow(event->window);
    305289    }
    306290}
     
    337321void VBoxGuestSeamlessX11::doUnmapEvent(const XUnmapEvent *event)
    338322{
    339 /*    VBoxGuestWindowList::iterator iter;
     323    VBoxGuestWindowList::iterator iter;
    340324
    341325    iter = mGuestWindows.find(event->window);
    342     if (iter != mGuestWindows.end())
    343     {
    344         iter->second->mMapped = true;
    345     } */
    346     rebuildWindowTree();
     326    if (mGuestWindows.end() != iter)
     327    {
     328        mGuestWindows.removeWindow(iter);
     329    }
    347330}
    348331
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