On 2014-01-18 02:08:04, akbjker wrote:
> diff --git a/zathura.c b/zathura.c
> index 1f5f4fd..5335def 100644
> --- a/zathura.c
> +++ b/zathura.c
> @@ -943,10 +943,6 @@ document_close(zathura_t* zathura, bool keep_monitor)
>  
>    /* remove widgets */
>    gtk_container_foreach(GTK_CONTAINER(zathura->ui.page_widget), 
> remove_page_from_table, (gpointer) 1);
> -  for (unsigned int i = 0; i < 
> zathura_document_get_number_of_pages(zathura->document); i++) {
> -    g_object_unref(zathura->pages[i]);
> -    g_object_unref(zathura->pages[i]); // FIXME
> -  }
>    free(zathura->pages);
>    zathura->pages = NULL;
>  
> @@ -1062,9 +1058,15 @@ page_widget_set_mode(zathura_t* zathura, unsigned int 
> page_padding,
>      int x = (i + first_page_column - 1) % pages_per_row;
>      int y = (i + first_page_column - 1) / pages_per_row;
>  
> -    zathura_page_t* page   = zathura_document_get_page(zathura->document, i);
> -    GtkWidget* page_widget = zathura_page_get_widget(zathura, page);
> -    gtk_grid_attach(GTK_GRID(zathura->ui.page_widget), page_widget, x, y, 1, 
> 1);
> +    GtkWidget* page_widget = zathura->pages[i];
> +
> +    GtkWidget* align = gtk_alignment_new(0.5, 0.5, 0, 0);
> +    if (gtk_widget_get_parent(page_widget))
> +      gtk_widget_reparent(page_widget, align);
> +    else
> +      gtk_container_add(GTK_CONTAINER(align), page_widget);
> +
> +    gtk_grid_attach(GTK_GRID(zathura->ui.page_widget), align, x, y, 1, 1);

>From a first look at it, this leaks all old GtkAlignment instances on
every page_widget_set_mode call.

Regards
-- 
Sebastian Ramacher
_______________________________________________
zathura mailing list
zathura@lists.pwmt.org
http://lists.pwmt.org/mailman/listinfo/zathura

Reply via email to