]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/prntdlgg.cpp
Correct wrong memset ordering that produced an assert in the printing sample
[wxWidgets.git] / src / generic / prntdlgg.cpp
index c5ea11ae15b0fb80506a96a7457a31f095adde9b..4a77b717690b30b4e97b9b978695bf80e985acaf 100644 (file)
@@ -136,7 +136,9 @@ void wxGenericPrintDialog::Init(wxWindow *parent)
     choices[1] = _("Pages");
 
     m_fromText = (wxTextCtrl*)NULL;
-
+    m_toText = (wxTextCtrl*)NULL;
+    m_rangeRadioBox = (wxRadioBox *)NULL;
+    
     if (m_printDialogData.GetFromPage() != 0)
     {
         m_rangeRadioBox = new wxRadioBox(this, wxPRINTID_RANGE, _("Print Range"),
@@ -276,28 +278,33 @@ bool wxGenericPrintDialog::TransferDataToWindow()
 
     if(m_printDialogData.GetFromPage() != 0)
     {
-        if (m_printDialogData.GetEnablePageNumbers())
-        {
-            m_fromText->Enable(TRUE);
-            m_toText->Enable(TRUE);
-
-            sprintf(buf, "%d", m_printDialogData.GetFromPage());
-            m_fromText->SetValue(buf);
-            sprintf(buf, "%d", m_printDialogData.GetToPage());
-            m_toText->SetValue(buf);
-
-            if (m_printDialogData.GetAllPages())
+       if(m_fromText)
+       {
+          if (m_printDialogData.GetEnablePageNumbers())
+          {
+             m_fromText->Enable(TRUE);
+             m_toText->Enable(TRUE);
+             sprintf(buf, "%d", m_printDialogData.GetFromPage());
+             m_fromText->SetValue(buf);
+             sprintf(buf, "%d", m_printDialogData.GetToPage());
+             m_toText->SetValue(buf);
+             if(m_rangeRadioBox)
+                if (m_printDialogData.GetAllPages())
+                   m_rangeRadioBox->SetSelection(0);
+                else
+                   m_rangeRadioBox->SetSelection(1);
+          }
+          else
+          {
+             m_fromText->Enable(FALSE);
+             m_toText->Enable(FALSE);
+             if(m_rangeRadioBox)
+             {
                 m_rangeRadioBox->SetSelection(0);
-            else
-                m_rangeRadioBox->SetSelection(1);
-        }
-        else
-        {
-            m_fromText->Enable(FALSE);
-            m_toText->Enable(FALSE);
-            m_rangeRadioBox->SetSelection(0);
-            m_rangeRadioBox->wxRadioBox::Enable(1, FALSE);
-        }
+                m_rangeRadioBox->wxRadioBox::Enable(1, FALSE);
+             }
+          }
+       }
     }
     sprintf(buf, "%d", m_printDialogData.GetNoCopies());
     m_noCopiesText->SetValue(buf);
@@ -313,13 +320,16 @@ bool wxGenericPrintDialog::TransferDataFromWindow()
     {
         if (m_printDialogData.GetEnablePageNumbers())
         {
-            m_printDialogData.SetFromPage(atoi(m_fromText->GetValue()));
-            m_printDialogData.SetToPage(atoi(m_toText->GetValue()));
+           if(m_fromText) m_printDialogData.SetFromPage(atoi(m_fromText->GetValue()));
+           if(m_toText)   m_printDialogData.SetToPage(atoi(m_toText->GetValue()));
+        }
+        if(m_rangeRadioBox)
+        {
+           if (m_rangeRadioBox->GetSelection() == 0)
+              m_printDialogData.SetAllPages(TRUE);
+           else
+              m_printDialogData.SetAllPages(FALSE);
         }
-        if (m_rangeRadioBox->GetSelection() == 0)
-            m_printDialogData.SetAllPages(TRUE);
-        else
-            m_printDialogData.SetAllPages(FALSE);
     }
     else
     { // continuous printing