fix more memory leaks

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76271 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Paul Cornett
2014-04-04 06:45:27 +00:00
parent cfe6604d5d
commit 8009bf50ae

View File

@@ -580,7 +580,10 @@ GtkPageSetup* wxGtkPrintNativeData::GetPageSetupFromSettings(GtkPrintSettings* s
GtkPaperSize *paper_size = gtk_print_settings_get_paper_size (settings);
if (paper_size != NULL)
{
gtk_page_setup_set_paper_size_and_default_margins (page_setup, paper_size);
gtk_paper_size_free(paper_size);
}
return page_setup;
}
@@ -651,11 +654,10 @@ int wxGtkPrintDialog::ShowModal()
gtk_print_settings_set_print_pages(settings, GTK_PRINT_PAGES_ALL);
else {
gtk_print_settings_set_print_pages(settings, GTK_PRINT_PAGES_RANGES);
GtkPageRange *range;
range = g_new (GtkPageRange, 1);
range[0].start = fromPage-1;
range[0].end = (toPage >= fromPage) ? toPage-1 : fromPage-1;
gtk_print_settings_set_page_ranges (settings, range, 1);
GtkPageRange range;
range.start = fromPage - 1;
range.end = (toPage >= fromPage) ? toPage - 1 : fromPage - 1;
gtk_print_settings_set_page_ranges(settings, &range, 1);
}
GtkPrintOperation * const printOp = native->GetPrintJob();
@@ -719,6 +721,7 @@ int wxGtkPrintDialog::ShowModal()
{
m_printDialogData.SetFromPage( range[0].start );
m_printDialogData.SetToPage( range[0].end );
g_free(range);
}
else {
m_printDialogData.SetAllPages( true );
@@ -1034,7 +1037,11 @@ void wxGtkPrinter::BeginPrint(wxPrintout *printout, GtkPrintOperation *operation
if (range[i].start > maxPage-1) range[i].start = maxPage-1;
numPages += range[i].end - range[i].start + 1;
}
gtk_print_settings_set_page_ranges (settings, range, 1);
if (range)
{
gtk_print_settings_set_page_ranges(settings, range, 1);
g_free(range);
}
break;}
case GTK_PRINT_PAGES_ALL:
default:
@@ -1075,6 +1082,7 @@ void wxGtkPrinter::DrawPage(wxPrintout *printout,
{
startPage = range[0].start + 1;
endPage = range[0].end + 1;
g_free(range);
}
else {
startPage = minPage;