diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | gtk/gtkpagesetup.c | 12 |
2 files changed, 18 insertions, 0 deletions
@@ -1,3 +1,9 @@ +2006-12-04 Christian Persch <chpe@cvs.gnome.org> + + * gtk/gtkpagesetup.c: (gtk_page_setup_get_paper_size), + (gtk_page_setup_set_paper_size): Don't leak the old page size when + setting a new one. Bug #382314. + 2006-12-03 Michael Natterer <mitch@gimp.org> * gtk/gtktextview.c: remove FIXME #include that is no longer needed. diff --git a/gtk/gtkpagesetup.c b/gtk/gtkpagesetup.c index bf9793a7c1..9db0fc719d 100644 --- a/gtk/gtkpagesetup.c +++ b/gtk/gtkpagesetup.c @@ -163,6 +163,8 @@ gtk_page_setup_set_orientation (GtkPageSetup *setup, GtkPaperSize * gtk_page_setup_get_paper_size (GtkPageSetup *setup) { + g_return_val_if_fail (GTK_IS_PAGE_SETUP (setup), NULL); + return setup->paper_size; } @@ -181,7 +183,17 @@ void gtk_page_setup_set_paper_size (GtkPageSetup *setup, GtkPaperSize *size) { + GtkPaperSize *old_size; + + g_return_if_fail (GTK_IS_PAGE_SETUP (setup)); + g_return_if_fail (size != NULL); + + old_size = setup->paper_size; + setup->paper_size = gtk_paper_size_copy (size); + + if (old_size) + gtk_paper_size_free (old_size); } /** |