Page MenuHomePhabricator

Property tree view
Closed, ResolvedPublic

Event Timeline

New remote branch pushed: bug-13139-PropertyTreeView2

Short review results:

  1. Service interfaces like mitkPropertyAliases should have out-of-line destructors
  2. Why is mitkLoadPerpertiesModule needed?

New remote branch pushed: bug-13139-PropertyTreeView3

I defined the destructors of all service interfaces out-of-line now.

LoadPropertiesModule() is a kind of a dummy no-op function needed to force loading of the module since it solely provides services. LoadPropertiesModule is the only exported symbol of the module. I don't know if we can rely on out-of-line destructors for that purpose, since they might be optimized back to inline descructors or even completely away.

(In reply to comment #4)

I defined the destructors of all service interfaces out-of-line now.

LoadPropertiesModule() is a kind of a dummy no-op function needed to force
loading of the module since it solely provides services.

Yes, I remember the discussion now. In the mean time, we established an "auto-load" feature for modules which do not export any symbols. In your case, it might not work properly since your interfaces are also defined in the module and linking to "auto-loaded" modules was not intended. You could split the module in two, one containing the interfaces and the other just the implementations which gets auto-loaded. Or put the interfaces into Qmitk(Ext).

LoadPropertiesModule is the only exported symbol of the module. I don't know
if we can rely on out-of-line destructors for that purpose, since they might
be optimized back to inline descructors or even completely away.

That was not the reason for the out-of-line destructor. Controlling the emission of the related type_info symbol was.

[4f788a]: Merge branch 'bug-13139-PropertyTreeView3'

Merged commits:

2013-03-20 16:44:41 Stefan Kislinskiy [2057ac]
Commented out OnPropertyDeleted().


2013-03-19 11:31:53 Stefan Kislinskiy [09b38f]
Created final and clean merge branch.

[67c17e]: Merge branch 'bug-13139-Fix1'

Merged commits:

2013-04-03 18:23:25 Stefan Kislinskiy [b7bca0]
COMP: Included algorithm header for find_if function.

[380e13]: Merge branch 'bug-13139-Fix2'

Merged commits:

2013-04-03 18:34:13 Stefan Kislinskiy [ae6c53]
COMP: Changed returned iterator of find_if to non-const iterator.

[e843bb]: Merge branch 'bug-13139-Fix3'

Merged commits:

2013-04-03 18:44:32 Stefan Kislinskiy [760682]
COMP: Removed AliasEquals functor out of member function.

[61ff4c]: Merge branch 'bug-13139-Fix4'

Merged commits:

2013-04-03 19:04:10 Stefan Kislinskiy [72bfdf]
COMP: Changed inclusion of QLineEdit.h to QLineEdit.

[48cc68]: Merge branch 'bug-13139-ExportFix'

Merged commits:

2013-04-04 14:15:02 Stefan Kislinskiy [c944c9]
Added export macros to interfaces.