[GRASS-dev] Some wxPython 3 issues

Hi,

I have migrated my laptop from Fedora21 to F22 which comes with
currently wxPython-3:

GRASS version: 7.1.svn
GRASS SVN revision: 66061M
Build date: 2015-08-29
Build platform: x86_64-unknown-linux-gnu
GDAL: 1.11.2
PROJ.4: 4.8.0
GEOS: 3.4.2
SQLite: 3.8.10.2
Python: 2.7.10
wxPython: 3.0.2.0

There are a few issues with the wxPython 3 compatibility (I suppose):

- GUI startup: the splash screen has a top window frame now including
a minimizer (I think that was suppressed in wxpython2)

- WHile the GUI comes up ok, the following warnings appear at startup time:
(wxgui.py:9918): GLib-GObject-WARNING **: The property
GtkImageMenuItem:use-stock is deprecated and shouldn't be used
anymore. It will be removed in a future version.
(wxgui.py:9918): GLib-GObject-WARNING **: The property
GtkSettings:gtk-menu-images is deprecated and shouldn't be used
anymore. It will be removed in a future version.
(wxgui.py:9918): GLib-GObject-WARNING **: The property
GtkImageMenuItem:accel-group is deprecated and shouldn't be used
anymore. It will be removed in a future version.
(wxgui.py:9918): GLib-GObject-WARNING **: The property
GtkSettings:gtk-button-images is deprecated and shouldn't be used
anymore. It will be removed in a future version.
(wxgui.py:9918): GLib-GObject-WARNING **: The property
GtkAlignment:xalign is deprecated and shouldn't be used anymore. It
will be removed in a future version.
(wxgui.py:9918): GLib-GObject-WARNING **: The property
GtkAlignment:yalign is deprecated and shouldn't be used anymore. It
will be removed in a future version.

- the left-side tabs in the module windows do not have any
shade/border to distinguish them (the tab titles look ok and they are
clickable).

- the 2D/3D/v-r-digitizer switch is twice as long as needed: in effect
it is not visible unless the map display window is widened up
significantly to make it appear.

- temporal: the graphical representation opens but then gives this error:

Traceback (most recent call last):
  File "/home/neteler/software/grass71/dist.x86_64-unknown-
linux-gnu/gui/wxpython/timeline/frame.py", line 354, in
OnRedraw

self._redraw()
  File "/home/neteler/software/grass71/dist.x86_64-unknown-
linux-gnu/gui/wxpython/timeline/frame.py", line 366, in
_redraw

self._draw2dFigure()
  File "/home/neteler/software/grass71/dist.x86_64-unknown-
linux-gnu/gui/wxpython/timeline/frame.py", line 336, in
_draw2dFigure

self.canvas.draw()
  File "/usr/lib64/python2.7/site-
packages/matplotlib/backends/backend_wxagg.py", line 46, in
draw

FigureCanvasAgg.draw(self)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/backends/backend_agg.py", line 469, in
draw

self.figure.draw(self.renderer)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/artist.py", line 59, in draw_wrapper

draw(artist, renderer, *args, **kwargs)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/figure.py", line 1085, in draw

func(*args)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/artist.py", line 59, in draw_wrapper

draw(artist, renderer, *args, **kwargs)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/axes/_base.py", line 2110, in draw

a.draw(renderer)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/artist.py", line 59, in draw_wrapper

draw(artist, renderer, *args, **kwargs)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/axis.py", line 1114, in draw

ticks_to_draw = self._update_ticks(renderer)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/axis.py", line 957, in _update_ticks

tick_tups = [t for t in self.iter_ticks()]
  File "/usr/lib64/python2.7/site-
packages/matplotlib/axis.py", line 901, in iter_ticks

majorLocs = self.major.locator()
  File "/usr/lib64/python2.7/site-
packages/matplotlib/dates.py", line 866, in __call__

self.refresh()
  File "/usr/lib64/python2.7/site-
packages/matplotlib/dates.py", line 883, in refresh

dmin, dmax = self.viewlim_to_dt()
  File "/usr/lib64/python2.7/site-
packages/matplotlib/dates.py", line 627, in viewlim_to_dt

return num2date(vmin, self.tz), num2date(vmax, self.tz)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/dates.py", line 345, in num2date

return _from_ordinalf(x, tz)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/dates.py", line 225, in _from_ordinalf

dt = datetime.datetime.fromordinal(ix)
ValueError
:
ordinal must be >= 1

Let me know which of this I shall report as tickets. Unfortunately I
don't know how to fix these issues.

Markus

My system is:

GRASS version: 7.1.svn
GRASS SVN revision: 66067M
Build date: 2015-08-29
Build platform: x86_64-unknown-linux-gnu
GDAL: 1.11.2
PROJ.4: 4.8.0
GEOS: 3.4.2
SQLite: 3.8.7.4
Python: 2.7.9
wxPython: 3.0.1.1
Platform: Linux-3.19.0-26-generic-x86_64-with-Ubuntu-15.04-vivid

