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:
@@ -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;
|
||||
|
Reference in New Issue
Block a user