From 212cfd0c1e0d5e28efaa04c97a21d58073d0a93c Mon Sep 17 00:00:00 2001 From: oscarhdezsz Date: Mon, 18 Mar 2013 15:57:38 +0000 Subject: [PATCH] Fix cairo_pattern_get_surface --- contrib/hbcairo/core.c | 9 +++++++++ contrib/hbcairo/hbcairo.h | 1 + contrib/hbcairo/pattern.c | 11 +---------- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/contrib/hbcairo/core.c b/contrib/hbcairo/core.c index 2774c54e5d..9d87a969ae 100644 --- a/contrib/hbcairo/core.c +++ b/contrib/hbcairo/core.c @@ -155,6 +155,15 @@ PHB_ITEM hb_cairoSurfaceItemPut( PHB_ITEM pItem, cairo_surface_t * pSurface ) } +void hb_cairoSurfaceStor( cairo_surface_t * pSurface, int iParam ) +{ + cairo_surface_t ** ppSurface = ( cairo_surface_t ** ) hb_gcAllocate( sizeof( cairo_surface_t * ), &s_gcSurfaceFuncs ); + + *ppSurface = pSurface; + hb_storptrGC( ppSurface, iParam ); +} + + cairo_surface_t * hb_cairo_surface_param( int iParam ) { cairo_surface_t ** ppSurface = ( cairo_surface_t ** ) hb_parptrGC( &s_gcSurfaceFuncs, iParam ); diff --git a/contrib/hbcairo/hbcairo.h b/contrib/hbcairo/hbcairo.h index a0ed686570..70da6018fa 100644 --- a/contrib/hbcairo/hbcairo.h +++ b/contrib/hbcairo/hbcairo.h @@ -63,6 +63,7 @@ extern HB_EXPORT void hb_cairo_ret( cairo_t * ); extern HB_EXPORT cairo_surface_t * hb_cairoSurfaceItemGet( PHB_ITEM pItem ); extern HB_EXPORT PHB_ITEM hb_cairoSurfaceItemPut( PHB_ITEM pItem, cairo_surface_t * pSurface ); +extern HB_EXPORT void hb_cairoSurfaceStor( cairo_surface_t * pSurface, int iParam ); extern HB_EXPORT cairo_surface_t * hb_cairo_surface_param( int iParam ); extern HB_EXPORT void hb_cairo_surface_ret( cairo_surface_t * pSurface ); diff --git a/contrib/hbcairo/pattern.c b/contrib/hbcairo/pattern.c index 7aec89e4e6..d8412b15a2 100644 --- a/contrib/hbcairo/pattern.c +++ b/contrib/hbcairo/pattern.c @@ -88,15 +88,6 @@ PHB_ITEM hb_cairoPatternItemPut( PHB_ITEM pItem, cairo_pattern_t * pPattern ) } -void hb_cairoPatternStor( cairo_pattern_t * pPattern, int iParam ) -{ - cairo_pattern_t ** ppPattern = ( cairo_pattern_t ** ) hb_gcAllocate( sizeof( cairo_pattern_t * ), &s_gcPatternFuncs ); - - *ppPattern = pPattern; - hb_storptrGC( ppPattern, iParam ); -} - - cairo_pattern_t * hb_cairo_pattern_param( int iParam ) { cairo_pattern_t ** ppPattern = ( cairo_pattern_t ** ) hb_parptrGC( &s_gcPatternFuncs, iParam ); @@ -255,7 +246,7 @@ HB_FUNC( CAIRO_PATTERN_GET_SURFACE ) hb_retni( cairo_pattern_get_surface( pPattern, &pSurface ) ); - hb_cairoPatternStor( pSurface, 2 ); + hb_cairoSurfaceStor( pSurface, 2 ); } else hb_retni( -1 );