Splash is fine for me. Just the image.

GUI start error/warning messages:

/usr/share/themes/Lubuntu-default/gtk-2.0/apps/thunar.rc:55: error: invalid string constant “thunar-statusbar”, expected valid string constant

As using the GUI I get also:

(wxgui.py:7668): Gdk-CRITICAL **: IA__gdk_window_thaw_updates: assertion ‘impl_window->update_freeze_count > 0’ failed

I’m not sure how exactly you see the left-site tabs but mine are just fine.

Switch for 2D/3D/r/vdigit OK, although hidden when window is too small (while toolbar buttons are nicely available under an arrow at the end of the toolbar as a menu with descriptions such as printMap and saveFile).

Timeline tool opens without any error but not tested with data.

You have wxPython 3.0.2.0, I have 3.0.1.1. I’m using Lubuntu 15.04 which means LXDE and Openbox. I don’t know if this has some influence. Here are my precise versions of wxPython and matplotlib (both inside and outside of GRASS):

$ python -c “import wx; print(wx.version()); print(wx.version)”
3.0.1.1 gtk2 (classic)
3.0.1.1
$ python -c “import matplotlib; print(matplotlib.version)”
1.4.2

But unfortunately, I must say, I have a lot of other problems especially with text inputs but the issues are similar to the ones in some of the other applications, so that’s probably something with the libraries which should be solved.

···

On Sun, Aug 30, 2015 at 2:48 PM, Markus Neteler <neteler@osgeo.org> wrote:

Hi,

I have migrated my laptop from Fedora21 to F22 which comes with
currently wxPython-3:

GRASS version: 7.1.svn
GRASS SVN revision: 66061M
Build date: 2015-08-29
Build platform: x86_64-unknown-linux-gnu
GDAL: 1.11.2
PROJ.4: 4.8.0
GEOS: 3.4.2
SQLite: 3.8.10.2
Python: 2.7.10
wxPython: 3.0.2.0

There are a few issues with the wxPython 3 compatibility (I suppose):

  • GUI startup: the splash screen has a top window frame now including
    a minimizer (I think that was suppressed in wxpython2)

  • WHile the GUI comes up ok, the following warnings appear at startup time:
    (wxgui.py:9918): GLib-GObject-WARNING **: The property
    GtkImageMenuItem:use-stock is deprecated and shouldn’t be used
    anymore. It will be removed in a future version.
    (wxgui.py:9918): GLib-GObject-WARNING **: The property
    GtkSettings:gtk-menu-images is deprecated and shouldn’t be used
    anymore. It will be removed in a future version.
    (wxgui.py:9918): GLib-GObject-WARNING **: The property
    GtkImageMenuItem:accel-group is deprecated and shouldn’t be used
    anymore. It will be removed in a future version.
    (wxgui.py:9918): GLib-GObject-WARNING **: The property
    GtkSettings:gtk-button-images is deprecated and shouldn’t be used
    anymore. It will be removed in a future version.
    (wxgui.py:9918): GLib-GObject-WARNING **: The property
    GtkAlignment:xalign is deprecated and shouldn’t be used anymore. It
    will be removed in a future version.
    (wxgui.py:9918): GLib-GObject-WARNING **: The property
    GtkAlignment:yalign is deprecated and shouldn’t be used anymore. It
    will be removed in a future version.

  • the left-side tabs in the module windows do not have any
    shade/border to distinguish them (the tab titles look ok and they are
    clickable).

  • the 2D/3D/v-r-digitizer switch is twice as long as needed: in effect
    it is not visible unless the map display window is widened up
    significantly to make it appear.

  • temporal: the graphical representation opens but then gives this error:

Traceback (most recent call last):
File “/home/neteler/software/grass71/dist.x86_64-unknown-
linux-gnu/gui/wxpython/timeline/frame.py”, line 354, in
OnRedraw

self._redraw()
File “/home/neteler/software/grass71/dist.x86_64-unknown-
linux-gnu/gui/wxpython/timeline/frame.py”, line 366, in
_redraw

self._draw2dFigure()
File “/home/neteler/software/grass71/dist.x86_64-unknown-
linux-gnu/gui/wxpython/timeline/frame.py”, line 336, in
_draw2dFigure

self.canvas.draw()
File “/usr/lib64/python2.7/site-
packages/matplotlib/backends/backend_wxagg.py”, line 46, in
draw

FigureCanvasAgg.draw(self)
File “/usr/lib64/python2.7/site-
packages/matplotlib/backends/backend_agg.py”, line 469, in
draw

self.figure.draw(self.renderer)
File “/usr/lib64/python2.7/site-
packages/matplotlib/artist.py”, line 59, in draw_wrapper

draw(artist, renderer, *args, **kwargs)
File “/usr/lib64/python2.7/site-
packages/matplotlib/figure.py”, line 1085, in draw

func(*args)
File “/usr/lib64/python2.7/site-
packages/matplotlib/artist.py”, line 59, in draw_wrapper

