List Info

Thread: PyKit: XWindows are not being destroyed when SiteWindowed::Destroy() is called




PyKit: XWindows are not being destroyed when SiteWindowed::Destroy() is called
country flaguser name
United States
2007-03-06 15:38:30
ref: https://bugs.helixcommunity.org/show_bug.cgi?id=5
964&link=0

I'm creating a window with GTK then using
IHXSiteWindowed::Create(...) to create a child of the
window.  When IHXSiteWindowed:estroy()
is called the window is not destroyed.  I verified this by
using xwininfo -tree.

I traced the problem to CHXUnixSite::_Destroy(HXxWindow*
pWindow)  
(video/sitelib/platform/unix/unixsite.cpp:751)

in this case the function call GetWindow() is returning a
NULL pointer and therefore the display is not retrieved and
XDestroyWindow() is never called


a secondary effect of this bug is that if i stop a video
file and start a new one, the video hiccups every few
seconds for a few seconds then plays fine.  Audio is fine. 




-- 
Peter Krenesky
Analyst Programmer
Open Source Lab  OSU
email: peterosuosl.org
office: 541-737-9572

_______________________________________________
Helix-client-dev mailing list
Helix-client-devhelixcommunity.org
http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev

Re: PyKit: XWindows are not being destroyed when SiteWindowed::Destroy() is calle
country flaguser name
United States
2007-03-06 15:54:47
Peter Krenesky wrote:
> ref: https://bugs.helixcommunity.org/show_bug.cgi?id=5
964&link=0
> 
> I'm creating a window with GTK then using
IHXSiteWindowed::Create(...) to create a child of the
window.  When IHXSiteWindowed:estroy()
is called the window is not destroyed.  I verified this by
using xwininfo -tree.
> 
> I traced the problem to
CHXUnixSite::_Destroy(HXxWindow* pWindow)  
> (video/sitelib/platform/unix/unixsite.cpp:751)
> 
> in this case the function call GetWindow() is returning
a NULL pointer and therefore the display is not retrieved
and XDestroyWindow() is never called
> 
> 
> a secondary effect of this bug is that if i stop a
video file and start a new one, the video hiccups every few
seconds for a few seconds then plays fine.  Audio is fine. 

> 
> 
> 
void CHXUnixSite::_Destroy(HXxWindow* pWindow)
{
     _DestroySliders();
     HXxWindow* pWin = GetWindow();
     Display*   pDis =
(Display*)(pWin?pWin->display:NULL);
     if( pDis )
     {
         XLockDisplay(pDis);
         XDestroyWindow( pDis, (Window)pWindow->window
);
         XUnlockDisplay(pDis);
     }
}


Try changing it so that pDis is retrieved from pWindow, not
pWin. Then remove all refs to pWin.

--greg.


_______________________________________________
Helix-client-dev mailing list
Helix-client-devhelixcommunity.org
http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev

Re: PyKit: XWindows are not being destroyed when SiteWindowed::Destroy() is calle
country flaguser name
United States
2007-03-06 16:22:35
On Tuesday 06 March 2007 1:54 pm, Greg Wright wrote:
> void CHXUnixSite::_Destroy(HXxWindow* pWindow)
> {
>      _DestroySliders();
>      HXxWindow* pWin = GetWindow();
>      Display*   pDis =
(Display*)(pWin?pWin->display:NULL);
>      if( pDis )
>      {
>          XLockDisplay(pDis);
>          XDestroyWindow( pDis,
(Window)pWindow->window );
>          XUnlockDisplay(pDis);
>      }
> }
> 
> 
> Try changing it so that pDis is retrieved from pWindow,
not
> pWin. Then remove all refs to pWin.
> 
> --greg.
> 

I had tried that and it appears to remove the window but the
hiccup remains.  Its the same hiccup we saw when trying to
attach to a PyGTK created window

_______________________________________________
Helix-client-dev mailing list
Helix-client-devhelixcommunity.org
http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev

Re: PyKit: XWindows are not being destroyed when SiteWindowed::Destroy() is calle
country flaguser name
United States
2007-03-07 13:02:20
On Tuesday 06 March 2007 2:22 pm, Peter Krenesky wrote:
> On Tuesday 06 March 2007 1:54 pm, Greg Wright wrote:
> > void CHXUnixSite::_Destroy(HXxWindow* pWindow)
> > {
> >      _DestroySliders();
> >      HXxWindow* pWin = GetWindow();
> >      Display*   pDis =
(Display*)(pWin?pWin->display:NULL);
> >      if( pDis )
> >      {
> >          XLockDisplay(pDis);
> >          XDestroyWindow( pDis,
(Window)pWindow->window );
> >          XUnlockDisplay(pDis);
> >      }
> > }
> > 
> > 
> > Try changing it so that pDis is retrieved from
pWindow, not
> > pWin. Then remove all refs to pWin.
> > 
> > --greg.
> > 
> 
> I had tried that and it appears to remove the window
but the hiccup remains.  Its the same hiccup we saw when
trying to attach to a PyGTK created window
> 
> _______________________________________________

I went back and tried letting it create top level windows
for the video.  The windows were destroyed after applied the
changes to unixsite.cpp.   however i get the same hiccup.


if i remove the call to IHXSiteWindowed->Destroy() the
hiccup goes away but the window is never destroyed. 
Whatever is causing the hiccup is happening during that
method call.

_______________________________________________
Helix-client-dev mailing list
Helix-client-devhelixcommunity.org
http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev

[1-4]

about | contact  Other archives ( Real Estate discussion Medical topics )