]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/osx/msgdlg.h
fixing overrelease and out-of-bounds write, fixes #13725
[wxWidgets.git] / include / wx / osx / msgdlg.h
index 2fdecde6961063029a9a85650a1cd51aa5f5d58c..9c3d38067dca082a9f6f61926f7aa0643b84f45c 100644 (file)
@@ -1,5 +1,55 @@
-#ifdef __WXMAC_CLASSIC__
-#include "wx/osx/classic/msgdlg.h"
-#else
-#include "wx/osx/carbon/msgdlg.h"
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/osx/msgdlg.h
+// Purpose:     wxMessageDialog class. Use generic version if no
+//              platform-specific implementation.
+// Author:      Stefan Csomor
+// Modified by:
+// Created:     1998-01-01
+// RCS-ID:      $Id$
+// Copyright:   (c) Stefan Csomor
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_MSGBOXDLG_H_
+#define _WX_MSGBOXDLG_H_
+
+class WXDLLIMPEXP_CORE wxMessageDialog : public wxMessageDialogBase
+{
+public:
+    wxMessageDialog(wxWindow *parent,
+                    const wxString& message,
+                    const wxString& caption = wxMessageBoxCaptionStr,
+                    long style = wxOK|wxCENTRE,
+                    const wxPoint& pos = wxDefaultPosition);
+
+#if wxOSX_USE_COCOA
+    ~wxMessageDialog();
 #endif
+    
+    virtual int ShowModal();
+
+#if wxOSX_USE_COCOA
+    virtual void ShowWindowModal();
+    virtual void ModalFinishedCallback(void* panel, int resultCode);
+#endif
+
+protected:
+    // not supported for message dialog
+    virtual void DoSetSize(int WXUNUSED(x), int WXUNUSED(y),
+                           int WXUNUSED(width), int WXUNUSED(height),
+                           int WXUNUSED(sizeFlags) = wxSIZE_AUTO) {}
+
+#if wxOSX_USE_COCOA
+    void* ConstructNSAlert();
+#endif
+
+    int m_buttonId[4];
+    int m_buttonCount;
+
+#if wxOSX_USE_COCOA
+    WX_NSObject m_sheetDelegate;
+#endif
+    DECLARE_DYNAMIC_CLASS(wxMessageDialog)
+};
+
+#endif // _WX_MSGBOXDLG_H_