Trying to fix the memory leak...

master
Markus Koch 2016-06-05 00:04:16 +02:00
parent d91b369050
commit 7084a9a077
1 changed files with 8 additions and 5 deletions

View File

@ -6,7 +6,7 @@ G_DEFINE_TYPE(PreviewWidget, PreviewWidget, GTK_TYPE_BIN)
void kona_download_image( GtkWidget *widget, gpointer data )
{
PreviewWidget_set_image(data, "/home/kurisu/Pictures/Wallpapers/preview.jpg"); // DEBUG ONLY!
PreviewWidget_set_image(data, "/home/kurisu/Pictures/Screenshot from 2016-03-07 09-16-18.png"); // DEBUG ONLY!
}
void PreviewWidget_set_image(PreviewWidget *widget, gchar *url) {
@ -18,7 +18,7 @@ void PreviewWidget_set_image(PreviewWidget *widget, gchar *url) {
widgets = gtk_container_get_children(GTK_CONTAINER(widget));
w = widgets->data; // Grab GtkImage
GdkPixbuf *p;
GdkPixbuf *p, *ps;
p = gdk_pixbuf_new_from_file(url, NULL);
iheight = (float) gdk_pixbuf_get_height(p);
iwidth = (float) gdk_pixbuf_get_width(p);
@ -31,9 +31,9 @@ void PreviewWidget_set_image(PreviewWidget *widget, gchar *url) {
height = iheight / iwidth * 200;
}
p = gdk_pixbuf_scale_simple(p, width, height, GDK_INTERP_BILINEAR);
gtk_image_set_from_pixbuf(GTK_IMAGE(w), p);
ps = gdk_pixbuf_scale_simple(p, width, height, GDK_INTERP_BILINEAR);
g_object_unref(p);
gtk_image_set_from_pixbuf(GTK_IMAGE(w), ps);
gtk_widget_set_visible(w, TRUE);
@ -78,5 +78,8 @@ GtkWidget *PreviewWidget_new(KonaImage* ki)
void debugfoo(GtkButton *widget, GtkImage *img)
{
gtk_image_clear(img);
g_object_unref(gtk_image_get_pixbuf(img));
gtk_widget_destroy(img);
}