see also T2648.
Description
Status | Assigned | Task | ||
---|---|---|---|---|
Restricted Maniphest Task | ||||
Resolved | None | T2807 Rework CoreObjectFactory inheritance and registration |
Event Timeline
Currently the SB-factory is not aware of the filenames that were registered to CoreObjectFactory.
Factory registration is done in the bundle activators. A design flaw in the "extra factory mechanism" can break this on some systems, depending on dll loading order and things like that.
A first fix will reactivate the explicit factory registration in Mitk3M, SandboxApp and ExtApp.
[SVN revision 20242]
CHG (#2807): explicitly register object factories in main() functions as a workaround for a factory design weakness
[SVN revision 22264]
CHG (#2807): CoreObjectFactory restructuring.
All CoreObjectFactories now share the same parent class
CoreObjectFactoryBase and register themself at the singleton
CoreObjectFactory.
[SVN revision 22265]
CHG (#2807): use correct file extensions in QmitkExtFileOpenAction
[SVN revision 22269]
CHG (#2807): changed parent class of CoreObjectFactoryBase to itk::Object
[SVN revision 22271]
ENH (#2807): activated factory registration test for DiffusionImaging module
[SVN revision 22302]
FIX (#2807): always register a QMCoreObjectFactory when registering a SBCoreObjectFactory. Restores old behaviour and makes vessel trees loadable again.
[SVN revision 22357]
FIX (#2807): keep mapper from ExtraFactoriesList only if it is not NULL
Vesseltree rendering did not work anymore.
In mitk::CoreObjectFactory::CreateMapper() iterating over ExtraFactoriesList returned an empty (NULL) mapper, this is why the vesseltree mapper was not loaded.
To avoid storing an empty mapper the last existing mapper in the ExtraFactoriesList is alway kept.
unstructuredGridMapper was also affected.
Both VesselTree and UnstructredGrid rendering work now again.