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

APPLE: Fix for PySide 6.5.0 initialization order. #2392

Closed

Conversation

creijon
Copy link
Contributor

@creijon creijon commented Apr 20, 2023

Description of Change(s)

The recent change in Pyside 6.5.0 here:

pyside/pyside-setup@e809546

Introduced correct multiple inheritance through the use of the super() Method Resolution Order. I checked the MRO of ViewSettingsDataModel, which was:

<class 'pxr.Usdviewq.viewSettingsDataModel.ViewSettingsDataModel'>
<class 'PySide6.QtCore.QObject'>
<class 'Shiboken.Object'>
<class 'pxr.Usdviewq.settings.StateSource'>
<class 'object'>

This meant that the StateSource object wasn't being initialised correctly. With this change the MRO is:

<class 'pxr.Usdviewq.viewSettingsDataModel.ViewSettingsDataModel'>
<class 'pxr.Usdviewq.settings.StateSource'>
<class 'PySide6.QtCore.QObject'>
<class 'Shiboken.Object'>
<class 'object'>

And the initialisation works correctly. Checked with PySide 6.5.0 and 6.4.3

Fixes Issue(s)

  • usdview runtime exception on startup.
  • I have verified that all unit tests pass with the proposed changes
  • I have submitted a signed Contributor License Agreement

@sunyab
Copy link
Contributor

sunyab commented Apr 20, 2023

Filed as internal issue #USD-8255

@creijon creijon force-pushed the jon/dev/pyside_6_5_0_fix branch from 2dce08d to 3e789ba Compare April 26, 2023 11:18
@creijon creijon force-pushed the jon/dev/pyside_6_5_0_fix branch 2 times, most recently from 5502e93 to cd09764 Compare May 13, 2023 05:45
@creijon creijon force-pushed the jon/dev/pyside_6_5_0_fix branch from cd09764 to c4b6581 Compare May 21, 2023 15:42
@creijon creijon force-pushed the jon/dev/pyside_6_5_0_fix branch 2 times, most recently from 33f7177 to c4b6581 Compare June 12, 2023 13:25
@creijon creijon force-pushed the jon/dev/pyside_6_5_0_fix branch from c4b6581 to d331ed6 Compare June 12, 2023 13:30
pixar-oss pushed a commit that referenced this pull request Jun 21, 2023
The recent change in Pyside 6.5.0 here:

pyside/pyside-setup@e809546

Introduced correct multiple inheritance through the use of the `super()` Method Resolution Order.  I checked the MRO of ViewSettingsDataModel, which was:

```
<class 'pxr.Usdviewq.viewSettingsDataModel.ViewSettingsDataModel'>
<class 'PySide6.QtCore.QObject'>
<class 'Shiboken.Object'>
<class 'pxr.Usdviewq.settings.StateSource'>
<class 'object'>
```

This meant that the `StateSource` object wasn't being initialised correctly.  With this change the MRO is:

```
<class 'pxr.Usdviewq.viewSettingsDataModel.ViewSettingsDataModel'>
<class 'pxr.Usdviewq.settings.StateSource'>
<class 'PySide6.QtCore.QObject'>
<class 'Shiboken.Object'>
<class 'object'>
```

And the initialisation works correctly.  Checked with PySide 6.5.0 and 6.4.3

Contribution: Apple

Fixes #2392

(Internal change: 2281902)
@sunyab
Copy link
Contributor

sunyab commented Jun 21, 2023

This PR was merged into the dev branch in 78e66de.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants