Open
Description
Problem
Opening UIs with the latest "develop" branch code (8692072) causes an error, and the UI does not open.
All UIs in mmSolver use BaseMayaWindow
, which uses the mix-in class maya.app.general.mayaMixin.MayaQWidgetDockableMixin
, however in Maya 2025, this causes an error. The same code in Maya 2024 works fine.
Expected behavior:
A UI should open.
Actual behavior:
The tool errors;
# Error: object.__init__() takes exactly one argument (the instance to initialize)
# # Traceback (most recent call last):
# # File "<maya console>", line 2, in <module>
# # File "C:\Users\user\Documents\maya\2025\modules\mayaMatchMoveSolver-0.5.1-maya2025-win64\python\mmSolver\tools\userprefswindow\tool.py", line 36, in open_window
# # pref_window.main()
# # File "C:\Users\user\Documents\maya\2025\modules\mayaMatchMoveSolver-0.5.1-maya2025-win64\python\mmSolver\tools\userprefswindow\ui\pref_window.py", line 161, in main
# # win = PrefWindow.open_window(show=show, auto_raise=auto_raise, delete=delete)
# # File "C:\Users\user\Documents\maya\2025\modules\mayaMatchMoveSolver-0.5.1-maya2025-win64\python\mmSolver\ui\base_maya_window.py", line 202, in open_window
# # cls.instance = cls(parent=parent, name=name)
# # File "C:\Users\user\Documents\maya\2025\modules\mayaMatchMoveSolver-0.5.1-maya2025-win64\python\mmSolver\tools\userprefswindow\ui\pref_window.py", line 58, in __init__
# # super(PrefWindow, self).__init__(parent, name=name)
# # File "C:\Users\user\Documents\maya\2025\modules\mayaMatchMoveSolver-0.5.1-maya2025-win64\python\mmSolver\ui\base_maya_window.py", line 101, in __init__
# # super(BaseMayaWindow, self).__init__()
# # File "C:\Program Files\Autodesk\Maya2025\Python\Lib\site-packages\maya\app\general\mayaMixin.py", line 262, in __init__
# # super(MayaQWidgetDockableMixin, self).__init__(parent=parent, *args, **kwargs) # Init all baseclasses (including QWidget) of the main class
# # File "C:\Program Files\Autodesk\Maya2025\Python\Lib\site-packages\maya\app\general\mayaMixin.py", line 78, in __init__
# # super(MayaQWidgetBaseMixin, self).__init__(parent=parent, *args, **kwargs) # Init all baseclasses (including QWidget) of the main class
# # TypeError: object.__init__() takes exactly one argument (the instance to initialize)
Steps to Reproduce
Run the provided mixin_bug_v1.py script, like this:
import mixin_bug_v1
mixin_bug_v1.main()
The issue can be fixed by changing C:\Program Files\Autodesk\Maya2025\Python\Lib\site-packages\maya\app\general\mayaMixin.py
line 78, from this:
super(MayaQWidgetBaseMixin, self).__init__(parent=parent, *args, **kwargs) # Init all baseclasses (including QWidget) of the main class
to this:
super(MayaQWidgetBaseMixin, self).__init__(parent, *args, **kwargs) # Init all baseclasses (including QWidget) of the main class
... simply replacing the parent=parent
with parent
.
Software Versions
-
mmSolver version: 0.5.1 develop branch; 8692072
-
Maya version: 2025
Operating System: Windows 10 Pro v2009 (Build: 19045)
Cut ID: 202409190603-cbdc5a7e54
Maya Version: Autodesk MAYA 2025.3
Maya API: 20250300
Qt Version: 6.5.3
Compositing Manager: True
Window Manager: Windows Aero
GPU: Version : 2016.11.62.12. Feature Level 5.
Adapter : NVIDIA GeForce GTX 1050/PCIe/SSE2
Vendor ID: 4318. Device ID : 22811
Driver : C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_91e2144e79bce669\ig9icd64.dll.dll:27.20.100.9664.
API : OpenGL V.4.6.
Max texture size : 16384 * 16384.
Max texture coords : 32
Shader versions supported (Vertex: 5, Geometry: 5, Pixel 5).
Shader compiler profile : (Best card profile)
Active stereo support available : 0
GPU Memory Limit : 4096 MB.
CPU Memory Limit : 30988.7 MB.
- Operating System (OS): Windows (and probably Linux too, but not tested)