draw(artist, renderer, *args, **kwargs)
File “/usr/lib64/python2.7/site-
packages/matplotlib/axes/_base.py”, line 2110, in draw

a.draw(renderer)
File “/usr/lib64/python2.7/site-
packages/matplotlib/artist.py”, line 59, in draw_wrapper

draw(artist, renderer, *args, **kwargs)
File “/usr/lib64/python2.7/site-
packages/matplotlib/axis.py”, line 1114, in draw

ticks_to_draw = self._update_ticks(renderer)
File “/usr/lib64/python2.7/site-
packages/matplotlib/axis.py”, line 957, in _update_ticks

tick_tups = [t for t in self.iter_ticks()]
File “/usr/lib64/python2.7/site-
packages/matplotlib/axis.py”, line 901, in iter_ticks

majorLocs = self.major.locator()
File “/usr/lib64/python2.7/site-
packages/matplotlib/dates.py”, line 866, in call

self.refresh()
File “/usr/lib64/python2.7/site-
packages/matplotlib/dates.py”, line 883, in refresh

dmin, dmax = self.viewlim_to_dt()
File “/usr/lib64/python2.7/site-
packages/matplotlib/dates.py”, line 627, in viewlim_to_dt

return num2date(vmin, self.tz), num2date(vmax, self.tz)
File “/usr/lib64/python2.7/site-
packages/matplotlib/dates.py”, line 345, in num2date

return _from_ordinalf(x, tz)
File “/usr/lib64/python2.7/site-
packages/matplotlib/dates.py”, line 225, in _from_ordinalf

dt = datetime.datetime.fromordinal(ix)
ValueError
:
ordinal must be >= 1

Let me know which of this I shall report as tickets. Unfortunately I
don’t know how to fix these issues.

Markus


grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Hi,

