FS#42807 - [wxpython] 3.0.1.1-2 internal breakage on PlotCanvas
Attached to Project:
Community Packages
Opened by Gergely (imrehg) - Sunday, 16 November 2014, 07:42 GMT
Last edited by Eli Schwartz (eschwartz) - Friday, 26 January 2018, 17:22 GMT
Opened by Gergely (imrehg) - Sunday, 16 November 2014, 07:42 GMT
Last edited by Eli Schwartz (eschwartz) - Friday, 26 January 2018, 17:22 GMT
|
Details
Description:
When running a program that uses wxPython, it can break in such a way that all the issues are within wxPython, independent of the host program. Seems like internal issues within wxPython/wxGTK 3.0, while everything works on 2.8. Additional info: * Packages: * wxgtk 3.0.2-2 * wxgtk2.8 2.8.12.1-2 * wxpython 3.0.1.1-2 * wxpython2.8 2.8.12.1-1 * python2 2.7.8-2 Steps to reproduce: 1) Download PirateScope (software oscilloscope for the busPirate USB device) from https://github.com/wxWidgets/wxPython 2) run it with `python2 PirateScope` 3) the program breaks with this error: /usr/lib/python2.7/site-packages/wx-3.0-gtk2/wx/_core.py:16631: UserWarning: wxPython/wxWidgets release number mismatch warnings.warn("wxPython/wxWidgets release number mismatch") Traceback (most recent call last): File "PirateScope", line 761, in <module> frame = MainWindow(None, 'PirateScope') File "PirateScope", line 274, in __init__ self.plot = plot.PlotCanvas(self.plotpanel) File "/usr/lib/python2.7/site-packages/wx-3.0-gtk2/wx/lib/plot.py", line 598, in __init__ self.HandCursor = wx.Cursor(Hand.GetImage()) File "/usr/lib/python2.7/site-packages/wx-3.0-gtk2/wx/_gdi.py", line 1510, in __init__ _gdi_.Cursor_swiginit(self,_gdi_.new_Cursor(*args, **kwargs)) TypeError: Required argument 'type' (pos 2) not found Here the issue is the wx.Cursor function within PlotCanvas being called with its own preset cursor image (Hand). Nothing related to the original code that called the PlotCanvas function. 4) If I add this to the host program to force wx to 2.8, then no issue, the program runs correctly: import wxversion wxversion.select('2.8') Might be related to https://bugs.archlinux.org/task/41576 |
This task depends upon
Closed by Eli Schwartz (eschwartz)
Friday, 26 January 2018, 17:22 GMT
Reason for closing: Fixed
Additional comments about closing: wxpython 3.0.2.0-6
Friday, 26 January 2018, 17:22 GMT
Reason for closing: Fixed
Additional comments about closing: wxpython 3.0.2.0-6
http://trac.wxwidgets.org/ticket/16767
Upstream fixes:
https://github.com/wxWidgets/wxPython/commit/25bcbf15615b64e095da75e934ea4d254998ec24
https://github.com/wxWidgets/wxPython/commit/30bc07d80ae1c81d70b4de2daac62ecd7996d703
Upstream fixes are applied to wxpython 3.0.2.0-6.
Note: you have to add the line "app.SetAssertMode(wx.PYAPP_ASSERT_SUPPRESS)" before "app.MainLoop()" if you want to run PirateScope with wxpython 3.0.