Here's the patch I mentioned in my previous comment.
Cheers, Olly
diff -Nru grass-6.4.3/debian/changelog grass-6.4.3/debian/changelog --- grass-6.4.3/debian/changelog 2013-12-17 00:51:16.000000000 +1300 +++ grass-6.4.3/debian/changelog 2014-08-16 16:05:18.000000000 +1200 @@ -1,3 +1,12 @@ +grass (6.4.3-3.1) unstable; urgency=low + + * Non-maintainer upload. + * Update to depend on python-wxgtk3.0 rather than python-wxgtk2.8. + - new patch: wxpy3.0-compat.patch + * Drop "Build-Conflicts: wx2.6-headers" as wx2.6 was removed pre-wheezy. + + -- Olly Betts <o...@survex.com> Sat, 16 Aug 2014 16:04:44 +1200 + grass (6.4.3-3) unstable; urgency=medium * Now b-d on current libgdal-dev. diff -Nru grass-6.4.3/debian/control grass-6.4.3/debian/control --- grass-6.4.3/debian/control 2013-12-17 00:51:16.000000000 +1300 +++ grass-6.4.3/debian/control 2014-08-07 14:51:24.000000000 +1200 @@ -27,17 +27,17 @@ libproj-dev, proj-bin, libreadline-dev | libreadline6-dev, libsqlite3-dev, + libwxgtk3.0-dev, libxmu-dev, #install optipng if compressing the PNG images in the programmers' manual # optipng, python (>= 2.6.6-3~), - python-wxgtk2.8, libwxgtk2.8-dev, + python-wxgtk3.0, python-dev, tcl-dev (>= 8.5), tk-dev (>= 8.5), unixodbc-dev, hardening-includes Standards-Version: 3.9.5 -Build-Conflicts: wx2.6-headers Homepage: http://grass.osgeo.org/ Vcs-Browser: http://git.debian.org/?p=pkg-grass/grass.git Vcs-Git: git://git.debian.org/git/pkg-grass/grass.git @@ -109,7 +109,7 @@ Depends: ${shlibs:Depends}, grass-core, ${python:Depends}, - python-wxgtk2.8, + python-wxgtk3.0, # pyGL needed for wxNviz python-opengl, xterm | x-terminal-emulator, diff -Nru grass-6.4.3/debian/control.in grass-6.4.3/debian/control.in --- grass-6.4.3/debian/control.in 2013-12-17 00:51:16.000000000 +1300 +++ grass-6.4.3/debian/control.in 2014-08-07 14:51:12.000000000 +1200 @@ -27,17 +27,17 @@ libproj-dev, proj-bin, libreadline-dev | libreadline6-dev, libsqlite3-dev, + libwxgtk3.0-dev, libxmu-dev, #install optipng if compressing the PNG images in the programmers' manual # optipng, python (>= 2.6.6-3~), - python-wxgtk2.8, libwxgtk2.8-dev, + python-wxgtk3.0, python-dev, tcl-dev (>= 8.5), tk-dev (>= 8.5), unixodbc-dev, hardening-includes Standards-Version: 3.9.5 -Build-Conflicts: wx2.6-headers Homepage: http://grass.osgeo.org/ Vcs-Browser: http://git.debian.org/?p=pkg-grass/grass.git Vcs-Git: git://git.debian.org/git/pkg-grass/grass.git @@ -109,7 +109,7 @@ Depends: ${shlibs:Depends}, grass-core, ${python:Depends}, - python-wxgtk2.8, + python-wxgtk3.0, # pyGL needed for wxNviz python-opengl, xterm | x-terminal-emulator, diff -Nru grass-6.4.3/debian/patches/series grass-6.4.3/debian/patches/series --- grass-6.4.3/debian/patches/series 2013-12-17 00:51:16.000000000 +1300 +++ grass-6.4.3/debian/patches/series 2014-08-07 15:40:42.000000000 +1200 @@ -7,3 +7,4 @@ barscale_ui svn-any-version fix_big-endian_issues +wxpy3.0-compat.patch diff -Nru grass-6.4.3/debian/patches/wxpy3.0-compat.patch grass-6.4.3/debian/patches/wxpy3.0-compat.patch --- grass-6.4.3/debian/patches/wxpy3.0-compat.patch 1970-01-01 12:00:00.000000000 +1200 +++ grass-6.4.3/debian/patches/wxpy3.0-compat.patch 2014-08-16 18:01:04.000000000 +1200 @@ -0,0 +1,556 @@ +Description: Fix to work with wxPython 3.0 +Author: Olly Betts <o...@survex.com> +Last-Update: 2014-08-16 + +--- a/gui/wxpython/wxplot/profile.py ++++ b/gui/wxpython/wxplot/profile.py +@@ -291,7 +291,7 @@ + if len(self.seglist) > 0 : + self.ppoints = plot.PolyMarker(self.seglist, + legend = ' ' + self.properties['marker']['legend'], +- colour = wx.Color(self.properties['marker']['color'][0], ++ colour = wx.Colour(self.properties['marker']['color'][0], + self.properties['marker']['color'][1], + self.properties['marker']['color'][2], + 255), +@@ -302,7 +302,7 @@ + + # Add profile distance/elevation pairs to plot data list for each raster profiled + for r in self.rasterList: +- col = wx.Color(self.raster[r]['pcolor'][0], ++ col = wx.Colour(self.raster[r]['pcolor'][0], + self.raster[r]['pcolor'][1], + self.raster[r]['pcolor'][2], + 255) +@@ -332,7 +332,7 @@ + dlg = wx.FileDialog(parent = self, + message = _("Choose prefix for file(s) where to save profile values..."), + defaultDir = os.getcwd(), +- wildcard = _("Comma separated value (*.csv)|*.csv"), style = wx.SAVE) ++ wildcard = _("Comma separated value (*.csv)|*.csv"), style = wx.FD_SAVE) + pfile = [] + if dlg.ShowModal() == wx.ID_OK: + path = dlg.GetPath() +--- a/gui/wxpython/wxgui.py ++++ b/gui/wxpython/wxgui.py +@@ -51,7 +54,6 @@ + + @return True + """ +- wx.InitAllImageHandlers() + + # create splash screen + introImagePath = os.path.join(globalvar.ETCIMGDIR, "silesia_splash.png") +--- a/gui/wxpython/wxplot/base.py ++++ b/gui/wxpython/wxplot/base.py +@@ -110,7 +110,7 @@ + + + def _createColorDict(self): +- """!Create color dictionary to return wx.Color tuples ++ """!Create color dictionary to return wx.Colour tuples + for assigning colors to images in imagery groups""" + + self.colorDict = {} +@@ -287,7 +287,7 @@ + # + self.client.SetEnableGrid(self.properties['grid']['enabled']) + +- self.client.SetGridColour(wx.Color(self.properties['grid']['color'][0], ++ self.client.SetGridColour(wx.Colour(self.properties['grid']['color'][0], + self.properties['grid']['color'][1], + self.properties['grid']['color'][2], + 255)) +--- a/gui/wxpython/vdigit/wxdisplay.py ++++ b/gui/wxpython/vdigit/wxdisplay.py +@@ -909,7 +909,7 @@ + subkey = 'value')) + continue + +- color = wx.Color(UserSettings.Get(group = 'vdigit', key = 'symbol', ++ color = wx.Colour(UserSettings.Get(group = 'vdigit', key = 'symbol', + subkey = [key, 'color'])[0], + UserSettings.Get(group = 'vdigit', key = 'symbol', + subkey = [key, 'color'])[1], +--- a/gui/wxpython/psmap/utils.py ++++ b/gui/wxpython/psmap/utils.py +@@ -149,7 +149,7 @@ + color = (grass.parse_color(rgb)[0]*255, + grass.parse_color(rgb)[1]*255, + grass.parse_color(rgb)[2]*255) +- color = wx.Color(*color) ++ color = wx.Colour(*color) + if color.IsOk(): + return color + else: +--- a/gui/wxpython/psmap/frame.py ++++ b/gui/wxpython/psmap/frame.py +@@ -92,15 +92,15 @@ + self.pen = { + 'paper': wx.Pen(colour = "BLACK", width = 1), + 'margins': wx.Pen(colour = "GREY", width = 1), +- 'map': wx.Pen(colour = wx.Color(86, 122, 17), width = 2), +- 'rasterLegend': wx.Pen(colour = wx.Color(219, 216, 4), width = 2), +- 'vectorLegend': wx.Pen(colour = wx.Color(219, 216, 4), width = 2), +- 'mapinfo': wx.Pen(colour = wx.Color(5, 184, 249), width = 2), +- 'scalebar': wx.Pen(colour = wx.Color(150, 150, 150), width = 2), +- 'image': wx.Pen(colour = wx.Color(255, 150, 50), width = 2), +- 'northArrow': wx.Pen(colour = wx.Color(200, 200, 200), width = 2), +- 'point': wx.Pen(colour = wx.Color(100, 100, 100), width = 2), +- 'line': wx.Pen(colour = wx.Color(0, 0, 0), width = 2), ++ 'map': wx.Pen(colour = wx.Colour(86, 122, 17), width = 2), ++ 'rasterLegend': wx.Pen(colour = wx.Colour(219, 216, 4), width = 2), ++ 'vectorLegend': wx.Pen(colour = wx.Colour(219, 216, 4), width = 2), ++ 'mapinfo': wx.Pen(colour = wx.Colour(5, 184, 249), width = 2), ++ 'scalebar': wx.Pen(colour = wx.Colour(150, 150, 150), width = 2), ++ 'image': wx.Pen(colour = wx.Colour(255, 150, 50), width = 2), ++ 'northArrow': wx.Pen(colour = wx.Colour(200, 200, 200), width = 2), ++ 'point': wx.Pen(colour = wx.Colour(100, 100, 100), width = 2), ++ 'line': wx.Pen(colour = wx.Colour(0, 0, 0), width = 2), + 'box': wx.Pen(colour = 'RED', width = 2, style = wx.SHORT_DASH), + 'select': wx.Pen(colour = 'BLACK', width = 1, style = wx.SHORT_DASH), + 'resize': wx.Pen(colour = 'BLACK', width = 1) +@@ -108,14 +108,14 @@ + self.brush = { + 'paper': wx.WHITE_BRUSH, + 'margins': wx.TRANSPARENT_BRUSH, +- 'map': wx.Brush(wx.Color(151, 214, 90)), +- 'rasterLegend': wx.Brush(wx.Color(250, 247, 112)), +- 'vectorLegend': wx.Brush(wx.Color(250, 247, 112)), +- 'mapinfo': wx.Brush(wx.Color(127, 222, 252)), +- 'scalebar': wx.Brush(wx.Color(200, 200, 200)), +- 'image': wx.Brush(wx.Color(255, 200, 50)), +- 'northArrow': wx.Brush(wx.Color(255, 255, 255)), +- 'point': wx.Brush(wx.Color(200, 200, 200)), ++ 'map': wx.Brush(wx.Colour(151, 214, 90)), ++ 'rasterLegend': wx.Brush(wx.Colour(250, 247, 112)), ++ 'vectorLegend': wx.Brush(wx.Colour(250, 247, 112)), ++ 'mapinfo': wx.Brush(wx.Colour(127, 222, 252)), ++ 'scalebar': wx.Brush(wx.Colour(200, 200, 200)), ++ 'image': wx.Brush(wx.Colour(255, 200, 50)), ++ 'northArrow': wx.Brush(wx.Colour(255, 255, 255)), ++ 'point': wx.Brush(wx.Colour(200, 200, 200)), + 'line': wx.TRANSPARENT_BRUSH, + 'box': wx.TRANSPARENT_BRUSH, + 'select':wx.TRANSPARENT_BRUSH, +@@ -392,7 +392,7 @@ + filename = '' + dlg = wx.FileDialog(self, message = _("Save file as"), defaultDir = "", + defaultFile = mapName, wildcard = wildcard, +- style = wx.CHANGE_DIR | wx.SAVE | wx.OVERWRITE_PROMPT) ++ style = wx.FD_CHANGE_DIR | wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT) + if dlg.ShowModal() == wx.ID_OK: + filename = dlg.GetPath() + suffix = suffix[dlg.GetFilterIndex()] +@@ -417,7 +417,7 @@ + filename = '' + dlg = wx.FileDialog(self, message = "Find instructions file", defaultDir = "", + defaultFile = '', wildcard = "All files (*.*)|*.*", +- style = wx.CHANGE_DIR|wx.OPEN) ++ style = wx.FD_CHANGE_DIR|wx.FD_OPEN) + if dlg.ShowModal() == wx.ID_OK: + filename = dlg.GetPath() + dlg.Destroy() +@@ -1953,7 +1953,7 @@ + pdc.SetFont(font) + textExtent = dc.GetTextExtent(text) + textRect = wx.Rect(0, 0, *textExtent).CenterIn(bb) +- pdc.SetTextForeground(wx.Color(100,100,100,200)) ++ pdc.SetTextForeground(wx.Colour(100,100,100,200)) + pdc.SetBackgroundMode(wx.TRANSPARENT) + pdc.DrawLabel(text = text, rect = textRect) + +@@ -2221,7 +2221,6 @@ + gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True) + + app = wx.PySimpleApp() +- wx.InitAllImageHandlers() + frame = PsMapFrame() + frame.Show() + +--- a/gui/wxpython/psmap/dialogs.py ++++ b/gui/wxpython/psmap/dialogs.py +@@ -1970,7 +1970,7 @@ + self.epsFileCtrl = filebrowse.FileBrowseButton(panel, id = wx.ID_ANY, labelText = '', + buttonText = _("Browse"), toolTip = _("Type filename or click browse to choose file"), + dialogTitle = _("Choose a file"), startDirectory = '', initialValue = '', +- fileMask = "Encapsulated PostScript (*.eps)|*.eps|All files (*.*)|*.*", fileMode = wx.OPEN) ++ fileMask = "Encapsulated PostScript (*.eps)|*.eps|All files (*.*)|*.*", fileMode = wx.FD_OPEN) + if not self.vPropertiesDict['eps']: + self.epsFileCtrl.SetValue('') + else: #eps chosen +@@ -2159,7 +2159,7 @@ + self.patFileCtrl = filebrowse.FileBrowseButton(panel, id = wx.ID_ANY, labelText = _("Choose pattern file:"), + buttonText = _("Browse"), toolTip = _("Type filename or click browse to choose file"), + dialogTitle = _("Choose a file"), startDirectory = self.patternPath, initialValue = '', +- fileMask = "Encapsulated PostScript (*.eps)|*.eps|All files (*.*)|*.*", fileMode = wx.OPEN) ++ fileMask = "Encapsulated PostScript (*.eps)|*.eps|All files (*.*)|*.*", fileMode = wx.FD_OPEN) + self.patWidthText = wx.StaticText(panel, id = wx.ID_ANY, label = _("pattern line width (pts):")) + self.patWidthSpin = wx.SpinCtrl(panel, id = wx.ID_ANY, min = 1, max = 25, initial = 1) + self.patScaleText = wx.StaticText(panel, id = wx.ID_ANY, label = _("pattern scale factor:")) +@@ -4346,7 +4346,7 @@ + buffer = wx.EmptyBitmap(*self.previewSize) + dc = wx.MemoryDC() + dc.SelectObject(buffer) +- dc.SetBrush(wx.Brush(wx.Color(250, 250, 250))) ++ dc.SetBrush(wx.Brush(wx.Colour(250, 250, 250))) + dc.Clear() + extent = dc.GetTextExtent(warning) + posX = self.previewSize[0] / 2 - extent[0] / 2 +--- a/gui/wxpython/nviz/tools.py ++++ b/gui/wxpython/nviz/tools.py +@@ -520,7 +520,7 @@ + self.mainPanelData.SetupScrolling(scroll_x = False) + ## style = fpb.CaptionBarStyle() + ## style.SetCaptionStyle(fpb.CAPTIONBAR_FILLED_RECTANGLE) +-## style.SetFirstColour(wx.Color(250,250,250)) ++## style.SetFirstColour(wx.Colour(250,250,250)) + try:# wxpython <= 2.8.10 + self.foldpanelData = fpb.FoldPanelBar(parent = self.mainPanelData, id = wx.ID_ANY, + style = fpb.FPB_DEFAULT_STYLE, +@@ -3108,14 +3108,14 @@ + return str(color[0]) + ':' + str(color[1]) + ':' + str(color[2]) + + def _getColorFromString(self, color, delim = ':'): +- """!Convert color string (R:G:B) to wx.Color ++ """!Convert color string (R:G:B) to wx.Colour + + @param color string + @param delim delimiter + +- @return wx.Color instance ++ @return wx.Colour instance + """ +- return wx.Color(*map(int, color.split(delim))) ++ return wx.Colour(*map(int, color.split(delim))) + + def _get3dRange(self, name): + """!Gelper func for getting range of 3d map""" +--- a/gui/wxpython/mapdisp/main.py ++++ b/gui/wxpython/mapdisp/main.py +@@ -45,7 +45,6 @@ + + class MapApp(wx.App): + def OnInit(self): +- wx.InitAllImageHandlers() + if __name__ == "__main__": + self.cmdTimeStamp = os.path.getmtime(monFile['cmd']) + self.Map = Map(cmdfile = monFile['cmd'], mapfile = monFile['map'], +--- a/gui/wxpython/modules/colorrules.py ++++ b/gui/wxpython/modules/colorrules.py +@@ -395,7 +395,7 @@ + buttonText = _('Load'), + toolTip = _("Type filename or click to choose " + "file and load color table"), +- startDirectory = os.getcwd(), fileMode = wx.OPEN, ++ startDirectory = os.getcwd(), fileMode = wx.FD_OPEN, + changeCallback = self.OnLoadRulesFile) + self.saveRules = filebrowse.FileBrowseButton(parent = parent, id = wx.ID_ANY, fileMask = '*', + size = globalvar.DIALOG_GSELECT_SIZE, +@@ -404,7 +404,7 @@ + toolTip = _("Type filename or click to choose " + "file and save color table"), + buttonText = _('Save'), +- startDirectory = os.getcwd(), fileMode = wx.SAVE, ++ startDirectory = os.getcwd(), fileMode = wx.FD_SAVE, + changeCallback = self.OnSaveRulesFile) + + default = wx.Button(parent = parent, id = wx.ID_ANY, label = _("Reload default table")) +--- a/gui/wxpython/modules/histogram.py ++++ b/gui/wxpython/modules/histogram.py +@@ -414,7 +414,7 @@ + message = _("Choose a file name to save the image " + "(no need to add extension)"), + wildcard = filetype, +- style=wx.SAVE | wx.FD_OVERWRITE_PROMPT) ++ style=wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT) + + if dlg.ShowModal() == wx.ID_OK: + path = dlg.GetPath() +--- a/gui/wxpython/modules/mcalc_builder.py ++++ b/gui/wxpython/modules/mcalc_builder.py +@@ -515,7 +515,7 @@ + dlg = wx.FileDialog(parent = self, + message = _("Choose a file name to save the expression"), + wildcard = _("Expression file (*)|*"), +- style = wx.SAVE | wx.FD_OVERWRITE_PROMPT) ++ style = wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT) + if dlg.ShowModal() == wx.ID_OK: + path = dlg.GetPath() + if not path: +@@ -536,7 +536,7 @@ + dlg = wx.FileDialog(parent = self, + message = _("Choose a file name to load the expression"), + wildcard = _("Expression file (*)|*"), +- style = wx.OPEN) ++ style = wx.FD_OPEN) + if dlg.ShowModal() == wx.ID_OK: + path = dlg.GetPath() + if not path: +--- a/gui/wxpython/location_wizard/wizard.py ++++ b/gui/wxpython/location_wizard/wizard.py +@@ -72,6 +72,8 @@ + # main sizers + self.pagesizer = wx.BoxSizer(wx.VERTICAL) + self.sizer = wx.GridBagSizer(vgap = 0, hgap = 0) ++ self.sizer.SetCols(5) ++ self.sizer.SetRows(6) + + def DoLayout(self): + """!Do page layout""" +@@ -1169,7 +1171,7 @@ + """!Choose file""" + dlg = wx.FileDialog(self, + _("Select georeferenced file"), +- os.getcwd(), "", "*.*", wx.OPEN) ++ os.getcwd(), "", "*.*", wx.FD_OPEN) + if dlg.ShowModal() == wx.ID_OK: + path = dlg.GetPath() + self.tfile.SetValue(path) +@@ -1242,7 +1244,7 @@ + message = _("Select Well Known Text (WKT) .prj file"), + defaultDir = os.getcwd(), + wildcard = "PRJ files (*.prj)|*.prj|Files (*.*)|*.*", +- style = wx.OPEN) ++ style = wx.FD_OPEN) + + if dlg.ShowModal() == wx.ID_OK: + path = dlg.GetPath() +@@ -1420,7 +1422,7 @@ + path = os.getcwd() + + dlg = wx.FileDialog(parent = self, message = _("Choose EPSG codes file"), +- defaultDir = path, defaultFile = "", wildcard = "*", style = wx.OPEN) ++ defaultDir = path, defaultFile = "", wildcard = "*", style = wx.FD_OPEN) + + if dlg.ShowModal() == wx.ID_OK: + path = dlg.GetPath() +--- a/gui/wxpython/mapdisp/frame.py ++++ b/gui/wxpython/mapdisp/frame.py +@@ -576,7 +576,7 @@ + message = _("Choose a file name to save the image " + "(no need to add extension)"), + wildcard = filetype, +- style = wx.SAVE | wx.FD_OVERWRITE_PROMPT) ++ style = wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT) + + if dlg.ShowModal() == wx.ID_OK: + path = dlg.GetPath() +--- a/gui/wxpython/gui_core/widgets.py ++++ b/gui/wxpython/gui_core/widgets.py +@@ -182,7 +182,7 @@ + + dc = wx.MemoryDC() + dc.SelectObject(buffer) +- maskColor = wx.Color(255, 255, 255) ++ maskColor = wx.Colour(255, 255, 255) + dc.SetBrush(wx.Brush(maskColor)) + dc.Clear() + +@@ -202,23 +202,23 @@ + + def DrawRecord(self, dc, size): + """!Draw record symbol""" +- dc.SetBrush(wx.Brush(wx.Color(255, 0, 0))) ++ dc.SetBrush(wx.Brush(wx.Colour(255, 0, 0))) + dc.DrawCircle(size[0]/2, size[1] / 2, size[0] / 2) + + def DrawStop(self, dc, size): + """!Draw stop symbol""" +- dc.SetBrush(wx.Brush(wx.Color(50, 50, 50))) ++ dc.SetBrush(wx.Brush(wx.Colour(50, 50, 50))) + dc.DrawRectangle(0, 0, size[0], size[1]) + + def DrawPlay(self, dc, size): + """!Draw play symbol""" +- dc.SetBrush(wx.Brush(wx.Color(0, 255, 0))) ++ dc.SetBrush(wx.Brush(wx.Colour(0, 255, 0))) + points = (wx.Point(0, 0), wx.Point(0, size[1]), wx.Point(size[0], size[1] / 2)) + dc.DrawPolygon(points) + + def DrawPause(self, dc, size): + """!Draw pause symbol""" +- dc.SetBrush(wx.Brush(wx.Color(50, 50, 50))) ++ dc.SetBrush(wx.Brush(wx.Colour(50, 50, 50))) + dc.DrawRectangle(0, 0, 2 * size[0] / 5, size[1]) + dc.DrawRectangle(3 * size[0] / 5, 0, 2 * size[0] / 5, size[1]) + +--- a/gui/wxpython/gui_core/ghelp.py ++++ b/gui/wxpython/gui_core/ghelp.py +@@ -88,6 +88,7 @@ + """!Do layout""" + sizer = wx.StaticBoxSizer(self.box, wx.HORIZONTAL) + gridSizer = wx.GridBagSizer(hgap = 3, vgap = 3) ++ gridSizer.SetCols(2) + gridSizer.AddGrowableCol(1) + + gridSizer.Add(item = self.searchBy, +@@ -397,6 +398,7 @@ + infoTxt.SetupScrolling() + infoSizer = wx.BoxSizer(wx.VERTICAL) + infoGridSizer = wx.GridBagSizer(vgap = 5, hgap = 5) ++ infoGridSizer.SetCols(2) + infoGridSizer.AddGrowableCol(0) + infoGridSizer.AddGrowableCol(1) + logo = os.path.join(globalvar.ETCDIR, "gui", "icons", "grass-64x64.png") +@@ -776,7 +778,6 @@ + in the Panel. + """ + self.parent = parent +- wx.InitAllImageHandlers() + wx.html.HtmlWindow.__init__(self, parent = parent, **kwargs) + + gisbase = os.getenv("GISBASE") +--- a/gui/wxpython/gui_core/goutput.py ++++ b/gui/wxpython/gui_core/goutput.py +@@ -662,7 +662,7 @@ + defaultFile = "grass_cmd_output.txt", + wildcard = _("%(txt)s (*.txt)|*.txt|%(files)s (*)|*") % + {'txt': _("Text files"), 'files': _("Files")}, +- style = wx.SAVE | wx.FD_OVERWRITE_PROMPT) ++ style = wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT) + + # Show the dialog and retrieve the user response. If it is the OK response, + # process the data. +@@ -812,7 +812,7 @@ + defaultFile = "grass_cmd_log.txt", + wildcard = _("%(txt)s (*.txt)|*.txt|%(files)s (*)|*") % + {'txt': _("Text files"), 'files': _("Files")}, +- style = wx.SAVE) ++ style = wx.FD_SAVE) + if dlg.ShowModal() == wx.ID_OK: + self.cmdFileProtocol = dlg.GetPath() + else: +--- a/gui/wxpython/gui_core/forms.py ++++ b/gui/wxpython/gui_core/forms.py +@@ -1296,9 +1296,9 @@ + # file selector + elif p.get('prompt','') != 'color' and p.get('element', '') == 'file': + if p.get('age', 'new_file') == 'new_file': +- fmode = wx.SAVE ++ fmode = wx.FD_SAVE + else: +- fmode = wx.OPEN ++ fmode = wx.FD_OPEN + fbb = filebrowse.FileBrowseButton(parent = which_panel, id = wx.ID_ANY, fileMask = '*', + size = globalvar.DIALOG_GSELECT_SIZE, labelText = '', + dialogTitle = _('Choose %s') % \ +@@ -1549,7 +1549,7 @@ + dlg = wx.FileDialog(parent = self, + message = _("Save input as..."), + defaultDir = os.getcwd(), +- style = wx.SAVE | wx.FD_OVERWRITE_PROMPT) ++ style = wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT) + + if dlg.ShowModal() == wx.ID_OK: + path = dlg.GetPath() +--- a/gui/wxpython/gmodeler/model.py ++++ b/gui/wxpython/gmodeler/model.py +@@ -901,7 +901,7 @@ + color = UserSettings.Get(group='modeler', key='action', + subkey=('color', 'invalid')) + +- wxColor = wx.Color(color[0], color[1], color[2]) ++ wxColor = wx.Colour(color[0], color[1], color[2]) + self.SetBrush(wx.Brush(wxColor)) + + def _setPen(self): +@@ -1203,7 +1203,7 @@ + else: + color = UserSettings.Get(group = 'modeler', key = 'action', + subkey = ('color', 'invalid')) +- wxColor = wx.Color(color[0], color[1], color[2]) ++ wxColor = wx.Colour(color[0], color[1], color[2]) + self.SetBrush(wx.Brush(wxColor)) + + def _setPen(self): +@@ -1395,7 +1395,7 @@ + color = UserSettings.Get(group='modeler', key='loop', + subkey=('color', 'valid')) + +- wxColor = wx.Color(color[0], color[1], color[2]) ++ wxColor = wx.Colour(color[0], color[1], color[2]) + self.SetBrush(wx.Brush(wxColor)) + + def Enable(self, enabled = True): +--- a/gui/wxpython/gmodeler/frame.py ++++ b/gui/wxpython/gmodeler/frame.py +@@ -551,7 +551,7 @@ + defaultDir = "", + defaultFile = "", + wildcard = filetype, +- style=wx.SAVE | wx.FD_OVERWRITE_PROMPT) ++ style=wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT) + + if dlg.ShowModal() == wx.ID_OK: + path = dlg.GetPath() +@@ -1656,7 +1656,6 @@ + gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True) + + app = wx.PySimpleApp() +- wx.InitAllImageHandlers() + frame = ModelFrame(parent = None) + if len(sys.argv) > 1: + frame.LoadModelFile(sys.argv[1]) +--- a/gui/wxpython/gcp/mapdisplay.py ++++ b/gui/wxpython/gcp/mapdisplay.py +@@ -456,7 +456,7 @@ + message = _("Choose a file name to save the image " + "(no need to add extension)"), + wildcard = filetype, +- style=wx.SAVE | wx.FD_OVERWRITE_PROMPT) ++ style=wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT) + + if dlg.ShowModal() == wx.ID_OK: + path = dlg.GetPath() +--- a/gui/wxpython/gis_set.py ++++ b/gui/wxpython/gis_set.py +@@ -973,7 +973,6 @@ + """!Start-up application""" + + def OnInit(self): +- wx.InitAllImageHandlers() + StartUp = GRASSStartup() + StartUp.CenterOnScreen() + self.SetTopWindow(StartUp) +--- a/gui/wxpython/dbmgr/manager.py ++++ b/gui/wxpython/dbmgr/manager.py +@@ -3102,9 +3102,6 @@ + print >> sys.stderr, __doc__ + sys.exit() + +- #some applications might require image handlers +- wx.InitAllImageHandlers() +- + app = wx.PySimpleApp() + f = AttributeManager(parent = None, id = wx.ID_ANY, + title = "%s - <%s>" % (_("GRASS GIS Attribute Table Manager"), +--- a/gui/wxpython/core/globalvar.py ++++ b/gui/wxpython/core/globalvar.py +@@ -32,7 +32,7 @@ + + def CheckWxVersion(version = [2, 8, 11, 0]): + """!Check wx version""" +- ver = wx.version().split(' ')[0] ++ ver = wx.__version__ + if map(int, ver.split('.')) < version: + return False + +@@ -44,7 +44,7 @@ + return + + minVersion = [2, 8, 1, 1] +- unsupportedVersion = [2, 9, 0, 0] ++ unsupportedVersion = [3, 1, 0, 0] + try: + try: + import wxversion +@@ -53,7 +53,7 @@ + # wxversion.select(str(minVersion[0]) + '.' + str(minVersion[1])) + wxversion.ensureMinimal(str(minVersion[0]) + '.' + str(minVersion[1])) + import wx +- version = wx.version().split(' ')[0] ++ version = wx.__version__ + + if map(int, version.split('.')) < minVersion: + raise ValueError('Your wxPython version is %s.%s.%s.%s' % tuple(version.split('.')))
_______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel