[webkit-changes] cvs commit: SVGSupport/ksvg2/svg SVGDocumentImpl.cpp

Eric eseidel at opensource.apple.com
Wed Sep 7 01:00:29 PDT 2005


eseidel     05/09/07 01:00:28

  Modified:    .        ChangeLog
               kcanvas  KCanvasCreator.cpp
               kcanvas/device/quartz KRenderingDeviceQuartz.mm
                        KRenderingPaintServerGradientQuartz.mm
               ksvg2/svg SVGDocumentImpl.cpp
  Log:
  Bug #: 4868
  Submitted by: Tobias Lidskog <tobiaslidskog at mac.com>
  Reviewed by: eseidel
          * kcanvas/KCanvasCreator.cpp:
          (KCanvasCreator::createCanvasPathData):
          * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
          (KRenderingDeviceQuartz::contextForImage):
          * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
          (KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
          * ksvg2/svg/SVGDocumentImpl.cpp:
          (SVGDocumentImpl::~SVGDocumentImpl):
          Fixed several leaks.
          http://bugzilla.opendarwin.org/show_bug.cgi?id=4868
  
  Revision  Changes    Path
  1.100     +16 -0     WebCore/ChangeLog
  
  Index: ChangeLog
  ===================================================================
  RCS file: /cvs/root/WebCore/ChangeLog,v
  retrieving revision 1.99
  retrieving revision 1.100
  diff -u -r1.99 -r1.100
  --- ChangeLog	7 Sep 2005 02:38:34 -0000	1.99
  +++ ChangeLog	7 Sep 2005 08:00:26 -0000	1.100
  @@ -1,3 +1,19 @@
  +2005-09-07  Eric Seidel  <eseidel at apple.com>
  +        Fix by Tobias Lidskog <tobiaslidskog at mac.com>
  +
  +        Reviewed by eseidel.
  +
  +        * kcanvas/KCanvasCreator.cpp:
  +        (KCanvasCreator::createCanvasPathData):
  +        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
  +        (KRenderingDeviceQuartz::contextForImage):
  +        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
  +        (KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
  +        * ksvg2/svg/SVGDocumentImpl.cpp:
  +        (SVGDocumentImpl::~SVGDocumentImpl):
  +        Fixed several leaks.
  +        http://bugzilla.opendarwin.org/show_bug.cgi?id=4868
  +
   2005-09-06  Darin Adler  <darin at apple.com>
   
           Reviewed by John Sullivan.
  
  
  
  1.5       +1 -0      SVGSupport/kcanvas/KCanvasCreator.cpp
  
  Index: KCanvasCreator.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/KCanvasCreator.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- KCanvasCreator.cpp	1 Sep 2005 07:32:45 -0000	1.4
  +++ KCanvasCreator.cpp	7 Sep 2005 08:00:27 -0000	1.5
  @@ -208,6 +208,7 @@
       if(!valid)
       {
           device->endPath();
  +        device->deletePath(device->currentPath());
           device->startPath();
       }
   
  
  
  
  1.3       +1 -0      SVGSupport/kcanvas/device/quartz/KRenderingDeviceQuartz.mm
  
  Index: KRenderingDeviceQuartz.mm
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/device/quartz/KRenderingDeviceQuartz.mm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- KRenderingDeviceQuartz.mm	22 Aug 2005 07:45:28 -0000	1.2
  +++ KRenderingDeviceQuartz.mm	7 Sep 2005 08:00:27 -0000	1.3
  @@ -127,6 +127,7 @@
   		cgLayer = CGLayerCreateWithContext(currentCGContext(), CGSize(image->size() + QSize(1,1)), NULL);  // FIXME + 1 is a hack
   		// FIXME: we should composite the original image onto the layer...
   		quartzImage->setCGLayer(cgLayer);
  +		CGLayerRelease(cgLayer);
   	}
   	KRenderingDeviceContextQuartz *quartzContext = new KRenderingDeviceContextQuartz();
   	CGContextRef cgContext = CGLayerGetContext(cgLayer);
  
  
  
  1.4       +4 -0      SVGSupport/kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm
  
  Index: KRenderingPaintServerGradientQuartz.mm
  ===================================================================
  RCS file: /cvs/root/SVGSupport/kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- KRenderingPaintServerGradientQuartz.mm	19 Aug 2005 21:37:41 -0000	1.3
  +++ KRenderingPaintServerGradientQuartz.mm	7 Sep 2005 08:00:28 -0000	1.4
  @@ -231,12 +231,16 @@
       if (server->type() == PS_RADIAL_GRADIENT)
       {
           const KRenderingPaintServerRadialGradientQuartz *radial = static_cast<const KRenderingPaintServerRadialGradientQuartz *>(server);
  +        if (m_shadingCache)
  +            CGShadingRelease(m_shadingCache);
           // actually make the gradient
           m_shadingCache = CGShadingRefForRadialGradient(radial);
       }
       else if (server->type() == PS_LINEAR_GRADIENT)
       {
           const KRenderingPaintServerLinearGradientQuartz *linear = static_cast<const KRenderingPaintServerLinearGradientQuartz *>(server);
  +        if (m_shadingCache)
  +            CGShadingRelease(m_shadingCache);
           // actually make the gradient
           m_shadingCache = CGShadingRefForLinearGradient(linear);
       }
  
  
  
  1.7       +1 -0      SVGSupport/ksvg2/svg/SVGDocumentImpl.cpp
  
  Index: SVGDocumentImpl.cpp
  ===================================================================
  RCS file: /cvs/root/SVGSupport/ksvg2/svg/SVGDocumentImpl.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SVGDocumentImpl.cpp	2 Sep 2005 10:03:17 -0000	1.6
  +++ SVGDocumentImpl.cpp	7 Sep 2005 08:00:28 -0000	1.7
  @@ -148,6 +148,7 @@
   
       delete m_scriptsIt;
       delete m_timeScheduler;
  +    delete m_cachedScript;
   }
   
   KDOM::DOMStringImpl *SVGDocumentImpl::title() const
  
  
  



More information about the webkit-changes mailing list