workaround for crash, see #14906

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73414 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2013-01-20 21:07:15 +00:00
parent 39a18da1a8
commit 75925930cd

View File

@@ -448,6 +448,11 @@ bool wxFileDialog::CheckFile( const wxString& filename )
void wxFileDialog::SetupExtraControls(WXWindow nativeWindow)
{
NSSavePanel* panel = (NSSavePanel*) nativeWindow;
// for sandboxed app we cannot access the outer structures
// this leads to problems with extra controls, so as a temporary
// workaround for crashes we don't support those yet
if ( [panel contentView] == nil )
return;
wxNonOwnedWindow::Create( GetParent(), nativeWindow );
wxWindow* extracontrol = NULL;
@@ -693,7 +698,9 @@ void wxFileDialog::ModalFinishedCallback(void* panel, int returnCode)
if (GetModality() == wxDIALOG_MODALITY_WINDOW_MODAL)
SendWindowModalDialogEvent ( wxEVT_WINDOW_MODAL_DIALOG_CLOSED );
UnsubclassWin();
// workaround for sandboxed app, see above
if ( m_isNativeWindowWrapper )
UnsubclassWin();
[(NSSavePanel*) panel setAccessoryView:nil];
}