Skip to content
New issue

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

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

Already on GitHub? # 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.

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

Successfully merging this pull request may close these issues.

2 participants