I created two screenshots of issues
- wxpython3_textfield_bug.jpg: this is in the bulk raster import, the
change of name during import is not readable (the text field is of one
pixel height, see red ellipsis in the screenshot

- the selector button is not much readable in the map layer manager as
well as some other places (red indication in screenshot) but there is
a nice tick box in the same bulk raster import dialog which might be
used everywhere (green indication). This would help a lot.

Thanks
Markus

(attachments)

wxpython3_textfield_bug.jpg
wxpython3_selector_bug.jpg

On Thu, Sep 17, 2015 at 6:42 AM, Markus Neteler <neteler@osgeo.org> wrote:

  • wxpython3_textfield_bug.jpg: this is in the bulk raster import, the
    change of name during import is not readable (the text field is of one
    pixel height, see red ellipsis in the screenshot

What do you think is the “actual text”. I see the names there, they are perhaps wrong (split by first dot) but they are there (in your screenshot). The marked thing looks like some rendering glitch.

  • the selector button is not much readable in the map layer manager as
    well as some other places (red indication in screenshot) but there is
    a nice tick box in the same bulk raster import dialog which might be
    used everywhere (green indication). This would help a lot.

The difference is caused by simple native versus some advanced rendering. As with many other bugs you’ve reported earlier, the only way I see is to look to wxPython demo application which contains all possible widgets and see if the issue is there as well and if it is, report this on wxWidgets/wxPython bug tracker. From what I see now, my guess would be that GRASS GIS has nothing to do with (or about) most of the issues you are getting.

On Thu, Sep 17, 2015 at 7:13 PM, Vaclav Petras <wenzeslaus@gmail.com> wrote:

On Thu, Sep 17, 2015 at 6:42 AM, Markus Neteler <neteler@osgeo.org> wrote:

- wxpython3_textfield_bug.jpg: this is in the bulk raster import, the
change of name during import is not readable (the text field is of one
pixel height, see red ellipsis in the screenshot

What do you think is the "actual text".

We tried to replace the upper name. But it remains while a few pixels,
as highlighted in red, got shown (of course unreadable).

I see the names there, they are
perhaps wrong (split by first dot) but they are there (in your screenshot).

No, that are the old names we wanted to change.

The marked thing looks like some rendering glitch.

Indeed that is the textfield at editing time :frowning:

- the selector button is not much readable in the map layer manager as
well as some other places (red indication in screenshot) but there is
a nice tick box in the same bulk raster import dialog which might be
used everywhere (green indication). This would help a lot.

The difference is caused by simple native versus some advanced rendering. As
with many other bugs you've reported earlier, the only way I see is to look
to wxPython demo application which contains all possible widgets and see if
the issue is there as well

ok done:

dnf -y install wxPython-docs

python /usr/share/doc/wxPython-docs/demo/CheckBox.py
Python 2.7.10 (default, Jul 5 2015, 14:15:43)
[GCC 5.1.1 20150618 (Red Hat 5.1.1-4)]
wx.version: 3.0.2.0 gtk3 (classic)

The demo looks perfect (see screenshot) as in the lower part of the
bulk importer. So seems to be a GRASS issue. Perhaps the wx.CheckBox()
changes the style somehow unintentionally?

Markus

(attachments)

CheckBox_py.jpg

On Thu, Sep 17, 2015 at 5:04 PM, Markus Neteler <neteler@osgeo.org> wrote:

On Thu, Sep 17, 2015 at 7:13 PM, Vaclav Petras <wenzeslaus@gmail.com>
wrote:
> On Thu, Sep 17, 2015 at 6:42 AM, Markus Neteler <neteler@osgeo.org>
wrote:
>>
>> - wxpython3_textfield_bug.jpg: this is in the bulk raster import, the
>> change of name during import is not readable (the text field is of one
>> pixel height, see red ellipsis in the screenshot
>
> What do you think is the "actual text".

We tried to replace the upper name. But it remains while a few pixels,
as highlighted in red, got shown (of course unreadable).

> I see the names there, they are
> perhaps wrong (split by first dot) but they are there (in your
screenshot).

No, that are the old names we wanted to change.

> The marked thing looks like some rendering glitch.

Indeed that is the textfield at editing time :frowning:

>> - the selector button is not much readable in the map layer manager as
>> well as some other places (red indication in screenshot) but there is
>> a nice tick box in the same bulk raster import dialog which might be
>> used everywhere (green indication). This would help a lot.
>
> The difference is caused by simple native versus some advanced
rendering. As
> with many other bugs you've reported earlier, the only way I see is to
look
> to wxPython demo application which contains all possible widgets and see
if
> the issue is there as well

ok done:

dnf -y install wxPython-docs

python /usr/share/doc/wxPython-docs/demo/CheckBox.py
Python 2.7.10 (default, Jul 5 2015, 14:15:43)
[GCC 5.1.1 20150618 (Red Hat 5.1.1-4)]
wx.version: 3.0.2.0 gtk3 (classic)

The demo looks perfect (see screenshot) as in the lower part of the
bulk importer. So seems to be a GRASS issue. Perhaps the wx.CheckBox()
changes the style somehow unintentionally?

It's not the standard native checkbox, you should look for
CheckListCtrlMixin. For the editing issue, look for ListCtrl_edit in the
demo (I used 2.8 demo, so hopefully it has the same name in wpython 3 demo).

Anna

Markus

_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

On Thu, Sep 17, 2015 at 11:47 PM, Anna Petrášová <kratochanna@gmail.com> wrote:

The demo looks perfect (see screenshot) as in the lower part of the
bulk importer. So seems to be a GRASS issue. Perhaps the wx.CheckBox()
changes the style somehow unintentionally?

It's not the standard native checkbox, you should look for
CheckListCtrlMixin.

Ah I see.

# start overview page
python /usr/share/doc/wxPython-docs/demo/Main.py

Yes, it is CheckListCtrlMixin which is unreadable.

I definitely like CheckBox better (also in the past) for the layer
manager. Is there a reason to use CheckListCtrlMixin?
At least I got some insights now how these checkboxes are called...

For the editing issue, look for ListCtrl_edit in the
demo (I used 2.8 demo, so hopefully it has the same name in wpython 3 demo).

Yes, the same name and yes it is broken, too bad. So that's not a GRASS issue.

Markus

On Fri, Sep 18, 2015 at 3:55 AM, Markus Neteler <neteler@osgeo.org> wrote:

On Thu, Sep 17, 2015 at 11:47 PM, Anna Petrášová <kratochanna@gmail.com>
wrote:

>> The demo looks perfect (see screenshot) as in the lower part of the
>> bulk importer. So seems to be a GRASS issue. Perhaps the wx.CheckBox()
>> changes the style somehow unintentionally?
>
>
> It's not the standard native checkbox, you should look for
> CheckListCtrlMixin.

Ah I see.

# start overview page
python /usr/share/doc/wxPython-docs/demo/Main.py

Yes, it is CheckListCtrlMixin which is unreadable.

I definitely like CheckBox better (also in the past) for the layer
manager. Is there a reason to use CheckListCtrlMixin?
At least I got some insights now how these checkboxes are called...

We can't use normal checkboxes together with the tree view, you can look at
the demo in CustomTreeCtrl. You can send the screenshot to wxpython user
mailing list. But at least the checkboxes are working, they are just not
nice, right?

> For the editing issue, look for ListCtrl_edit in the
> demo (I used 2.8 demo, so hopefully it has the same name in wpython 3
demo).

Again, ask on mailing list. They will probably suggest you to test newer
wxpython version and then create a ticket, but maybe they have some more
insights.

Yes, the same name and yes it is broken, too bad. So that's not a GRASS
issue.

Markus

On Fri, Sep 18, 2015 at 2:37 PM, Anna Petrášová <kratochanna@gmail.com> wrote:

On Fri, Sep 18, 2015 at 3:55 AM, Markus Neteler <neteler@osgeo.org> wrote:

...

We can't use normal checkboxes together with the tree view, you can look at
the demo in CustomTreeCtrl. You can send the screenshot to wxpython user
mailing list. But at least the checkboxes are working, they are just not
nice, right?

Well, if you had my eyes :slight_smile: I just don't see what's on and what's off.
But if it is not possible, never mind.

> For the editing issue, look for ListCtrl_edit in the
> demo (I used 2.8 demo, so hopefully it has the same name in wpython 3
> demo).

Again, ask on mailing list. They will probably suggest you to test newer
wxpython version and then create a ticket, but maybe they have some more
insights.

Maybe a ticket right away...

Markus

On Fri, Sep 18, 2015 at 2:37 PM, Anna Petrášová <kratochanna@gmail.com> wrote:

On Fri, Sep 18, 2015 at 3:55 AM, Markus Neteler <neteler@osgeo.org> wrote:

> For the editing issue, look for ListCtrl_edit in the
> demo (I used 2.8 demo, so hopefully it has the same name in wpython 3
> demo).

Again, ask on mailing list. They will probably suggest you to test newer
wxpython version and then create a ticket, but maybe they have some more
insights.

FYI
I reported it to Fedora's bugzilla, they kindly took care and reported
it upstream:

"Looks to be a wxWidgets bug in GTK3 implementation. I filed a bug
upstream and provided a reproducer:"
http://trac.wxwidgets.org/ticket/17160

Markus

On Sep 23, 2015 1:37 AM, “Markus Neteler” <neteler@osgeo.org> wrote:

On Fri, Sep 18, 2015 at 2:37 PM, Anna Petrášová <kratochanna@gmail.com> wrote:

On Fri, Sep 18, 2015 at 3:55 AM, Markus Neteler <neteler@osgeo.org> wrote:

For the editing issue, look for ListCtrl_edit in the
demo (I used 2.8 demo, so hopefully it has the same name in wpython 3
demo).

Again, ask on mailing list. They will probably suggest you to test newer
wxpython version and then create a ticket, but maybe they have some more
insights.

FYI
I reported it to Fedora’s bugzilla, they kindly took care and reported
it upstream:

“Looks to be a wxWidgets bug in GTK3 implementation. I filed a bug
upstream and provided a reproducer:”
http://trac.wxwidgets.org/ticket/17160

Cool, thanks!

Anna

Markus

Hi,

sorry to bother again with a new wxPython3 issue:

g.gui.animation strds=raster_aprilie@EUMETSAT
Traceback (most recent call last):
  File "/usr/local/grass-7.0.2svn/scripts/g.gui.animation",
line 136, in <module>
    main()
  File "/usr/local/grass-7.0.2svn/scripts/g.gui.animation",
line 127, in main
    frame = AnimationFrame(parent=None,
giface=StandaloneGrassInterface())
  File
"/usr/local/grass-7.0.2svn/gui/wxpython/animation/frame.py",
line 69, in __init__
    self.animationPanel = AnimationsPanel(self,
self.windows, initialCount=MAX_COUNT)
  File
"/usr/local/grass-7.0.2svn/gui/wxpython/animation/frame.py",
line 330, in __init__
    w = AnimationWindow(self)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 111, in __init__
    BufferedWindow.__init__(self, parent=parent, id=id,
style=style)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 49, in __init__
    self.OnSize(None)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 129, in OnSize
    BufferedWindow.OnSize(self, event)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 72, in OnSize
    self.UpdateDrawing()
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 93, in UpdateDrawing
    self.Draw(dc)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 122, in Draw
    dc.DrawBitmap(self.bitmap, x=0, y=0)
  File "/usr/lib64/python2.7/site-
packages/wx-3.0-gtk3/wx/_gdi.py", line 3706, in DrawBitmap
    return _gdi_.DC_DrawBitmap(*args, **kwargs)
wx._core.PyAssertionError: C++ assertion
"bmpData->m_pixbufNoMask" failed at
./src/gtk/bitmap.cpp(1261) in SetSourceSurface(): no bitmap
data

This happens with the current 7.0.svn. If I should rather open a
ticket, please let me know.

thanks
Markus

On Thu, Sep 24, 2015 at 5:23 AM, Markus Neteler <neteler@osgeo.org> wrote:

Hi,

sorry to bother again with a new wxPython3 issue:

g.gui.animation strds=raster_aprilie@EUMETSAT
Traceback (most recent call last):
  File "/usr/local/grass-7.0.2svn/scripts/g.gui.animation",
line 136, in <module>
    main()
  File "/usr/local/grass-7.0.2svn/scripts/g.gui.animation",
line 127, in main
    frame = AnimationFrame(parent=None,
giface=StandaloneGrassInterface())
  File
"/usr/local/grass-7.0.2svn/gui/wxpython/animation/frame.py",
line 69, in __init__
    self.animationPanel = AnimationsPanel(self,
self.windows, initialCount=MAX_COUNT)
  File
"/usr/local/grass-7.0.2svn/gui/wxpython/animation/frame.py",
line 330, in __init__
    w = AnimationWindow(self)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 111, in __init__
    BufferedWindow.__init__(self, parent=parent, id=id,
style=style)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 49, in __init__
    self.OnSize(None)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 129, in OnSize
    BufferedWindow.OnSize(self, event)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 72, in OnSize
    self.UpdateDrawing()
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 93, in UpdateDrawing
    self.Draw(dc)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 122, in Draw
    dc.DrawBitmap(self.bitmap, x=0, y=0)
  File "/usr/lib64/python2.7/site-
packages/wx-3.0-gtk3/wx/_gdi.py", line 3706, in DrawBitmap
    return _gdi_.DC_DrawBitmap(*args, **kwargs)
wx._core.PyAssertionError: C++ assertion
"bmpData->m_pixbufNoMask" failed at
./src/gtk/bitmap.cpp(1261) in SetSourceSurface(): no bitmap
data

This happens with the current 7.0.svn. If I should rather open a
ticket, please let me know.

please try r66320 in trunk

thanks
Markus

On Thu, Sep 24, 2015 at 2:39 PM, Anna Petrášová <kratochanna@gmail.com> wrote:

please try r66320 in trunk

Thanks.
I have backported it locally, now I get:

g.gui.animation strds=raster_aprilie@EUMETSAT
Traceback (most recent call last):
  File "/usr/local/grass-7.0.2svn/scripts/g.gui.animation",
line 136, in <module>
    main()
  File "/usr/local/grass-7.0.2svn/scripts/g.gui.animation",
line 127, in main
    frame = AnimationFrame(parent=None,
giface=StandaloneGrassInterface())
  File
"/usr/local/grass-7.0.2svn/gui/wxpython/animation/frame.py",
line 69, in __init__
    self.animationPanel = AnimationsPanel(self,
self.windows, initialCount=MAX_COUNT)
  File
"/usr/local/grass-7.0.2svn/gui/wxpython/animation/frame.py",
line 330, in __init__
    w = AnimationWindow(self)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 111, in __init__
    BufferedWindow.__init__(self, parent=parent, id=id,
style=style)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 49, in __init__
    self.OnSize(None)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 130, in OnSize
    BufferedWindow.OnSize(self, event)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 72, in OnSize
    self.UpdateDrawing()
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 93, in UpdateDrawing
    self.Draw(dc)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 123, in Draw
    dc.DrawBitmap(self.bitmap, x=self.x, y=self.y)
AttributeError: 'AnimationWindow' object has no attribute
'x'

Markus

On Thu, Sep 24, 2015 at 11:07 AM, Markus Neteler <neteler@osgeo.org> wrote:

On Thu, Sep 24, 2015 at 2:39 PM, Anna Petrášová <kratochanna@gmail.com>
wrote:
>
> please try r66320 in trunk

Thanks.
I have backported it locally, now I get:

g.gui.animation strds=raster_aprilie@EUMETSAT
Traceback (most recent call last):
  File "/usr/local/grass-7.0.2svn/scripts/g.gui.animation",
line 136, in <module>
    main()
  File "/usr/local/grass-7.0.2svn/scripts/g.gui.animation",
line 127, in main
    frame = AnimationFrame(parent=None,
giface=StandaloneGrassInterface())
  File
"/usr/local/grass-7.0.2svn/gui/wxpython/animation/frame.py",
line 69, in __init__
    self.animationPanel = AnimationsPanel(self,
self.windows, initialCount=MAX_COUNT)
  File
"/usr/local/grass-7.0.2svn/gui/wxpython/animation/frame.py",
line 330, in __init__
    w = AnimationWindow(self)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 111, in __init__
    BufferedWindow.__init__(self, parent=parent, id=id,
style=style)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 49, in __init__
    self.OnSize(None)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 130, in OnSize
    BufferedWindow.OnSize(self, event)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 72, in OnSize
    self.UpdateDrawing()
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 93, in UpdateDrawing
    self.Draw(dc)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 123, in Draw
    dc.DrawBitmap(self.bitmap, x=self.x, y=self.y)
AttributeError: 'AnimationWindow' object has no attribute
'x'

That's not surprising, there are changes in trunk. The line should then be:

dc.DrawBitmap(self.bitmap, x=0, y=0)

Markus

On Thu, Sep 24, 2015 at 5:16 PM, Anna Petrášová <kratochanna@gmail.com> wrote:

On Thu, Sep 24, 2015 at 11:07 AM, Markus Neteler <neteler@osgeo.org> wrote:

On Thu, Sep 24, 2015 at 2:39 PM, Anna Petrášová <kratochanna@gmail.com>
wrote:
>
> please try r66320 in trunk

Thanks.
I have backported it locally, now I get:

g.gui.animation strds=raster_aprilie@EUMETSAT
Traceback (most recent call last):
  File "/usr/local/grass-7.0.2svn/scripts/g.gui.animation",
line 136, in <module>
    main()
  File "/usr/local/grass-7.0.2svn/scripts/g.gui.animation",
line 127, in main
    frame = AnimationFrame(parent=None,
giface=StandaloneGrassInterface())
  File
"/usr/local/grass-7.0.2svn/gui/wxpython/animation/frame.py",
line 69, in __init__
    self.animationPanel = AnimationsPanel(self,
self.windows, initialCount=MAX_COUNT)
  File
"/usr/local/grass-7.0.2svn/gui/wxpython/animation/frame.py",
line 330, in __init__
    w = AnimationWindow(self)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 111, in __init__
    BufferedWindow.__init__(self, parent=parent, id=id,
style=style)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 49, in __init__
    self.OnSize(None)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 130, in OnSize
    BufferedWindow.OnSize(self, event)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 72, in OnSize
    self.UpdateDrawing()
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 93, in UpdateDrawing
    self.Draw(dc)
  File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
window.py", line 123, in Draw
    dc.DrawBitmap(self.bitmap, x=self.x, y=self.y)
AttributeError: 'AnimationWindow' object has no attribute
'x'

That's not surprising, there are changes in trunk. The line should then be:

dc.DrawBitmap(self.bitmap, x=0, y=0)

I'm afraid to not see the difference. What to change in 7.0?

Markus

On Thu, Sep 24, 2015 at 3:31 PM, Markus Neteler <neteler@osgeo.org> wrote:

On Thu, Sep 24, 2015 at 5:16 PM, Anna Petrášová <kratochanna@gmail.com>
wrote:
>
>
> On Thu, Sep 24, 2015 at 11:07 AM, Markus Neteler <neteler@osgeo.org>
wrote:
>>
>> On Thu, Sep 24, 2015 at 2:39 PM, Anna Petrášová <kratochanna@gmail.com>
>> wrote:
>> >
>> > please try r66320 in trunk
>>
>> Thanks.
>> I have backported it locally, now I get:
>>
>> g.gui.animation strds=raster_aprilie@EUMETSAT
>> Traceback (most recent call last):
>> File "/usr/local/grass-7.0.2svn/scripts/g.gui.animation",
>> line 136, in <module>
>> main()
>> File "/usr/local/grass-7.0.2svn/scripts/g.gui.animation",
>> line 127, in main
>> frame = AnimationFrame(parent=None,
>> giface=StandaloneGrassInterface())
>> File
>> "/usr/local/grass-7.0.2svn/gui/wxpython/animation/frame.py",
>> line 69, in __init__
>> self.animationPanel = AnimationsPanel(self,
>> self.windows, initialCount=MAX_COUNT)
>> File
>> "/usr/local/grass-7.0.2svn/gui/wxpython/animation/frame.py",
>> line 330, in __init__
>> w = AnimationWindow(self)
>> File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
>> window.py", line 111, in __init__
>> BufferedWindow.__init__(self, parent=parent, id=id,
>> style=style)
>> File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
>> window.py", line 49, in __init__
>> self.OnSize(None)
>> File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
>> window.py", line 130, in OnSize
>> BufferedWindow.OnSize(self, event)
>> File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
>> window.py", line 72, in OnSize
>> self.UpdateDrawing()
>> File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
>> window.py", line 93, in UpdateDrawing
>> self.Draw(dc)
>> File "/usr/local/grass-7.0.2svn/gui/wxpython/animation/map
>> window.py", line 123, in Draw
>> dc.DrawBitmap(self.bitmap, x=self.x, y=self.y)
>> AttributeError: 'AnimationWindow' object has no attribute
>> 'x'
>>
>
> That's not surprising, there are changes in trunk. The line should then
be:
>
> dc.DrawBitmap(self.bitmap, x=0, y=0)

I'm afraid to not see the difference. What to change in 7.0?

Like that:

- dc.DrawBitmap(self.bitmap, x=0, y=0)
+ if self.bitmap.IsOk():
+ dc.DrawBitmap(self.bitmap, x=0, y=0)

I don't won't to backport it yet if it's not confirmed it works. I wonder
why can't you test it in trunk?

Anna

>
>> Markus
>
>

On Thu, Sep 24, 2015 at 10:39 PM, Anna Petrášová <kratochanna@gmail.com> wrote:

I don't won't to backport it yet if it's not confirmed it works.

Agreed.

I wonder why can't you test it in trunk?

I was all the day in "TGRASS mode" and my student without trunk installation.

Now I have tried in trunk:

svn up
Updating '.':
At revision 66324.

make distclean ; svn up ; sh conf_grass7.sh && make -j4

grass71 ~/grassdata/nc_spm_08_grass7/user1/
GRASS 7.1.svn (nc_spm_08_grass7):~ > g.gui.animation
Traceback (most recent call last):
  File "/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/scripts/g.gui.animation",
line 136, in <module>
    main()
  File "/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/scripts/g.gui.animation",
line 127, in main
    frame = AnimationFrame(parent=None, giface=StandaloneGrassInterface())
  File "/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/gui/wxpython/animation/frame.py",
line 69, in __init__
    self.animationPanel = AnimationsPanel(self, self.windows,
initialCount=MAX_COUNT)
  File "/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/gui/wxpython/animation/frame.py",
line 330, in __init__
    w = AnimationWindow(self)
  File "/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/gui/wxpython/animation/mapwindow.py",
line 114, in __init__
    BufferedWindow.__init__(self, parent=parent, id=id, style=style)
  File "/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/gui/wxpython/animation/mapwindow.py",
line 50, in __init__
    self.OnSize(None)
  File "/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/gui/wxpython/animation/mapwindow.py",
line 131, in OnSize
    BufferedWindow.OnSize(self, event)
  File "/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/gui/wxpython/animation/mapwindow.py",
line 73, in OnSize
    self.UpdateDrawing()
  File "/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/gui/wxpython/animation/mapwindow.py",
line 94, in UpdateDrawing
    self.Draw(dc)
  File "/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/gui/wxpython/animation/mapwindow.py",
line 126, in Draw
    dc.DrawBitmap(self.bitmap, x=self.x, y=self.y)
  File "/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_gdi.py",
line 3706, in DrawBitmap
    return _gdi_.DC_DrawBitmap(*args, **kwargs)
wx._core.PyAssertionError: C++ assertion "bmpData->m_pixbufNoMask"
failed at ./src/gtk/bitmap.cpp(1261) in SetSourceSurface(): no bitmap
data

Unfortunately not yet..

Markus

On Thu, Sep 24, 2015 at 5:01 PM, Markus Neteler <neteler@osgeo.org> wrote:

On Thu, Sep 24, 2015 at 10:39 PM, Anna Petrášová <kratochanna@gmail.com>
wrote:
> I don't won't to backport it yet if it's not confirmed it works.

Agreed.

> I wonder why can't you test it in trunk?

I was all the day in "TGRASS mode" and my student without trunk
installation.

Now I have tried in trunk:

svn up
Updating '.':
At revision 66324.

make distclean ; svn up ; sh conf_grass7.sh && make -j4

grass71 ~/grassdata/nc_spm_08_grass7/user1/
GRASS 7.1.svn (nc_spm_08_grass7):~ > g.gui.animation
Traceback (most recent call last):
  File
"/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/scripts/g.gui.animation",
line 136, in <module>
    main()
  File
"/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/scripts/g.gui.animation",
line 127, in main
    frame = AnimationFrame(parent=None, giface=StandaloneGrassInterface())
  File
"/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/gui/wxpython/animation/frame.py",
line 69, in __init__
    self.animationPanel = AnimationsPanel(self, self.windows,
initialCount=MAX_COUNT)
  File
"/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/gui/wxpython/animation/frame.py",
line 330, in __init__
    w = AnimationWindow(self)
  File
"/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/gui/wxpython/animation/mapwindow.py",
line 114, in __init__
    BufferedWindow.__init__(self, parent=parent, id=id, style=style)
  File
"/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/gui/wxpython/animation/mapwindow.py",
line 50, in __init__
    self.OnSize(None)
  File
"/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/gui/wxpython/animation/mapwindow.py",
line 131, in OnSize
    BufferedWindow.OnSize(self, event)
  File
"/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/gui/wxpython/animation/mapwindow.py",
line 73, in OnSize
    self.UpdateDrawing()
  File
"/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/gui/wxpython/animation/mapwindow.py",
line 94, in UpdateDrawing
    self.Draw(dc)
  File
"/home/neteler/software/grass71/dist.x86_64-unknown-linux-gnu/gui/wxpython/animation/mapwindow.py",
line 126, in Draw
    dc.DrawBitmap(self.bitmap, x=self.x, y=self.y)
  File "/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_gdi.py",
line 3706, in DrawBitmap
    return _gdi_.DC_DrawBitmap(*args, **kwargs)
wx._core.PyAssertionError: C++ assertion "bmpData->m_pixbufNoMask"
failed at ./src/gtk/bitmap.cpp(1261) in SetSourceSurface(): no bitmap
data

Unfortunately not yet..

Could you try this?

Index: animation/mapwindow.py

--- animation/mapwindow.py (revision 66320)
+++ animation/mapwindow.py (working copy)
@@ -122,7 +122,7 @@
         Debug.msg(5, "AnimationWindow.Draw()")

         dc.Clear() # make sure you clear the bitmap!
- if self.bitmap.IsOk():
+ if self.bitmap.GetWidth() > 1:
             dc.DrawBitmap(self.bitmap, x=self.x, y=self.y)

     def OnSize(self, event):

Markus

On Sun, Sep 27, 2015 at 9:48 PM, Anna Petrášová <kratochanna@gmail.com> wrote:

Could you try this?

Index: animation/mapwindow.py

--- animation/mapwindow.py (revision 66320)
+++ animation/mapwindow.py (working copy)
@@ -122,7 +122,7 @@
         Debug.msg(5, "AnimationWindow.Draw()")

         dc.Clear() # make sure you clear the bitmap!
- if self.bitmap.IsOk():
+ if self.bitmap.GetWidth() > 1:
             dc.DrawBitmap(self.bitmap, x=self.x, y=self.y)

     def OnSize(self, event):

Evviva, works!

Markus