gpilab / core-nodes

The core nodes are a collection of basic data manipulation and visualization algorithms.
http://docs.gpilab.com/en/develop/NodeDev/devguide.html
BSD 3-Clause "New" or "Revised" License
12 stars 6 forks source link

GPI Crashes when two Transpose nodes are switched in succession #17

Closed borupdaniel closed 4 years ago

borupdaniel commented 4 years ago

From Zhiqiang Li at BNI:

I have trouble with the Transpose node in the last couple of days, it kept crashing when switching the order of the dimensions. By searching online, I found by changing line 62 and line 66 from “super(GTITabBar, self)” to “super()” it seems ok.

Here is an exemplary network. If I change the order in one Transpose node, then go the other Transpose node and make changes, it will crash GPI.

image

borupdaniel commented 4 years ago

It looks like Zhiqiang found a fix, and super() looks to be the correct call for Python3 (see here). There are a few other calls to super in other nodes so I will try going through and changing them all, then test.

borupdaniel commented 4 years ago

I've tested all of the non-display nodes and they seem to work just fine with this change. I suspect Transpose was the only node to break because of the way super() is used in conjunction with a button push action, but good opportunity to update the syntax elsewhere too. Ready to merge this as a new patch version step.