--- Begin Message ---
Package: objcryst-fox
Version: 1.9.6.0-2
Severity: normal
Tags: patch
User: freewx-ma...@lists.alioth.debian.org
Usertags: wx3.0
Dear maintainer,
We're aiming to migrate the archive to using wxwidgets3.0 instead of
wxwidgets2.8, and intend to drop wxwidgets2.8 before jessie is released.
I've rebuilt your package using the attached patch. The "fox" binary
runs, but I don't have the data required to usefully test much of its
functionality.
I'm happy to NMU this change if you wish me to - just let me know.
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-05-30 21:37:32.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)
+ * debian/control: 'polyhedras' -> 'polyhedra' in the description ('polyhedra'
+ is the plural form of 'polyhedron').
+
+ -- Olly Betts <o...@survex.com> Fri, 30 May 2014 21:37: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;
+
+ };
+
--- End Message ---