Operator group registration


#1

While working to get a list of available operators from the selection, I’ve run across a curious issue in smtk/bridge/polygon/RegisterSession.cxx at line 61:

https://gitlab.kitware.com/cmb/smtk/blob/master/smtk/bridge/polygon/RegisterSession.cxx#L61

It looks like only 2 arguments are passed to the registerOperation method and the last (fileItemName) defaults to an empty string. When I run the UnitTestPolygonEnvironment test from within ctest, everything appears to run fine but when I run it from the command line, the test fails, apparently because it does not find the legacy polygon read operator. When I modify RegisterSession to pass “filename” as the 3rd argument to registerOperation(), then everything works properly no matter I run it.

@tj.corona Does any of this code strike you as using an uninitialized value somewhere?


#2

I think that the default argument for the third parameter is m_defaultFileItemName, which is set in ResourceIOGroup.cxx to be "filename".


#3

Any idea why adding a non-default value that is also "filename" changes the behavior?


#4

Nope. I am compiling master now to see if I can reproduce your results.


#5

When I run UnitTestPolygonEnvironment from the command line I get the same results as when I run it using ctest. In both cases, the test passes.