use Cocoa fix for nested modal loops for system dialogs also

This commit is contained in:
Stefan Csomor
2018-08-27 11:50:35 +02:00
parent fd569842b1
commit 99eba63796
10 changed files with 81 additions and 30 deletions

View File

@@ -72,12 +72,16 @@ int wxMacPrintDialog::ShowModal()
[dict setValue:[NSNumber numberWithInt:m_printDialogData.GetMinPage()] forKey:@"com_apple_print_PrintSettings_PMFirstPage"];
[dict setValue:[NSNumber numberWithInt:m_printDialogData.GetMaxPage()] forKey:@"com_apple_print_PrintSettings_PMLastPage"];
OSXBeginModalDialog();
if ( (NSInteger)[panel runModalWithPrintInfo:printInfo] == NSOKButton )
{
result = wxID_OK;
m_printDialogData.GetPrintData().ConvertFromNative();
((wxOSXPrintData*)m_printDialogData.GetPrintData().GetNativeData())->TransferTo( &m_printDialogData );
}
OSXEndModalDialog();
return result;
}
@@ -93,6 +97,9 @@ int wxMacPageSetupDialog::ShowModal()
NSPageLayout *pageLayout = [NSPageLayout pageLayout];
NSPrintInfo* printInfo = ((wxOSXCocoaPrintData*)m_pageSetupData.GetPrintData().GetNativeData())->GetNSPrintInfo();
OSXBeginModalDialog();
if ( [pageLayout runModalWithPrintInfo:printInfo] == NSOKButton )
{
result = wxID_OK;
@@ -100,6 +107,8 @@ int wxMacPageSetupDialog::ShowModal()
m_pageSetupData.SetPaperSize( m_pageSetupData.GetPrintData().GetPaperSize() );
}
OSXEndModalDialog();
return result;
}