]> git.saurik.com Git - wxWidgets.git/commitdiff
Don't try to center task dialogs under Windows.
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 22 Nov 2010 12:49:07 +0000 (12:49 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 22 Nov 2010 12:49:07 +0000 (12:49 +0000)
This is either unnecessary or doesn't work anyhow (they are always centered on
the parent window) and just results in debug error messages.

Simply don't do anything in wxMessageDialog::Centre() when using task dialog
implementation under MSW.

Closes #12699.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66237 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/msw/msgdlg.h
src/msw/msgdlg.cpp

index 784d339b61364e19e150095ce6fa3f5e80baa4c6..30573d8eacc2d1540b4dcb32b9f103b0313de157 100644 (file)
@@ -32,6 +32,10 @@ public:
     // return the font used for the text in the message box
     static wxFont GetMessageFont();
 
     // return the font used for the text in the message box
     static wxFont GetMessageFont();
 
+protected:
+    // Override this as task dialogs are always centered on parent.
+    virtual void DoCentre(int dir);
+
 private:
     // hook procedure used to adjust the message box beyond what the standard
     // MessageBox() function can do for us
 private:
     // hook procedure used to adjust the message box beyond what the standard
     // MessageBox() function can do for us
index f6057f73611fd8eda54650ed064c79db47fade9e..35332c4d70544e2785cb58e52be02c4eb26755b3 100644 (file)
@@ -600,6 +600,19 @@ int wxMessageDialog::ShowModal()
     return ShowMessageBox();
 }
 
     return ShowMessageBox();
 }
 
+void wxMessageDialog::DoCentre(int dir)
+{
+#ifdef wxHAS_MSW_TASKDIALOG
+    // Task dialog is always centered on its parent window and trying to center
+    // it manually doesn't work because its HWND is not created yet so don't
+    // even try as this would only result in (debug) error messages.
+    if ( HasNativeTaskDialog() )
+        return;
+#endif // wxHAS_MSW_TASKDIALOG
+
+    return wxMessageDialogBase::DoCentre(dir);
+}
+
 // ----------------------------------------------------------------------------
 // Helpers of the wxMSWMessageDialog namespace
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
 // Helpers of the wxMSWMessageDialog namespace
 // ----------------------------------------------------------------------------