[Freewx-maint] Bug#750045: gnuplot: no longer works: assert "m_window" failed in DoGetSize()

Olly Betts olly at survex.com
Sun Jun 1 10:57:26 UTC 2014


On 2014-06-01 09:38:17 +0200, Anton Gladky wrote:
> That is due to a switch to wxwidgets3.0.
> Not sure, in what package it should be fixed.

While it isn't impossible it's a bug in wxwidgets3.0, it's much more
likely to be a bug in gnuplot, just one which was hidden with
wxwidgets2.8.

In wx3.0, upstream now defaults to enabling their "WXDEBUG" checks for
incorrect API usage.  In wx2.8, these checks existed, but were disabled
by default.  In debian, we had a build of wx with these checks enabled
packaged separately (as libwxgtk2.8-dbg - the name predates the
convention that -dbg means detached debugging symbols).  But using
this required a full rebuild of the app, so very few people actually
built their apps with it for testing it seems.

So there's likely some code in gnuplot which makes a wx API call which
isn't valid, and wx 2.8 just ignored this, but 3.0 pops up this
assertion dialog.  If you have debug symbols for the app available, the
"backtrace" button will probably help you locate where in the app the
problematic API call is made.

Overall sorting out such issues is better, but if you want a quick fix
you can just turn off WXDEBUG mode by passing -DNDEBUG when you compile
your app.  Then these cases should be handled much as they were by
default in wx 2.8.

Cheers,
    Olly



More information about the Freewx-maint mailing list