I've verified that the bug described at the URL below is indeed caused by the fact that the _unit_table member is declared statically (as far as I can tell). It's a pretty irritating bug and the problem should be quite easy to fix, I don't feel confident enough with the Inkscape source to provide a proper patch though, could someone look into this?
The variable is declared/used in unit-menu.h/cpp in the ui/widget subdir, the UnitTable class is defined in units.h/cpp in the util subdir.
For testing purposes I made the static member variable _unit_table into a pointer, made all methods use getUnitTable instead of using the member variable directly and constructed the unit table with new inside the UnitMenu constructor (if it wasn't constructed yet). This seems to do the trick.
The bug in the bugtracker: http://sourceforge.net/tracker/index.php?func=detail&aid=1275848&gro...
Jasper van de Gronde wrote:
I've verified that the bug described at the URL below is indeed caused by the fact that the _unit_table member is declared statically (as far as I can tell). It's a pretty irritating bug and the problem should be quite easy to fix, I don't feel confident enough with the Inkscape source to provide a proper patch though, could someone look into this?
The variable is declared/used in unit-menu.h/cpp in the ui/widget subdir, the UnitTable class is defined in units.h/cpp in the util subdir.
For testing purposes I made the static member variable _unit_table into a pointer, made all methods use getUnitTable instead of using the member variable directly and constructed the unit table with new inside the UnitMenu constructor (if it wasn't constructed yet). This seems to do the trick.
The bug in the bugtracker: http://sourceforge.net/tracker/index.php?func=detail&aid=1275848&gro...
From what I can see, just removing the 'static' and making certain that other classes use the get(), like you said, should work. I don't know why the member was declared static, unless the original intention was for all instances of the class to share the same unit table settings. The only affected class I could find was scalar-unit.cpp.
bob
participants (2)
-
Bob Jamison
-
Jasper van de Gronde