Browse Source

Fix cairo region leak in restore_clip().

tags/v1.3.1000
Jonathan Moore Liles 11 years ago
parent
commit
4fb75569ed
1 changed files with 7 additions and 4 deletions
  1. +7
    -4
      src/fl_rect.cxx

+ 7
- 4
src/fl_rect.cxx View File

@@ -609,12 +609,15 @@ void Fl_Graphics_Driver::restore_clip() {

void Fl_Graphics_Driver::clip_region(Fl_Region r) {
Fl_Region oldr = rstack[rstackptr];
if (oldr && r != oldr )
if ( r != oldr )
{
cairo_region_destroy( oldr );
}
if ( oldr )
cairo_region_destroy( oldr );
rstack[rstackptr] = r ? cairo_region_reference( r ) : 0;
rstack[rstackptr] = r ? cairo_region_reference( r ) : 0;
}

fl_restore_clip();
}



Loading…
Cancel
Save