[SCM] calf/master: Fix cairo surface leak in line graph widget.
js at users.alioth.debian.org
js at users.alioth.debian.org
Tue May 7 15:41:16 UTC 2013
The following commit has been merged in the master branch:
commit 045e27caeac466dd9ae725f31cae3cdc76d0e582
Author: Krzysztof Foltman <wdev at foltman.com>
Date: Wed Sep 26 23:05:46 2012 +0100
Fix cairo surface leak in line graph widget.
diff --git a/src/custom_ctl.cpp b/src/custom_ctl.cpp
index 61e67bc..898ff4d 100644
--- a/src/custom_ctl.cpp
+++ b/src/custom_ctl.cpp
@@ -479,6 +479,23 @@ calf_line_graph_class_init (CalfLineGraphClass *klass)
}
static void
+calf_line_graph_unrealize (GtkWidget *widget, CalfLineGraph *lg)
+{
+ if( lg->master_surface )
+ cairo_surface_destroy( lg->master_surface );
+ if( lg->cache_surface )
+ cairo_surface_destroy( lg->cache_surface );
+ if( lg->spec_surface )
+ cairo_surface_destroy( lg->spec_surface );
+ if( lg->specc_surface )
+ cairo_surface_destroy( lg->specc_surface );
+ lg->master_surface = NULL;
+ lg->cache_surface = NULL;
+ lg->spec_surface = NULL;
+ lg->specc_surface = NULL;
+}
+
+static void
calf_line_graph_init (CalfLineGraph *self)
{
GtkWidget *widget = GTK_WIDGET(self);
@@ -490,6 +507,7 @@ calf_line_graph_init (CalfLineGraph *self)
self->last_generation = 0;
self->mode = 0;
self->_spectrum = 0;
+ gtk_signal_connect(GTK_OBJECT(widget), "unrealize", G_CALLBACK(calf_line_graph_unrealize), (gpointer)self);
}
GtkWidget *
--
calf audio plugins packaging
More information about the pkg-multimedia-commits
mailing list