Carlo Segre <se...@iit.edu> wrote: > Go ahead, I have not had any time to dedicate to my packages recently > and I am not sure when that will change.
OK, done - thanks for getting back to me. Here's the NMU diff for what I actually uploaded (I just tweaked the changelog entry). Cheers, Olly
diff -Nru objcryst-fox-1.9.6.0/debian/changelog objcryst-fox-1.9.6.0/debian/changelog --- objcryst-fox-1.9.6.0/debian/changelog 2011-06-26 13:09:20.000000000 +1200 +++ objcryst-fox-1.9.6.0/debian/changelog 2014-08-24 15:56:59.000000000 +1200 @@ -1,3 +1,12 @@ +objcryst-fox (1.9.6.0-2.1) unstable; urgency=low + + * Non-maintainer upload. + * Update to use wxwidgets3.0 (new patch wx3.0-compat.patch) (Closes: #749870) + * debian/control: 'polyhedras' -> 'polyhedra' in the description ('polyhedra' + is the plural form of 'polyhedron'). + + -- Olly Betts <o...@survex.com> Sun, 24 Aug 2014 15:56:27 +1200 + objcryst-fox (1.9.6.0-2) unstable; urgency=low * Remove -march=native flag from Objcryst/rules-gnu.mak (Closes: #631653 diff -Nru objcryst-fox-1.9.6.0/debian/control objcryst-fox-1.9.6.0/debian/control --- objcryst-fox-1.9.6.0/debian/control 2011-06-25 10:41:48.000000000 +1200 +++ objcryst-fox-1.9.6.0/debian/control 2013-11-25 08:20:07.000000000 +1300 @@ -2,7 +2,7 @@ Section: science Priority: optional Maintainer: Carlo Segre <se...@debian.org> -Build-Depends: debhelper (>= 7), bzip2, libwxgtk2.8-dev, freeglut3-dev, +Build-Depends: debhelper (>= 7), bzip2, libwxgtk3.0-dev, freeglut3-dev, libfftw3-dev, libnewmat10-dev Homepage: http://vincefn.net/Fox/ Standards-Version: 3.9.2 @@ -13,7 +13,7 @@ Description: Free Objects for Xtallography FOX is a program for the ab initio structure determination from powder diffraction (neutrons, X-Ray). The crystal structure can be described as any - combination of atoms, molecules or polyhedras, without a priori information + combination of atoms, molecules or polyhedra, without a priori information about the connectivity of these 'building block'. Fox can make multi-pattern global optimizations, and automatically correct special positions. . diff -Nru objcryst-fox-1.9.6.0/debian/patches/series objcryst-fox-1.9.6.0/debian/patches/series --- objcryst-fox-1.9.6.0/debian/patches/series 2011-06-26 13:06:35.000000000 +1200 +++ objcryst-fox-1.9.6.0/debian/patches/series 2014-05-30 15:12:41.000000000 +1200 @@ -1,2 +1,3 @@ install-in-build-directory revert-march-flag +wx3.0-compat.patch diff -Nru objcryst-fox-1.9.6.0/debian/patches/wx3.0-compat.patch objcryst-fox-1.9.6.0/debian/patches/wx3.0-compat.patch --- objcryst-fox-1.9.6.0/debian/patches/wx3.0-compat.patch 1970-01-01 12:00:00.000000000 +1200 +++ objcryst-fox-1.9.6.0/debian/patches/wx3.0-compat.patch 2014-05-30 22:23:06.000000000 +1200 @@ -0,0 +1,453 @@ +Description: Fix to build with wxwidgets3.0 +Author: Olly Betts <o...@survex.com> +Last-Update: 2014-05-30 + +--- a/ObjCryst/wxCryst/wxMultiGraph.cpp ++++ b/ObjCryst/wxCryst/wxMultiGraph.cpp +@@ -202,7 +202,6 @@ + wxBufferedPaintDC dc(this); + this->PrepareDC(dc); + mpParentFrame->PrepareDC(dc); +- dc.BeginDrawing(); + + dc.DestroyClippingRegion(); + dc.SetBackground(wxBrush(_T("white"), wxSOLID)); +@@ -289,11 +288,10 @@ + ix++; + VFN_DEBUG_MESSAGE("WXMultiGraph::OnPaint():Data#"<<ix,3) + if((pos->second.vx.size()<1)||(pos->second.vx.size()!=pos->second.vy.size())) continue; +- wxColour *pc;//=dynamic_cast<wxColour*>(wxTheColourDatabase->Item(ix++)->GetData()); + +- pc=wxTheColourDatabase->FindColour(wxString::FromAscii(swxColourNameList[ix])); +- if(pc==0) dc.SetPen(*wxGREY_PEN); +- else dc.SetPen(wxPen(*pc,1,wxSOLID)); ++ wxColour colour=wxTheColourDatabase->Find(wxString::FromAscii(swxColourNameList[ix])); ++ if(!colour.IsOk()) dc.SetPen(*wxGREY_PEN); ++ else dc.SetPen(wxPen(colour,1,wxSOLID)); + float x1,y1,x2,y2; + x2=pos->second.vx[0]; + y2=pos->second.vy[0]; +@@ -310,8 +308,8 @@ + dc.DrawLine(wxCoord(x1),wxCoord(y1),wxCoord(x2),wxCoord(y2)); + } + // Print Name +- if(pc==0) dc.SetTextForeground(wxGREY_PEN->GetColour()); +- else dc.SetTextForeground(wxPen(*pc,1,wxSOLID).GetColour()); ++ if(!colour.IsOk()) dc.SetTextForeground(wxGREY_PEN->GetColour()); ++ else dc.SetTextForeground(wxPen(colour,1,wxSOLID).GetColour()); + wxCoord tmpW,tmpH; + fontInfo.Printf(wxString::FromAscii(pos->second.name.c_str())); + dc.GetTextExtent(fontInfo, &tmpW, &tmpH); +--- a/ObjCryst/wxCryst/wxPowderPattern.cpp ++++ b/ObjCryst/wxCryst/wxPowderPattern.cpp +@@ -713,7 +713,7 @@ + { + VFN_DEBUG_MESSAGE("WXPowderPattern::OnMenuSaveText()",6) + WXCrystValidateAllUserInput(); +- wxFileDialog save(this,_T("Choose a file"),_T(""),_T(""),_T("*.txt"),wxSAVE | wxOVERWRITE_PROMPT); ++ wxFileDialog save(this,_T("Choose a file"),_T(""),_T(""),_T("*.txt"),wxFD_SAVE | wxFD_OVERWRITE_PROMPT); + if(save.ShowModal() != wxID_OK) return; + + ofstream out(save.GetPath().ToAscii()); +@@ -778,7 +778,7 @@ + void WXPowderPattern::OnMenuImportPattern(wxCommandEvent &event) + { + VFN_DEBUG_MESSAGE("WXPowderPattern::OnMenuImportPattern()",6) +- wxFileDialog open(this,_T("Choose a file"),_T(""),_T(""),_T("*.*"),wxOPEN | wxFILE_MUST_EXIST); ++ wxFileDialog open(this,_T("Choose a file"),_T(""),_T(""),_T("*.*"),wxFD_OPEN | wxFD_FILE_MUST_EXIST); + if(open.ShowModal() != wxID_OK) return; + if(event.GetId()==(long)ID_POWDER_MENU_IMPORT_FULLPROF) + mpPowderPattern->ImportPowderPatternFullprof(string(open.GetPath().ToAscii())); +@@ -962,7 +962,7 @@ + void WXPowderPattern::OnMenuExport(wxCommandEvent &event) + { + WXCrystValidateAllUserInput(); +- wxFileDialog save(this,_T("Choose a .pcr file"),_T(""),_T(""),_T("*.pcr"),wxSAVE | wxOVERWRITE_PROMPT); ++ wxFileDialog save(this,_T("Choose a .pcr file"),_T(""),_T(""),_T("*.pcr"),wxFD_SAVE | wxFD_OVERWRITE_PROMPT); + if(save.ShowModal() != wxID_OK) return; + + wxString path,name,ext; +@@ -1131,8 +1131,6 @@ + PrepareDC(dc); + mpParentFrame->PrepareDC(dc); + +- dc.BeginDrawing(); +- + dc.DestroyClippingRegion(); + dc.SetBackground(wxBrush(_T("white"), wxSOLID)); + dc.Clear(); +@@ -1428,7 +1426,6 @@ + dc.DrawText(fontInfo,(wxCoord)mMargin*3,(wxCoord)(mMargin+tmpH*(dec++))); + //cout<<"Label("<<pDiff->GetCrystal().GetName()<<"):"<<mMargin*3<<","<<(height-mMargin)-tmpH*(i)-10<<endl; + } +- dc.EndDrawing(); + mMutex.Unlock(); + VFN_DEBUG_MESSAGE("WXPowderPatternGraph:OnPaint():End",5) + } +@@ -1676,7 +1673,7 @@ + + void WXPowderPatternGraph::OnLoadPeaks(wxCommandEvent& WXUNUSED(event)) + { +- wxFileDialog fn(this,_T("Choose a file"),_T(""),_T(""),_T("*"),wxOPEN); ++ wxFileDialog fn(this,_T("Choose a file"),_T(""),_T(""),_T("*"),wxFD_OPEN); + if(fn.ShowModal() != wxID_OK) return; + ifstream f(fn.GetPath().ToAscii()); + if(!f) return;//:TODO: +@@ -1694,7 +1691,7 @@ + + void WXPowderPatternGraph::OnSavePeaks(wxCommandEvent& WXUNUSED(event)) + { +- wxFileDialog save(this,_T("Choose a file"),_T(""),_T(""),_T("*.txt"),wxSAVE | wxOVERWRITE_PROMPT); ++ wxFileDialog save(this,_T("Choose a file"),_T(""),_T(""),_T("*.txt"),wxFD_SAVE | wxFD_OVERWRITE_PROMPT); + if(save.ShowModal() != wxID_OK) return; + + ofstream out(save.GetPath().ToAscii()); +@@ -3141,7 +3138,7 @@ + { + VFN_DEBUG_MESSAGE("WXPowderPatternBackground::OnMenuImportUserBackground()",6) + wxFileDialog *open= new wxFileDialog(this,_T("Choose background file with 2Theta Ibackgd"), +- _T(""),_T(""),_T("*.*"),wxOPEN | wxFILE_MUST_EXIST); ++ _T(""),_T(""),_T("*.*"),wxFD_OPEN | wxFD_FILE_MUST_EXIST); + if(open->ShowModal() != wxID_OK) return; + mpPowderPatternBackground->ImportUserBackground(string(open->GetPath().ToAscii())); + open->Destroy(); +@@ -3500,7 +3497,7 @@ + { + VFN_DEBUG_MESSAGE("WXPowderPatternDiffraction::OnMenuSaveHKLFcalc()",6) + WXCrystValidateAllUserInput(); +- wxFileDialog save(this,_T("Choose a file to save to"),_T(""),_T(""),_T("*.txt"),wxSAVE | wxOVERWRITE_PROMPT); ++ wxFileDialog save(this,_T("Choose a file to save to"),_T(""),_T(""),_T("*.txt"),wxFD_SAVE | wxFD_OVERWRITE_PROMPT); + if(save.ShowModal() != wxID_OK) return; + + ofstream out(save.GetPath().ToAscii()); +--- a/ObjCryst/wxCryst/wxCrystal.cpp ++++ b/ObjCryst/wxCryst/wxCrystal.cpp +@@ -909,7 +909,7 @@ + void WXCrystal::OnMenuSaveCIF(wxCommandEvent & WXUNUSED(event)) + { + WXCrystValidateAllUserInput(); +- wxFileDialog save(this,_T("Choose a file"),_T(""),_T(""),_T("*.cif"),wxSAVE | wxOVERWRITE_PROMPT); ++ wxFileDialog save(this,_T("Choose a file"),_T(""),_T(""),_T("*.cif"),wxFD_SAVE | wxFD_OVERWRITE_PROMPT); + if(save.ShowModal() != wxID_OK) return; + + ofstream out(save.GetPath().ToAscii()); +@@ -921,7 +921,7 @@ + void WXCrystal::OnMenuSaveText(wxCommandEvent & WXUNUSED(event)) + { + WXCrystValidateAllUserInput(); +- wxFileDialog save(this,_T("Choose a file"),_T(""),_T(""),_T("*.txt"),wxSAVE | wxOVERWRITE_PROMPT); ++ wxFileDialog save(this,_T("Choose a file"),_T(""),_T(""),_T("*.txt"),wxFD_SAVE | wxFD_OVERWRITE_PROMPT); + if(save.ShowModal() != wxID_OK) return; + + ofstream out(save.GetPath().ToAscii()); +@@ -1003,7 +1003,7 @@ + if(event.GetId()== ID_CRYSTAL_MENU_SCATT_IMPORTATOMLIST) + { + wxFileDialog open(this,_T("Choose a file with a list of atoms: Element x y z occup"),_T(""),_T(""),_T("*"), +- wxOPEN | wxFILE_MUST_EXIST); ++ wxFD_OPEN | wxFD_FILE_MUST_EXIST); + if(open.ShowModal() != wxID_OK) return; + ifstream fin (open.GetPath().ToAscii()); + if(!fin) +@@ -1417,7 +1417,7 @@ + string tmp("Fenske-Hall z-matrix|*.fhz;*.fh"); + if(event.GetId()==ID_CRYSTAL_MENU_SCATT_IMPORTNAMEDZMATRIX) tmp="Fox z-matrix|*.zmat"; + wxFileDialog open(this,_T("Choose a file with a Fenske-Hall Z-matrix"),_T(""),_T(""), wxString::FromAscii(tmp.c_str()), +- wxOPEN | wxFILE_MUST_EXIST); ++ wxFD_OPEN | wxFD_FILE_MUST_EXIST); + if(open.ShowModal() != wxID_OK) return; + ifstream fin ( open.GetPath().ToAscii()); + if(!fin) +@@ -3130,8 +3130,8 @@ + case(WXK_DELETE): mY0 -= 0.1; Refresh(FALSE); break; + case(WXK_HOME): mX0 -= 0.1; Refresh(FALSE); break; + case(WXK_END): mX0 += 0.1; Refresh(FALSE); break; +- case(WXK_PRIOR): mZ0 -= 0.1; Refresh(FALSE); break; +- case(WXK_NEXT): mZ0 += 0.1; Refresh(FALSE); break; ++ case(WXK_PAGEUP): mZ0 -= 0.1; Refresh(FALSE); break; ++ case(WXK_PAGEDOWN): mZ0 += 0.1; Refresh(FALSE); break; + case(52):// 4 + { + VFN_DEBUG_MESSAGE("WXGLCrystalCanvas::OnKeyDown():rotate left",2) +@@ -3793,7 +3793,7 @@ + void WXGLCrystalCanvas::OnLoadFourierGRD( wxCommandEvent & WXUNUSED(event)) + { + wxFileDialog fd((wxWindow*)this, _T("Choose a file containing a Fourier Map"), +- _T(""), _T(""), _T("Fourier Map files (*.grd)|*.grd"), wxOPEN | wxFILE_MUST_EXIST); ++ _T(""), _T(""), _T("Fourier Map files (*.grd)|*.grd"), wxFD_OPEN | wxFD_FILE_MUST_EXIST); + //if okay then read Fourier map, run MC on it and display the triangles + if(fd.ShowModal() == wxID_OK) + { +@@ -3812,7 +3812,7 @@ + void WXGLCrystalCanvas::OnLoadFourierDSN6( wxCommandEvent & WXUNUSED(event)) + { + wxFileDialog fd((wxWindow*)this, _T("Choose a file containing a Fourier Map"), +- _T(""), _T(""), _T("Fourier Map files (*.DN6)|*.DN6"), wxOPEN | wxFILE_MUST_EXIST); ++ _T(""), _T(""), _T("Fourier Map files (*.DN6)|*.DN6"), wxFD_OPEN | wxFD_FILE_MUST_EXIST); + //if okay then read Fourier map, run MC on it and display the triangles + if(fd.ShowModal() == wxID_OK) + { +@@ -3901,7 +3901,7 @@ + void WXGLCrystalCanvas::OnPOVRay( wxCommandEvent & WXUNUSED(event)) + { + WXCrystValidateAllUserInput(); +- wxFileDialog save(this,_T("Choose filename"),_T(""),_T(""),_T("*.pov"),wxSAVE | wxOVERWRITE_PROMPT); ++ wxFileDialog save(this,_T("Choose filename"),_T(""),_T(""),_T("*.pov"),wxFD_SAVE | wxFD_OVERWRITE_PROMPT); + if(save.ShowModal() != wxID_OK) return; + this->POVRayOutput(string(save.GetPath().char_str())); + } +--- a/ObjCryst/wxCryst/wxDiffractionSingleCrystal.cpp ++++ b/ObjCryst/wxCryst/wxDiffractionSingleCrystal.cpp +@@ -320,7 +320,7 @@ + choices[1]=_T("only unique reflections"); + wxSingleChoiceDialog dialog(this,_T("Choose method"), + _T("Choose method for Reflection generation"), +- 2,choices,0,wxOK | wxCANCEL); ++ 2,choices,(void**)0,wxOK | wxCANCEL); + if(wxID_OK!=dialog.ShowModal()) return; + const int choice=dialog.GetSelection(); + if(0==choice) mpData->GenHKLFullSpace(theta*DEG2RAD,false); +@@ -331,7 +331,7 @@ + if(event.GetId()== ID_DIFFSINGLECRYST_MENU_IMPORT_HKLIOBS) + { + wxFileDialog open(this,_T("Choose file to import from"), +- _T(""),_T(""),_T("*.*"),wxOPEN | wxFILE_MUST_EXIST); ++ _T(""),_T(""),_T("*.*"),wxFD_OPEN | wxFD_FILE_MUST_EXIST); + if(open.ShowModal() != wxID_OK) return; + long nb=0; + { +@@ -352,7 +352,7 @@ + if(event.GetId()== ID_DIFFSINGLECRYST_MENU_IMPORT_HKLIOBSSIGMA) + { + wxFileDialog open(this,_T("Choose file to import from"), +- _T(""),_T(""),_T("*.*"),wxOPEN | wxFILE_MUST_EXIST); ++ _T(""),_T(""),_T("*.*"),wxFD_OPEN | wxFD_FILE_MUST_EXIST); + if(open.ShowModal() != wxID_OK) return; + long nb=0; + { +@@ -373,7 +373,7 @@ + if(event.GetId()== ID_DIFFSINGLECRYST_MENU_IMPORT_HKLIOBSGROUP) + { + wxFileDialog open(this,_T("Choose data file"), +- _T(""),_T(""),_T("*.*"),wxOPEN | wxFILE_MUST_EXIST); ++ _T(""),_T(""),_T("*.*"),wxFD_OPEN | wxFD_FILE_MUST_EXIST); + if(open.ShowModal() != wxID_OK) return; + mpData->ImportHklIobsGroup(string(open.GetPath().ToAscii())); + mpData->UpdateDisplay(); +@@ -382,7 +382,7 @@ + if(event.GetId()== ID_DIFFSINGLECRYST_MENU_IMPORT_JANAM91) + { + wxFileDialog open(this,_T("Choose data file"), +- _T(""),_T(""),_T("*.*"),wxOPEN | wxFILE_MUST_EXIST); ++ _T(""),_T(""),_T("*.*"),wxFD_OPEN | wxFD_FILE_MUST_EXIST); + if(open.ShowModal() != wxID_OK) return; + mpData->ImportHklIobsSigmaJanaM91(string(open.GetPath().ToAscii())); + mpData->UpdateDisplay(); +@@ -393,7 +393,7 @@ + { + VFN_DEBUG_MESSAGE("WXDiffractionSingleCrystal::OnMenuSaveHKLIobsIcalc()",6) + WXCrystValidateAllUserInput(); +- wxFileDialog save(this,_T("Choose a file"),_T(""),_T(""),_T("*.txt"),wxSAVE | wxOVERWRITE_PROMPT); ++ wxFileDialog save(this,_T("Choose a file"),_T(""),_T(""),_T("*.txt"),wxFD_SAVE | wxFD_OVERWRITE_PROMPT); + if(save.ShowModal() != wxID_OK) return; + mpData->SaveHKLIobsIcalc(string(save.GetPath().ToAscii())); + } +@@ -401,7 +401,7 @@ + { + VFN_DEBUG_MESSAGE("WXDiffractionSingleCrystal::OnMenuSaveHKLFcalc()",6) + WXCrystValidateAllUserInput(); +- wxFileDialog save(this,_T("Choose a file"),_T(""),_T(""),_T("*.txt"),wxSAVE | wxOVERWRITE_PROMPT); ++ wxFileDialog save(this,_T("Choose a file"),_T(""),_T(""),_T("*.txt"),wxFD_SAVE | wxFD_OVERWRITE_PROMPT); + if(save.ShowModal() != wxID_OK) return; + ofstream os(save.GetPath().ToAscii()); + mpData->PrintFhklCalcDetail(os); +--- a/ObjCryst/wxCryst/wxRefinableObj.cpp ++++ b/ObjCryst/wxCryst/wxRefinableObj.cpp +@@ -396,7 +396,7 @@ + if(obj==0) return; + VFN_DEBUG_ENTRY("WXCrystRegistry::RemoveWXCrystObj(WXCrystObj*)",6) + mList.Remove(obj); +- mpSizer->Remove(obj); ++ mpSizer->Detach(obj); + obj->Destroy(); + this->BottomLayout(0); + VFN_DEBUG_EXIT("WXCrystRegistry::RemoveWXCrystObj(WXCrystObj*):End",6) +@@ -442,7 +442,7 @@ + for(int i=0;i<reg.GetNb();i++) + *(choices+i)=wxString::FromAscii((reg.GetObj(i).GetClassName()+":"+reg.GetObj(i).GetName()).c_str()); + wxSingleChoiceDialog dialog +- (parent,wxString::FromAscii(message.c_str()),_T("Choose"),reg.GetNb(),choices,0,wxOK | wxCANCEL); ++ (parent,wxString::FromAscii(message.c_str()),_T("Choose"),reg.GetNb(),choices,(void**)0,wxOK | wxCANCEL); + dialog.SetSize(300,300); + if(wxID_OK!=dialog.ShowModal()) + { +@@ -489,7 +489,7 @@ + for(int i=0;i<reg.GetNb();i++) + *(choices+i)=wxString::FromAscii((reg.GetObj(i).GetClassName()+":"+reg.GetObj(i).GetName()).c_str()); + wxSingleChoiceDialog dialog +- (parent,wxString::FromAscii(message.c_str()),_T("Choose"),reg.GetNb(),choices,0,wxOK | wxCANCEL); ++ (parent,wxString::FromAscii(message.c_str()),_T("Choose"),reg.GetNb(),choices,(void**)0,wxOK | wxCANCEL); + dialog.SetSize(300,300); + if(wxID_OK!=dialog.ShowModal()) + { +@@ -625,7 +625,7 @@ + void WXRefinableObj::OnMenuSave(wxCommandEvent & WXUNUSED(event)) + { + VFN_DEBUG_MESSAGE("WXRefinableObj::OnButtonSave()",6) +- wxFileDialog save(this,_T("Choose a file"),_T(""),_T(""),_T("*.xml"),wxSAVE | wxOVERWRITE_PROMPT); ++ wxFileDialog save(this,_T("Choose a file"),_T(""),_T(""),_T("*.xml"),wxFD_SAVE | wxFD_OVERWRITE_PROMPT); + if(save.ShowModal() != wxID_OK) return; + + ofstream out(save.GetPath().ToAscii()); +@@ -640,7 +640,7 @@ + { + VFN_DEBUG_MESSAGE("WXRefinableObj::OnButtonLoad()",6) + wxFileDialog *open= new wxFileDialog(this,_T("Choose a file"),_T(""),_T(""),_T("*.xml"), +- wxOPEN | wxFILE_MUST_EXIST); ++ wxFD_OPEN | wxFD_FILE_MUST_EXIST); + if(open->ShowModal() != wxID_OK) return; + + ifstream fin(open->GetPath().ToAscii()); +--- a/ObjCryst/wxCryst/wxMolecule.cpp ++++ b/ObjCryst/wxCryst/wxMolecule.cpp +@@ -45,7 +45,7 @@ + for(unsigned int i=0;i<reg.size();i++) + choices[i]= wxString::FromAscii((reg[i]->GetName()).c_str()); + wxSingleChoiceDialog dialog +- (parent,message.c_str(),"Choose",reg.size(),choices,0,wxOK | wxCANCEL); ++ (parent,message.c_str(),"Choose",reg.size(),choices,(void**)0,wxOK | wxCANCEL); + dialog.SetSize(300,300); + if(wxID_OK!=dialog.ShowModal()) return 0; + choice=dialog.GetSelection(); +@@ -60,7 +60,7 @@ + for(unsigned int i=0;i<reg.size();i++) + choices[i]= wxString::FromAscii((reg[i]->GetName()).c_str()); + wxSingleChoiceDialog dialog +- (parent, wxString::FromAscii(message.c_str()),_T("Choose"),reg.size(),choices,0,wxOK | wxCANCEL); ++ (parent, wxString::FromAscii(message.c_str()),_T("Choose"),reg.size(),choices,(void**)0,wxOK | wxCANCEL); + dialog.SetSize(300,300); + if(wxID_OK!=dialog.ShowModal()) return 0; + choice=dialog.GetSelection(); +@@ -1565,7 +1565,7 @@ + if(event.GetId()==ID_MOLECULE_MENU_FILE_2ZMATRIX) + { + wxFileDialog open(this,_T("Choose a file to save the Z-matrix to"),_T(""),_T(""),_T("*.fhz"), +- wxSAVE | wxOVERWRITE_PROMPT); ++ wxFD_SAVE | wxFD_OVERWRITE_PROMPT); + if(open.ShowModal() != wxID_OK) return; + ofstream fout (open.GetPath().ToAscii()); + if(fout) +@@ -1602,7 +1602,7 @@ + else + { + wxFileDialog open(this,_T("Choose a file to save the (named) Z-matrix to"),_T(""),_T(""),_T("*.zmat"), +- wxSAVE | wxOVERWRITE_PROMPT); ++ wxFD_SAVE | wxFD_OVERWRITE_PROMPT); + + if(open.ShowModal() != wxID_OK) return; + +--- a/ObjCryst/wxCryst/wxCryst.cpp ++++ b/ObjCryst/wxCryst/wxCryst.cpp +@@ -140,7 +140,7 @@ + + WXCrystObjBasic::~WXCrystObjBasic() + { +- if(this->GetContainingSizer()!=0) this->GetContainingSizer()->Remove(this); ++ if(this->GetContainingSizer()!=0) this->GetContainingSizer()->Detach(this); + // Every time we destroy a widget, validate all input to make sure the destroyed + // widget does not have some unread info. + WXCrystValidateAllUserInput(); +--- a/Fox/src/Fox.cpp ++++ b/Fox/src/Fox.cpp +@@ -312,7 +312,7 @@ + // implementation + // ============================================================================ + +-int STRCMP(wxChar* s1,wxChar* s2) {return wxStrcmp(s1,s2);} ++#define STRCMP(S1,S2) wxStrcmp(S1,S2) + + // 'Main program' equivalent: the program execution "starts" here + bool MyApp::OnInit() +@@ -1470,7 +1470,7 @@ + if(event.GetId()==MENU_FILE_LOAD) + { + open= new wxFileDialog(this,_T("Choose File :"), +- _T(""),_T(""),_T("FOX files (*.xml,*.xml.gz) or CIF (*.cif)|*.xml;*.xml.gz;*.cif"),wxOPEN | wxFILE_MUST_EXIST); ++ _T(""),_T(""),_T("FOX files (*.xml,*.xml.gz) or CIF (*.cif)|*.xml;*.xml.gz;*.cif"),wxFD_OPEN | wxFD_FILE_MUST_EXIST); + if(open->ShowModal() != wxID_OK) return; + wxString name=open->GetPath(); + if(name.Mid(name.size()-4)==wxString(_T(".xml"))) +@@ -1619,7 +1619,7 @@ + if(compressed) + { + wxFileDialog open(this,_T("Choose File to save all objects:"), +- _T(""),_T(""),_T("FOX compressed files (*.xml.gz)|*.xml.gz"), wxSAVE | wxOVERWRITE_PROMPT); ++ _T(""),_T(""),_T("FOX compressed files (*.xml.gz)|*.xml.gz"), wxFD_SAVE | wxFD_OVERWRITE_PROMPT); + if(open.ShowModal() != wxID_OK) return; + wxString name=open.GetPath(); + if(name.substr(name.size()-7,7)!=_T(".xml.gz")) +@@ -1637,7 +1637,7 @@ + else + { + wxFileDialog open(this,_T("Choose File to save all objects:"), +- _T(""),_T(""),_T("*.xml"), wxSAVE | wxOVERWRITE_PROMPT); ++ _T(""),_T(""),_T("*.xml"), wxFD_SAVE | wxFD_OVERWRITE_PROMPT); + if(open.ShowModal() != wxID_OK) return; + wxString name=open.GetPath(); + if(name.substr(name.size()-4,4)!=_T(".xml")) +--- a/Fox/src/WXFoxServer.cpp ++++ b/Fox/src/WXFoxServer.cpp +@@ -403,7 +403,7 @@ + { + wxFileDialog *dlg; + dlg = new wxFileDialog(this,_T("Choose File :"), +- _T(""),_T(""),_T("FOX files (*.xml,*.xml.gz)|*.xml;*.xml.gz"),wxOPEN | wxFILE_MUST_EXIST); ++ _T(""),_T(""),_T("FOX files (*.xml,*.xml.gz)|*.xml;*.xml.gz"),wxFD_OPEN | wxFD_FILE_MUST_EXIST); + if(dlg->ShowModal() != wxID_OK) return; + wxString path=dlg->GetPath(); + +--- a/ObjCryst/wxCryst/wxZScatterer.cpp ++++ b/ObjCryst/wxCryst/wxZScatterer.cpp +@@ -582,7 +582,7 @@ + void WXZScatterer::OnMenuImportZMatrix(wxCommandEvent &WXUNUSED(event)) + { + wxFileDialog open(this,_T("Choose a file"),_T(""),_T(""),_T("*.fhz"), +- wxOPEN | wxFILE_MUST_EXIST); ++ wxFD_OPEN | wxFD_FILE_MUST_EXIST); + if(open.ShowModal() != wxID_OK) return; + ifstream fin (open.GetPath().ToAscii()); + if(!fin) +@@ -595,7 +595,7 @@ + } + void WXZScatterer::OnMenuExportZMatrix(wxCommandEvent &WXUNUSED(event)) + { +- wxFileDialog save(this,_T("Choose a file"),_T(""),_T(""),_T("*.fhz"),wxSAVE); ++ wxFileDialog save(this,_T("Choose a file"),_T(""),_T(""),_T("*.fhz"),wxFD_SAVE); + if(save.ShowModal() != wxID_OK) return; + ofstream fout (save.GetPath().ToAscii()); + if(!fout) +--- a/ObjCryst/wxCryst/mpVector.cpp ++++ b/ObjCryst/wxCryst/mpVector.cpp +@@ -104,9 +104,9 @@ + return mp4Vector(*this); + } + +-mpVector::operator char*() const ++mpVector::operator const char*() const + { +- return (char*)wxString::Format(_T("(%f %f %f)"), x, y, z).c_str(); ++ return (const char*)wxString::Format(_T("(%f %f %f)"), x, y, z).c_str(); + } + + +--- a/ObjCryst/wxCryst/mpVector.h ++++ b/ObjCryst/wxCryst/mpVector.h +@@ -55,7 +55,7 @@ + void operator = (const mpVector& other); + operator mp4Vector() const; + +- operator char*() const; ++ operator const char*() const; + + }; +