Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maya 2025 - mmSolver UIs Will Not Open #267

Open
david-cattermole opened this issue Oct 19, 2024 · 0 comments
Open

Maya 2025 - mmSolver UIs Will Not Open #267

david-cattermole opened this issue Oct 19, 2024 · 0 comments
Labels
bug maya tool A user tool inside Maya. user interface Related to a User Interface (Maya or Qt)

Comments

@david-cattermole
Copy link
Owner

david-cattermole commented Oct 19, 2024

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)
@david-cattermole david-cattermole added bug maya tool A user tool inside Maya. user interface Related to a User Interface (Maya or Qt) labels Oct 19, 2024
david-cattermole added a commit that referenced this issue Oct 19, 2024
Due to GitHub issue #267, here I had a hack BaseMayaWindow to disable
the Docking feature for all UIs in Maya 2025+

The only UI in mmSolver that actually uses docking (because it's
disabled by default) is the Solver window.

GitHub issue #251 and #267.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug maya tool A user tool inside Maya. user interface Related to a User Interface (Maya or Qt)
Projects
None yet
Development

No branches or pull requests

1 participant