[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-video-cvs
Subject: [Video-cvs] sitelib/pub baseroot.h, 1.6, 1.7 basesite.h, 1.13,
From: ehodge () helixcommunity ! org
Date: 2006-04-05 18:03:25
[Download RAW message or body]
Update of /cvsroot/video/sitelib/pub
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv29177/pub
Modified Files:
baseroot.h basesite.h basesurf.h surface.h vidsurf2.h
Log Message:
At about 40 seconds into playback, a timer causes
hxmedpltfm.dll's Plugin2Handler::UnloadDeadDLLs()
to get called to get the plugin2Handler to see if
there are any DLLs that are loaded that have a
zero use count. If it finds any, it unloads each.
Before the proposed changes in the below diff,
vidsite.dll's base counting object's m_lNumObjects
was 0 when this happened and it thus got unloaded
at around 40 seconds. This caused a crash
accessing a no-longer-valid memory space whenever
any site user tried to do anything with a site
thereafter.
Solution here is to have all classes that
implement an interface in video/sitelib inherit
from CHXBaseCountingObject. That way, the base
counting object's count goes up for users of those
vidsite.dll objects (IHXSite, ...etc.)
Reviewed by: nhart@real.com
Index: vidsurf2.h
===================================================================
RCS file: /cvsroot/video/sitelib/pub/vidsurf2.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- vidsurf2.h 11 Mar 2005 19:58:08 -0000 1.4
+++ vidsurf2.h 5 Apr 2006 18:03:22 -0000 1.5
@@ -59,6 +59,7 @@
// Look at CWinSurface2 for reference.
///////////////////////////////////////////////////////////////////////////////
class CVideoSurface2 : public IHXVideoSurface2
+ , public CHXBaseCountingObject
{
public:
Index: basesite.h
===================================================================
RCS file: /cvsroot/video/sitelib/pub/basesite.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- basesite.h 23 Feb 2006 22:34:08 -0000 1.13
+++ basesite.h 5 Apr 2006 18:03:22 -0000 1.14
@@ -61,6 +61,7 @@
#include "region.h"
#include "sitetran.h"
#include "coloracc.h"
+#include "baseobj.h"
class CHXBaseSite;
class CBaseSurface;
@@ -147,7 +148,9 @@
public IHXSiteComposition,
public IHXKeyBoardFocus,
public IHXDrawFocus,
- public IHXSubRectSite
+ public IHXSubRectSite,
+ public CHXBaseCountingObject
+
{
public:
Index: baseroot.h
===================================================================
RCS file: /cvsroot/video/sitelib/pub/baseroot.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- baseroot.h 16 Feb 2006 23:08:38 -0000 1.6
+++ baseroot.h 5 Apr 2006 18:03:22 -0000 1.7
@@ -51,6 +51,7 @@
#include "hxvsurf.h"
#include "hxengin.h"
#include "hxslist.h"
+#include "baseobj.h"
#ifndef _BASEROOT_H_
#define _BASEROOT_H_
@@ -80,6 +81,7 @@
};
class CBaseRootSurface : public IUnknown
+ , public CHXBaseCountingObject
{
public:
virtual ~CBaseRootSurface();
Index: surface.h
===================================================================
RCS file: /cvsroot/video/sitelib/pub/surface.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- surface.h 9 Jul 2004 18:34:59 -0000 1.3
+++ surface.h 5 Apr 2006 18:03:22 -0000 1.4
@@ -60,6 +60,7 @@
class CHXSurface : public IHXVideoSurface,
public IHXVideoControl
+ , public CHXBaseCountingObject
{
protected:
Index: basesurf.h
===================================================================
RCS file: /cvsroot/video/sitelib/pub/basesurf.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- basesurf.h 17 Jan 2006 19:37:28 -0000 1.7
+++ basesurf.h 5 Apr 2006 18:03:22 -0000 1.8
@@ -56,6 +56,7 @@
#include "region.h"
#include "hxmap.h"
#include "hxwin.h"
+#include "baseobj.h"
#if !defined(_GOLD) && 0
#include "timestmp.h"
@@ -116,7 +117,8 @@
class CBaseSurface :
public IHXSubRectVideoSurface,
public IHXVideoControl,
-public IHXOverlayResponse
+public IHXOverlayResponse,
+public CHXBaseCountingObject
{
public:
friend class CHXBaseSite;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic