openSUSE Recommended Update: Recommended update for python-wxPython ______________________________________________________________________________ Announcement ID: openSUSE-RU-2022:0092-1 Rating: moderate References: #1095747 #1194593 Affected Products: openSUSE Backports SLE-15-SP3 openSUSE Leap 15.3 ______________________________________________________________________________ An update that has two recommended fixes can now be installed. Description: This update for python-wxPython fixes the following issues: Update to 4.0.7.post2: * Bugfix to switch to AVFoundation instead of QTKit Update to 4.0.7.post1 * This post-release just fixes a problem with the numpy dependency constraint for Python 2.7. (#1415) * Bug fixes in wx.lib.calendar: key navigation across month boundaries is now possible; key navigation now sets the date and fires the EVT_CALENDAR event; setter APIs now set the date correctly (#1230). * Switch to using a wx.Overlay in the Widget Inspection Tool to highlight widgets when running on a GTK3 port. * Fixed issue in wx.lib.agw.customtreectrl where label editor could remain stuck forever (#1235). * Fix a sometimes crash when using a wx.Overlay by letting the wx.DCOverlay hold a reference to the DC, to ensure that the DCOverlay is destroyed first. (PR#1301) * Ported the embedding sample from Classic, which shows how to use wxPython from a C++ wxWidgets application that embeds Python. (PR #1353) * Fixed wx.GetApp() to use wxWidgets' global wxApp instance instead of maintaining its own pointer. This way, if the wxApp is created by C++ code wxPython will still be able to get access to it. (#1126) * Several other PRs have been backported from the master branch (which will become wxPython 4.1.0), the full list can be seen here: https://github.com/wxWidgets/Phoenix/pull/1357 * Fixed a probably rare, but fatal bug on OSX when calling certain overloaded virtual methods with implementations in Python. * Fixed char pointers in generated stub code to have a valid pointer value. * Reverted the change that loads up install_requires from the contents of requirements.txt. Split the requirements.txt file into one for install and one for development. * Added missing HtmlWindow.ScrollToAnchor method, and also a couple methods in HtmlCell too. (#1141) * Added missing setters for the wheel-related properties in wx.MouseEvent. (#1140) * Updated wxWidgets commit reference, bringing fixes for #1140, #1086 and #1147. * Fix the use of the output parameter in HtmlWindow.OnOpeningURL the same way it was fixed in HtmlWindowInterface.OnHTMLOpeningURL. (#1068) * Fixed a crashing bug when using a member of a transient wx.VisualAttributes object. Also set the attributes to be read-only to simplify the fix. (#1198). * Updated the sip being used in wxPython builds to version 4.19.16. * Added helper functions to check results of wxWidgets configure during the build of wxPython. Currently used to determine if the wx webview, glcanvas, and media libraries should be added to the link command. (#1138) * Fixed scrollbar issue with ListCtrlAutoWidthMixin (#1215) * Fixed file access in the wx.py and wx.tools.pywxrc packages to be Python 2 and 3 compatible. (#1193, #1156) * Fixes for building with Python 3.8 on Linux. (#1227) Update to 4.0.4 * Fixed an issue where wx.lib.intctrl would erroneously attempt to use long on Python3. (#898) * Include the MSVC runtime DLLs for Python 3.7 builds too. * Clear LIBPATH_PYEXT and LIB_PYEXT for linux builds too. (#904) * Added a dependency on the Pillow package since it's used in some wx.lib.agw modules. (PR #908) * Add flag to hide page in wx.lib.agw.aui.notebook. (#895) * Switch wx.lib.plot to issue deprecation warnings with PlotPendingDeprecation so it doesn't have to enable all warnings to get them to be shown by default. (#902) * Added a Python 3.7 builder on Fedora 28. (#925) * Fix the object ownership transfer for wx.Menu.Insert() (#931) * Added wx.Treebook.GetTreeCtrl, wx.Listbook.GetListView and wx.Choicebook.GetChoiceCtrl. (#918) * Removed the wx.BookCtrlBase.RemovePage workaround as it was causing problems and doesn't seem to be necessary any more. The existing wxWidgets assertions are catching the out of range error just fine, however if wxWidgets was built without the debug helpers turned on then it could still cause a crash. (#888) * Reverted the changes which removed the content of the wx.lib.pubsub package and encouraged users to switch to the real PyPubSub package instead. Removing it caused more issues than were expected so it has been restored and the code updated to PyPubSub v3.3.0. Version 4.0.0 is available upstream, but it is not compatible with Python 2.7. Now, wx.lib.pubsub is actually deprecated instead of just trying to pass control over to the upstream PyPubSub library. (#932) * Improve calltip stability in pyshell. (#941) * Fix TypeError in wx.lib.throbber. (#924) * Fix missing parameter tool_id in wx.lib.agw.ribbon.toolbar.RibbonToolBar.AddToggleTool. (#947) * Add a step to wx.Config.ReadInt to attempt converting from long to int under python2. (#384) * Add virtual behavior for wx.RichTextCtrl and wx.TextCtrl's Copy/Cut/Paste methods and their Can* counterparts. (#954) * Fix IO type in wx.lib.agw.thumbnailctrl (#959) * Fix type error that would occur using pycolourchooser. (#957) * Optimize line drawing in HyperTreeList. (#973) * Add wrapper for wx.StaticBox.GetBordersForSizer and use it in the demo to do platform-specific layout of the items in the StaticBox. (#974) * Update wx.Point, wx.RealPoint, and wx.Size to use floating point arithmetic when conducting scalar multiplication (#971) * Fix load/save bugs in PySlices (PR#978) * Replace deprecated PIL.Image.tostring (PR#1005) * Fix rendering and mouse sensitivity in UltimateListCtrl when adding HyperText items. (#1010) * Added a parameter to lib.agw.CustomTreeCtrl.SetItemWindow(), to allow positioning the Window (a small image) on the left of text in a CustomTreeItem. (#PR886). * Declared DeleteAllPages in the notebook subclasses, so the proper C++ implementation will be called. (#972) * Removed wx.lib.floatbar, which has been deprecated forever and probably hasn't been working in nearly as long. (#976) * Updated SIP to version 4.19.13. * Fix an issue in wx.lib.agw.aui.AuiManager where the orientation of an AuiToolBar would not be updated when calling LoadPerspective. (#917) * Fixed a bug in wx.FileSystemHandler.OpenFile where the object ownership was not being transferred correctly, causing a crash after a premature object deletion. (#926) * Fixed wx.ListCtrl.Append when wx.LC_SORT style is used, so appending items out of order does not lose the data for the remaining columns. (#906) * Add wx.Accessible, it's Windows-only, will raise a NotImplementedError exception on the other platforms. (#958) * Added the ability to generate stub classes for use when optional wxWidgets features are not part of the build. So far, stubs are available for wx.Accessible, wx.FileSystemWatcher, wx.glcanvas, wx.media and wx.html2. * Moved the wxpy_api.h file into the wx package at wx/include/wxPython so it will be included in the wheel file. (#961) * Fixed how string data is added to a virtual file-like object in wx.MemoryFSHandler. All strings are now added to the file as utf-8 encoded data, in both Python2 and Python3, and will be read from the virtual file the same way. If you need to use some other encoding for some reason you can first convert the text to a bytesarray or other buffer protocol compatible object and then create the virtual file from that data. (#969) * Performance update for wx.lib.agw.customtreectrl (#1049) * Ensure that colours set in wx.lib.agw.customtreectrl.TreeItemAttr are instances of wx.Colour. (#1032) * Fix drawing of ticks in wx.lib.agw.speedmeter when there are negative bounds values. (#1013) * wxWidgets for Mac includes the wxJoystick class now, also update the demo. (#997) * Fix wx.html.HtmlPrintout to not be seen as an abstract class, so it can be instantiated. (#1060) * Fix wx.aui.AuiNotbook.SetArtProvider to properly transfer ownership of the art object from Python to C++. This possible double-deletion and related crashing problems. (#1061) * Fixed the wrappers for wx.html.HtmlWindow.OnOpeningURL to properly handle the redirect output parameter. (#1068) This is a backwards-incompatible change, please see the Migration Guide for details. * TabNavigatorWindow works similarly to other programs now. It's resizable and draggable so if user has tons of files with long names, it isn't an irritation anymore plastered right in the middle of the screen and can't be worked with easily and ESC now cancels the popup with a proper returnId. (#1096) * Added missing methods in wx.ListBox, SetItemForegroundColour, SetItemBackgroundColour and SetItemFont. (#1095) * Backported a fix in wxWidgets that avoids crashing in hhctrl.ocx when using context sensitive help in 64-bit builds on Windows. (#1104) - Update to 4.0.3 * Fixed a linking problem on macOS. The new waf added an explicit link to the Python shared library which meant that it would try to load it at runtime, even if a different Python (such as Anaconda, EDM or Homebrew) was used to import wxPython. This, of course, caused runtime errors. (#892) * Sort pages by dock_pos when added to automatic (agw.aui) notebook. (#882) * Fix a bug in py.introspect.getTokens. (#889) * Added Vagrant configuration for Fedora-28. Removed Fedora-23 (#884) * Added wrappers for the wx.WindowIDRef class and added the wx.NewIdRef function. These will make it possible to create reserved Window IDs using the same mechanism which is used when passing wx.ID_ANY to a widget constructor. The object returned by wx.NewIdRef will automatically convert to an int when passing it to a window constructor, and can also be used as the source in a Bind(). (#896) * Fixed issue when sys.prefix is not unicode (Python2) and when its contents are not translatable to utf-8. - Update to 4.0.2 * Fixed wx.html2.EVT_WEBVIEW_NAVIGATING event not being sent on some versions of Linux. (#741) * wx.Sizers can now be used as an iterator to iterate over the items within the sizer. (#738) * Fix Python3 division in ThumbnailCtrl. (#746) * Fix leaking image list in CheckListCtrlMixin (#752) * All items marked as deprecated in the wxWidgets interface (documentation) files will now throw a DeprecationWarning when used from wxPython. Many of these items are disappearing in 4.1 so it's important to ensure they are deprecated at runtime too instead of just in the docs. (#749) * Ensure that the attribute list given to the GLCanvas constructor is zero-terminated like it was in Classic. (#770) * Updated to the wxWidgets 3.0.4 release version. * Added the wxWidgets version number to the tail end of the string returned by wx.version(). * Bind EVT_WINDOW_DESTROY event only to the tree windows in CustomTreeCtrl, since otherwise it would be caught when child windows are destroyed too, which causes problems in this case. (#778) * Fixed a problem where wx.TreeCtrl.OnCompareItems was not being called in derived classes on Windows. This was due to an optimization that wasn't compatible with how the classes are wrapped. (#774) * Added wrappers for wx.ClassInfo and exposed wx.Object.GetClassInfo. This class is part of wxWidgets' internal type information system and although it is not very useful for Python applications it is useful for debugging some internal wxPython issues. * Removed the wx.lib.pubsub package, and replaced it with code that imports the standalone PyPubSub in order remain compatible with older code that still uses wx.lib.pubsub. (#782, #792) * Fixed bug in wx.lib.intctrl (#790) * Fixed subclassing of wx.TextCompleter and wx.TextCompleterSimple (#827) * Fixes for Python3 compatibility in PyCrust. (#823) * Fix wxGet to be able to use pip v10. (#817) * Change winid parameter in wx.ScrolledWindow to id, for consistency. (#816) * Ensure that the page exists in book controls GetPage and RemovePage methods. At least one of the wx ports do not do this. (#830) * Added missing wx.NumberEntryDialog * Change wx.TextCompleterSimple.GetCompletions to send the list of strings as a return value, rather than a parameter that gets filled. (#836) * Enabled the wx.GraphicsContext.Create(metaFileDC) wrapper (#811) * Metafile support is also available on OSX, so wx.msw.Metafile and wx.msw.MetafileDC have been moved to the core wx module. So they can now be accessed as wx.Metafile and wx.MetafileDC. * Updated the waf tool used by the build to version 2.0.7. This fixes problems with building for Python 3.7. * Fixed alignment in buttons on MSW which have had foreground or background colors set. (#815) * Fix for unexpected assertion inside wx.aui.AuiMDIChildFrame.Close. * Fix a bug in setting AuiDockingGuide size. (#727) * Remove unnecessary AUI notebook updating, and use wx.BufferedDC in Repaint() to mitigate flicker. (wx.lib.agw.aui). (#851, #686) * Fixed crashing bug when using client data with items in wx.dataview.DataViewTreeCtrl. (#856) * Detach wx.Control in AuiToolbar from current sizer before attach to a new one. (#843) * Fixed a problem in wx.lib.mixins.listctrl.TextEditMixin where the height of the editor widget could be set to zero. (See discussion in #849) * Fix a bug in calculating whether a tool fits into the AuiToolBar. (#863) * Override SetForegroundColour and SetBackgroundColour in MaskedEditMixin (#808) * Add an explicit wx.GraphicsContext.Create overload for wx.AutoBufferedPaintDC. (#783) * Return original AGW window style in AuiToolBar.GetAGWWindowStyleFlag. (#870) * Fix a bug in group management on wx.lib.masked.numctrl; the previous code used truediv ('/') to calculate _groupSpace, but in python 3.x this leads to a float result, instead of an integer as was expected. Using floordiv ('//') instead to solve the problem. (#865) * Hide the window when the tool does not fit into AuiToolBar. (#872) * Fixed the virtual dispatch code for the PGEditor.GetValueFromControl method to properly pass the parameters to the Python implementation, and also fixed how the return value is handled. (#742) * Fixed all implementations of the PGProperty.StringToValue and IntToValue methods to treat the value parameter as a return value. (#742) * Add missing wx.adv.EVT_CALENDAR_WEEK_CLICKED (#875) * Fixed the stock labels to conform to Windows design guidelines. (#787) * Always reset floating size and style when floating a toolbar in agw.aui. (#880) - Move "wx/*.so" libraries to main package, remove devel package (boo#1095747) Patch Instructions: To install this openSUSE Recommended Update use the SUSE recommended installation methods like YaST online_update or "zypper patch". Alternatively you can run the command listed for your product: - openSUSE Leap 15.3: zypper in -t patch openSUSE-SLE-15.3-2022-92=1 - openSUSE Backports SLE-15-SP3: zypper in -t patch openSUSE-2022-92=1 Package List: - openSUSE Leap 15.3 (aarch64 ppc64le s390x x86_64): rsyslog-8.2106.0-4.16.1 rsyslog-debuginfo-8.2106.0-4.16.1 rsyslog-debugsource-8.2106.0-4.16.1 rsyslog-diag-tools-8.2106.0-4.16.1 rsyslog-diag-tools-debuginfo-8.2106.0-4.16.1 rsyslog-doc-8.2106.0-4.16.1 rsyslog-module-dbi-8.2106.0-4.16.1 rsyslog-module-dbi-debuginfo-8.2106.0-4.16.1 rsyslog-module-elasticsearch-8.2106.0-4.16.1 rsyslog-module-elasticsearch-debuginfo-8.2106.0-4.16.1 rsyslog-module-gcrypt-8.2106.0-4.16.1 rsyslog-module-gcrypt-debuginfo-8.2106.0-4.16.1 rsyslog-module-gssapi-8.2106.0-4.16.1 rsyslog-module-gssapi-debuginfo-8.2106.0-4.16.1 rsyslog-module-gtls-8.2106.0-4.16.1 rsyslog-module-gtls-debuginfo-8.2106.0-4.16.1 rsyslog-module-mmnormalize-8.2106.0-4.16.1 rsyslog-module-mmnormalize-debuginfo-8.2106.0-4.16.1 rsyslog-module-mysql-8.2106.0-4.16.1 rsyslog-module-mysql-debuginfo-8.2106.0-4.16.1 rsyslog-module-omamqp1-8.2106.0-4.16.1 rsyslog-module-omamqp1-debuginfo-8.2106.0-4.16.1 rsyslog-module-omhttpfs-8.2106.0-4.16.1 rsyslog-module-omhttpfs-debuginfo-8.2106.0-4.16.1 rsyslog-module-omtcl-8.2106.0-4.16.1 rsyslog-module-omtcl-debuginfo-8.2106.0-4.16.1 rsyslog-module-ossl-8.2106.0-4.16.1 rsyslog-module-ossl-debuginfo-8.2106.0-4.16.1 rsyslog-module-pgsql-8.2106.0-4.16.1 rsyslog-module-pgsql-debuginfo-8.2106.0-4.16.1 rsyslog-module-relp-8.2106.0-4.16.1 rsyslog-module-relp-debuginfo-8.2106.0-4.16.1 rsyslog-module-snmp-8.2106.0-4.16.1 rsyslog-module-snmp-debuginfo-8.2106.0-4.16.1 rsyslog-module-udpspoof-8.2106.0-4.16.1 rsyslog-module-udpspoof-debuginfo-8.2106.0-4.16.1 - openSUSE Backports SLE-15-SP3 (aarch64 i586 ppc64le s390x x86_64): python2-wxPython-4.0.7.post2-bp153.2.1 python2-wxPython-lang-4.0.7.post2-bp153.2.1 python3-wxPython-4.0.7.post2-bp153.2.1 python3-wxPython-lang-4.0.7.post2-bp153.2.1 References: https://bugzilla.suse.com/1095747 https://bugzilla.suse.com/1194593