[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    Re: Review Request: make usage of KoGenericRegistry consistent
From:       "Thomas Zander" <zander () kde ! org>
Date:       2010-09-25 18:15:49
Message-ID: 20100925181549.3019.8670 () vidsolbach ! de
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://svn.reviewboard.kde.org/r/5448/#review7794
-----------------------------------------------------------


It seems you changed the design slightly and the ownership is changed in a way that \
I'm wondering if it was intended; flake plugins have a class that is created on \
startup in the plugin loader. Example is plugins/textshape/TextPlugin.h This class is \
a QObject and ownership is taken by the plugin loader.  The plugin loader passes \
itself as parent in koffice/libs/koplugin/KoPluginLoader.cpp:120 The factories \
created inside the plugins are also passing this same parent and as a result each of \
the factories are also owned by the plugin loader.

The plugin loader thus is the one that deletes *all* plugins and *all* factories on \
unload.  At least, thats the design ;)

The change you made changes this such that factories are owned by individual \
registries. So in case of the text plugin you now have 2 registries in flake that own \
objects and another object (the TextPlugin) is owned by the plugin loader. As all of \
them are singletons and thus they are deleted on library unload, in reverse order of \
loading.  The plugin loader is designed to be unloaded last of all the KOffice \
plugins to avoid anyone using dangling pointers. You changed this so plugins are \
deleted in several different places from several different library unloads. This \
doesn't make things very predictable and I'm not convinced its a step in the right \
direction.

Not currently all that significant, but still relevant; this change also closes the \
door to unloading of a single plugin. The ownership is moved all over KOffice and as \
such unloading one plugin becomes impossible => a user that wants to remove one \
plugin will require a restart of the app. Not fun :( In the design as it is in svn \
currently this feature would be trivial to implement by changing the plugin loader in \
any number of ways.

- Thomas


On 2010-09-25 12:39:05, Boudewijn Rempt wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://svn.reviewboard.kde.org/r/5448/
> -----------------------------------------------------------
> 
> (Updated 2010-09-25 12:39:05)
> 
> 
> Review request for KOffice.
> 
> 
> Summary
> -------
> 
> Some KoGenericRegistry subclasses were QObjects, some were not. Some \
> KoGenericRegistry subclasses deleted their their contents, some dependent on the \
> QObject parent-child relationship to delete their contents on destruction. 
> Since having two kinds of ownership in one class is confusing, this patch \
> de-qobjectifies the registries and the objects they contain. Deletion is done \
> explicitly in the destructor. 
> This makes the usage of KoGenericRegistry consistent, the ownership relation inside \
> KoGeneric consistent and we save some memory by having a lot less QObjects and not \
> keeping two lists contained objects. 
> 
> Diffs
> -----
> 
> trunk/koffice/interfaces/KoGenericRegistry.h 1179080 
> trunk/koffice/karbon/plugins/filtereffects/BlendEffectFactory.h 1179080 
> trunk/koffice/karbon/plugins/filtereffects/BlendEffectFactory.cpp 1179080 
> trunk/koffice/karbon/plugins/filtereffects/BlurEffectFactory.h 1179080 
> trunk/koffice/karbon/plugins/filtereffects/BlurEffectFactory.cpp 1179080 
> trunk/koffice/karbon/plugins/filtereffects/ColorMatrixEffectFactory.h 1179080 
> trunk/koffice/karbon/plugins/filtereffects/ColorMatrixEffectFactory.cpp 1179080 
> trunk/koffice/karbon/plugins/filtereffects/ComponentTransferEffectFactory.h 1179080 \
>  trunk/koffice/karbon/plugins/filtereffects/ComponentTransferEffectFactory.cpp \
> 1179080  trunk/koffice/karbon/plugins/filtereffects/CompositeEffectFactory.h \
> 1179080  trunk/koffice/karbon/plugins/filtereffects/CompositeEffectFactory.cpp \
> 1179080  trunk/koffice/karbon/plugins/filtereffects/ConvolveMatrixEffectFactory.h \
> 1179080  trunk/koffice/karbon/plugins/filtereffects/ConvolveMatrixEffectFactory.cpp \
> 1179080  trunk/koffice/karbon/plugins/filtereffects/FloodEffectFactory.h 1179080 
> trunk/koffice/karbon/plugins/filtereffects/FloodEffectFactory.cpp 1179080 
> trunk/koffice/karbon/plugins/filtereffects/ImageEffectFactory.h 1179080 
> trunk/koffice/karbon/plugins/filtereffects/ImageEffectFactory.cpp 1179080 
> trunk/koffice/karbon/plugins/filtereffects/KarbonFilterEffectsPlugin.cpp 1179080 
> trunk/koffice/karbon/plugins/filtereffects/MergeEffectFactory.h 1179080 
> trunk/koffice/karbon/plugins/filtereffects/MergeEffectFactory.cpp 1179080 
> trunk/koffice/karbon/plugins/filtereffects/MorphologyEffectFactory.h 1179080 
> trunk/koffice/karbon/plugins/filtereffects/MorphologyEffectFactory.cpp 1179080 
> trunk/koffice/karbon/plugins/filtereffects/OffsetEffectFactory.h 1179080 
> trunk/koffice/karbon/plugins/filtereffects/OffsetEffectFactory.cpp 1179080 
> trunk/koffice/karbon/plugins/tools/CalligraphyTool/KarbonCalligraphicShapeFactory.h \
> 1179080  trunk/koffice/karbon/plugins/tools/CalligraphyTool/KarbonCalligraphicShapeFactory.cpp \
> 1179080  trunk/koffice/karbon/plugins/tools/CalligraphyTool/KarbonCalligraphyOptionWidget.cpp \
> 1179080  trunk/koffice/karbon/plugins/tools/CalligraphyTool/KarbonCalligraphyToolFactory.h \
> 1179080  trunk/koffice/karbon/plugins/tools/CalligraphyTool/KarbonCalligraphyToolFactory.cpp \
> 1179080  trunk/koffice/karbon/plugins/tools/KarbonGradientToolFactory.h 1179080 
> trunk/koffice/karbon/plugins/tools/KarbonGradientToolFactory.cpp 1179080 
> trunk/koffice/karbon/plugins/tools/KarbonPatternToolFactory.h 1179080 
> trunk/koffice/karbon/plugins/tools/KarbonPatternToolFactory.cpp 1179080 
> trunk/koffice/karbon/plugins/tools/KarbonPencilToolFactory.h 1179080 
> trunk/koffice/karbon/plugins/tools/KarbonPencilToolFactory.cpp 1179080 
> trunk/koffice/karbon/plugins/tools/KarbonToolsPlugin.cpp 1179080 
> trunk/koffice/karbon/plugins/tools/filterEffectTool/KarbonFilterEffectsToolFactory.h \
> 1179080  trunk/koffice/karbon/plugins/tools/filterEffectTool/KarbonFilterEffectsToolFactory.cpp \
> 1179080  trunk/koffice/kexi/shapes/relationdesign/kexirelationdesignfactory.h \
> 1179080  trunk/koffice/kexi/shapes/relationdesign/kexirelationdesignfactory.cpp \
> 1179080  trunk/koffice/kexi/shapes/relationdesign/kexirelationdesignshapeplugin.cpp \
> 1179080  trunk/koffice/kexi/shapes/relationdesign/kexirelationdesigntoolfactory.h \
> 1179080  trunk/koffice/kexi/shapes/relationdesign/kexirelationdesigntoolfactory.cpp \
> 1179080  trunk/koffice/kformula/flake/KoFormulaShapeFactory.h 1179080 
> trunk/koffice/kformula/flake/KoFormulaShapeFactory.cpp 1179080 
> trunk/koffice/kformula/flake/KoFormulaShapePlugin.cpp 1179080 
> trunk/koffice/kformula/flake/KoFormulaToolFactory.h 1179080 
> trunk/koffice/kformula/flake/KoFormulaToolFactory.cpp 1179080 
> trunk/koffice/kpresenter/part/KPrDocument.cpp 1179080 
> trunk/koffice/kpresenter/part/KPrPlaceholderShapeFactory.h 1179080 
> trunk/koffice/kpresenter/part/KPrPlaceholderShapeFactory.cpp 1179080 
> trunk/koffice/kpresenter/part/pageeffects/KPrPageEffectRegistry.cpp 1179080 
> trunk/koffice/kpresenter/part/shapeanimations/KPrShapeAnimationRegistry.cpp 1179080 \
>  trunk/koffice/kpresenter/part/tools/KPrPlaceholderToolFactory.h 1179080 
> trunk/koffice/kpresenter/part/tools/KPrPlaceholderToolFactory.cpp 1179080 
> trunk/koffice/kpresenter/part/tools/animationtool/KPrAnimationToolFactory.h 1179080 \
>  trunk/koffice/kpresenter/part/tools/animationtool/KPrAnimationToolFactory.cpp \
> 1179080  trunk/koffice/kpresenter/part/tools/animationtool/Plugin.cpp 1179080 
> trunk/koffice/kpresenter/plugins/variable/PresentationVariableFactory.h 1179080 
> trunk/koffice/kpresenter/plugins/variable/PresentationVariableFactory.cpp 1179080 
> trunk/koffice/krita/image/filter/kis_color_transformation_filter.cc 1179080 
> trunk/koffice/krita/plugins/assistants/RulerAssistant/kis_ruler_assistant_tool.h \
> 1179080  trunk/koffice/krita/plugins/assistants/RulerAssistant/ruler_assistant_tool.cc \
> 1179080  trunk/koffice/krita/plugins/tools/defaulttools/default_tools.cc 1179080 
> trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_brush.h 1179080 
> trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_colorpicker.h 1179080 
> trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_ellipse.h 1179080 
> trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_fill.h 1179080 
> trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_gradient.h 1179080 
> trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_line.h 1179080 
> trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_measure.h 1179080 
> trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_move.h 1179080 
> trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_pan.h 1179080 
> trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_path.h 1179080 
> trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_rectangle.h 1179080 
> trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_brush.h 1179080 
> trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_contiguous.h \
> 1179080  trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_elliptical.h \
> 1179080  trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_elliptical.cc \
> 1179080  trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_magnetic.h \
> 1179080  trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_outline.h \
> 1179080  trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_path.h \
> 1179080  trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_polygonal.h \
> 1179080  trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_rectangular.h \
> 1179080  trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_similar.h \
> 1179080  trunk/koffice/krita/plugins/tools/selectiontools/selection_tools.cc \
> 1179080  trunk/koffice/krita/plugins/tools/tool_crop/kis_tool_crop.h 1179080 
> trunk/koffice/krita/plugins/tools/tool_crop/tool_crop.cc 1179080 
> trunk/koffice/krita/plugins/tools/tool_curves/kis_tool_bezier_paint.h 1179080 
> trunk/koffice/krita/plugins/tools/tool_curves/kis_tool_bezier_select.h 1179080 
> trunk/koffice/krita/plugins/tools/tool_curves/kis_tool_example.h 1179080 
> trunk/koffice/krita/plugins/tools/tool_curves/kis_tool_moutline.h 1179080 
> trunk/koffice/krita/plugins/tools/tool_dyna/kis_tool_dyna.h 1179080 
> trunk/koffice/krita/plugins/tools/tool_dyna/tool_dyna.cpp 1179080 
> trunk/koffice/krita/plugins/tools/tool_grid/kis_tool_grid.h 1179080 
> trunk/koffice/krita/plugins/tools/tool_grid/tool_grid.cc 1179080 
> trunk/koffice/krita/plugins/tools/tool_perspectivegrid/kis_tool_perspectivegrid.h \
> 1179080  trunk/koffice/krita/plugins/tools/tool_perspectivegrid/tool_perspectivegrid.cc \
> 1179080  trunk/koffice/krita/plugins/tools/tool_perspectivetransform/kis_tool_perspectivetransform.h \
> 1179080  trunk/koffice/krita/plugins/tools/tool_perspectivetransform/tool_perspectivetransform.cc \
> 1179080  trunk/koffice/krita/plugins/tools/tool_polygon/kis_tool_polygon.h 1179080 
> trunk/koffice/krita/plugins/tools/tool_polygon/tool_polygon.cc 1179080 
> trunk/koffice/krita/plugins/tools/tool_polyline/kis_tool_polyline.h 1179080 
> trunk/koffice/krita/plugins/tools/tool_polyline/tool_polyline.cc 1179080 
> trunk/koffice/krita/plugins/tools/tool_star/kis_tool_star.h 1179080 
> trunk/koffice/krita/plugins/tools/tool_star/tool_star.cc 1179080 
> trunk/koffice/krita/plugins/tools/tool_transform2/kis_tool_transform.h 1179080 
> trunk/koffice/krita/plugins/tools/tool_transform2/tool_transform.cc 1179080 
> trunk/koffice/krita/ui/flake/kis_shape_selection.h 1179080 
> trunk/koffice/krita/ui/flake/kis_shape_selection.cpp 1179080 
> trunk/koffice/krita/ui/kis_factory2.cc 1179080 
> trunk/koffice/kspread/FunctionModuleRegistry.h 1179080 
> trunk/koffice/kspread/FunctionModuleRegistry.cpp 1179080 
> trunk/koffice/kspread/part/CellToolFactory.h 1179080 
> trunk/koffice/kspread/part/CellToolFactory.cpp 1179080 
> trunk/koffice/kspread/part/ToolRegistry.cpp 1179080 
> trunk/koffice/kspread/plugins/calendar/CalendarToolFactory.h 1179080 
> trunk/koffice/kspread/plugins/calendar/CalendarToolFactory.cpp 1179080 
> trunk/koffice/kspread/shape/TableShapeFactory.h 1179080 
> trunk/koffice/kspread/shape/TableShapeFactory.cpp 1179080 
> trunk/koffice/kspread/shape/TableToolFactory.h 1179080 
> trunk/koffice/kspread/shape/TableToolFactory.cpp 1179080 
> trunk/koffice/libs/flake/KoConnectionShapeFactory.h 1179080 
> trunk/koffice/libs/flake/KoConnectionShapeFactory.cpp 1179080 
> trunk/koffice/libs/flake/KoDockRegistry.h 1179080 
> trunk/koffice/libs/flake/KoDockRegistry.cpp 1179080 
> trunk/koffice/libs/flake/KoFilterEffectFactoryBase.h 1179080 
> trunk/koffice/libs/flake/KoFilterEffectFactoryBase.cpp 1179080 
> trunk/koffice/libs/flake/KoFilterEffectRegistry.h 1179080 
> trunk/koffice/libs/flake/KoFilterEffectRegistry.cpp 1179080 
> trunk/koffice/libs/flake/KoInputDeviceHandlerRegistry.h 1179080 
> trunk/koffice/libs/flake/KoInputDeviceHandlerRegistry.cpp 1179080 
> trunk/koffice/libs/flake/KoLineBorderFactory.h 1179080 
> trunk/koffice/libs/flake/KoLineBorderFactory.cpp 1179080 
> trunk/koffice/libs/flake/KoPathShapeFactory.h 1179080 
> trunk/koffice/libs/flake/KoPathShapeFactory.cpp 1179080 
> trunk/koffice/libs/flake/KoShapeBorderFactoryBase.h 1179080 
> trunk/koffice/libs/flake/KoShapeBorderFactoryBase.cpp 1179080 
> trunk/koffice/libs/flake/KoShapeBorderRegistry.h 1179080 
> trunk/koffice/libs/flake/KoShapeBorderRegistry.cpp 1179080 
> trunk/koffice/libs/flake/KoShapeFactoryBase.h 1179080 
> trunk/koffice/libs/flake/KoShapeFactoryBase.cpp 1179080 
> trunk/koffice/libs/flake/KoShapeRegistry.h 1179080 
> trunk/koffice/libs/flake/KoShapeRegistry.cpp 1179080 
> trunk/koffice/libs/flake/KoToolFactoryBase.h 1179080 
> trunk/koffice/libs/flake/KoToolFactoryBase.cpp 1179080 
> trunk/koffice/libs/flake/KoToolRegistry.h 1179080 
> trunk/koffice/libs/flake/KoToolRegistry.cpp 1179080 
> trunk/koffice/libs/flake/tests/TestKoShapeFactory.cpp 1179080 
> trunk/koffice/libs/flake/tools/KoCreatePathToolFactory.h 1179080 
> trunk/koffice/libs/flake/tools/KoCreatePathToolFactory.cpp 1179080 
> trunk/koffice/libs/flake/tools/KoCreateShapesToolFactory.h 1179080 
> trunk/koffice/libs/flake/tools/KoCreateShapesToolFactory.cpp 1179080 
> trunk/koffice/libs/flake/tools/KoPanToolFactory.h 1179080 
> trunk/koffice/libs/flake/tools/KoPanToolFactory.cpp 1179080 
> trunk/koffice/libs/flake/tools/KoPathToolFactory.h 1179080 
> trunk/koffice/libs/flake/tools/KoPathToolFactory.cpp 1179080 
> trunk/koffice/libs/flake/tools/KoZoomToolFactory.h 1179080 
> trunk/koffice/libs/flake/tools/KoZoomToolFactory.cpp 1179080 
> trunk/koffice/libs/kopageapp/tools/backgroundTool/KoPABackgroundToolFactory.h \
> 1179080  trunk/koffice/libs/kopageapp/tools/backgroundTool/KoPABackgroundToolFactory.cpp \
> 1179080  trunk/koffice/libs/kopageapp/tools/backgroundTool/Plugin.cpp 1179080 
> trunk/koffice/libs/kotext/KoInlineObjectFactoryBase.h 1179080 
> trunk/koffice/libs/kotext/KoInlineObjectFactoryBase.cpp 1179080 
> trunk/koffice/libs/kotext/KoInlineObjectRegistry.h 1179080 
> trunk/koffice/libs/kotext/KoInlineObjectRegistry.cpp 1179080 
> trunk/koffice/libs/kotext/KoTextEditingFactory.h 1179080 
> trunk/koffice/libs/kotext/KoTextEditingFactory.cpp 1179080 
> trunk/koffice/libs/kotext/KoTextEditingRegistry.h 1179080 
> trunk/koffice/libs/kotext/KoTextEditingRegistry.cpp 1179080 
> trunk/koffice/libs/pigment/KoColorSpaceRegistry.h 1179080 
> trunk/koffice/libs/pigment/KoColorTransformationFactoryRegistry.cpp 1179080 
> trunk/koffice/plugins/artistictextshape/ArtisticTextShapeFactory.h 1179080 
> trunk/koffice/plugins/artistictextshape/ArtisticTextShapeFactory.cpp 1179080 
> trunk/koffice/plugins/artistictextshape/ArtisticTextShapePlugin.cpp 1179080 
> trunk/koffice/plugins/artistictextshape/ArtisticTextToolFactory.h 1179080 
> trunk/koffice/plugins/artistictextshape/ArtisticTextToolFactory.cpp 1179080 
> trunk/koffice/plugins/chartshape/ChartShapeFactory.h 1179080 
> trunk/koffice/plugins/chartshape/ChartShapeFactory.cpp 1179080 
> trunk/koffice/plugins/chartshape/ChartToolFactory.h 1179080 
> trunk/koffice/plugins/chartshape/ChartToolFactory.cpp 1179080 
> trunk/koffice/plugins/commentshape/CommentShapeFactory.h 1179080 
> trunk/koffice/plugins/commentshape/CommentShapeFactory.cpp 1179080 
> trunk/koffice/plugins/commentshape/CommentToolFactory.h 1179080 
> trunk/koffice/plugins/commentshape/CommentToolFactory.cpp 1179080 
> trunk/koffice/plugins/commentshape/Plugin.cpp 1179080 
> trunk/koffice/plugins/defaultTools/Plugin.cpp 1179080 
> trunk/koffice/plugins/defaultTools/connectionTool/ConnectionToolFactory.h 1179080 
> trunk/koffice/plugins/defaultTools/connectionTool/ConnectionToolFactory.cpp 1179080 \
>  trunk/koffice/plugins/defaultTools/defaulttool/DefaultToolFactory.h 1179080 
> trunk/koffice/plugins/defaultTools/defaulttool/DefaultToolFactory.cpp 1179080 
> trunk/koffice/plugins/defaultTools/guidestool/GuidesToolFactory.h 1179080 
> trunk/koffice/plugins/defaultTools/guidestool/GuidesToolFactory.cpp 1179080 
> trunk/koffice/plugins/divineProportion/DivineProportionPlugin.cpp 1179080 
> trunk/koffice/plugins/divineProportion/DivineProportionShapeFactory.h 1179080 
> trunk/koffice/plugins/divineProportion/DivineProportionShapeFactory.cpp 1179080 
> trunk/koffice/plugins/divineProportion/DivineProportionToolFactory.h 1179080 
> trunk/koffice/plugins/divineProportion/DivineProportionToolFactory.cpp 1179080 
> trunk/koffice/plugins/dockers/shapecollection/CollectionShapeFactory.h 1179080 
> trunk/koffice/plugins/dockers/shapecollection/CollectionShapeFactory.cpp 1179080 
> trunk/koffice/plugins/dockers/shapecollection/ShapeCollectionDocker.cpp 1179080 
> trunk/koffice/plugins/musicshape/MusicShapeFactory.h 1179080 
> trunk/koffice/plugins/musicshape/MusicShapeFactory.cpp 1179080 
> trunk/koffice/plugins/musicshape/MusicToolFactory.h 1179080 
> trunk/koffice/plugins/musicshape/MusicToolFactory.cpp 1179080 
> trunk/koffice/plugins/musicshape/SimpleEntryToolFactory.h 1179080 
> trunk/koffice/plugins/musicshape/SimpleEntryToolFactory.cpp 1179080 
> trunk/koffice/plugins/paragraphtool/ParagraphPlugin.cpp 1179080 
> trunk/koffice/plugins/paragraphtool/ParagraphToolFactory.h 1179080 
> trunk/koffice/plugins/paragraphtool/ParagraphToolFactory.cpp 1179080 
> trunk/koffice/plugins/pathshapes/PathShapesPlugin.cpp 1179080 
> trunk/koffice/plugins/pathshapes/ellipse/EllipseShapeFactory.h 1179080 
> trunk/koffice/plugins/pathshapes/ellipse/EllipseShapeFactory.cpp 1179080 
> trunk/koffice/plugins/pathshapes/enhancedpath/EnhancedPathShapeFactory.h 1179080 
> trunk/koffice/plugins/pathshapes/enhancedpath/EnhancedPathShapeFactory.cpp 1179080 
> trunk/koffice/plugins/pathshapes/rectangle/RectangleShapeFactory.h 1179080 
> trunk/koffice/plugins/pathshapes/rectangle/RectangleShapeFactory.cpp 1179080 
> trunk/koffice/plugins/pathshapes/spiral/SpiralShapeFactory.h 1179080 
> trunk/koffice/plugins/pathshapes/spiral/SpiralShapeFactory.cpp 1179080 
> trunk/koffice/plugins/pathshapes/star/StarShapeFactory.h 1179080 
> trunk/koffice/plugins/pathshapes/star/StarShapeFactory.cpp 1179080 
> trunk/koffice/plugins/pictureshape/PictureShapeFactory.h 1179080 
> trunk/koffice/plugins/pictureshape/PictureShapeFactory.cpp 1179080 
> trunk/koffice/plugins/pictureshape/PictureToolFactory.h 1179080 
> trunk/koffice/plugins/pictureshape/PictureToolFactory.cpp 1179080 
> trunk/koffice/plugins/pictureshape/Plugin.cpp 1179080 
> trunk/koffice/plugins/pluginshape/Plugin.cpp 1179080 
> trunk/koffice/plugins/pluginshape/PluginShapeFactory.h 1179080 
> trunk/koffice/plugins/pluginshape/PluginShapeFactory.cpp 1179080 
> trunk/koffice/plugins/spacenavigator/Plugin.cpp 1179080 
> trunk/koffice/plugins/textediting/autocorrection/AutocorrectFactory.h 1179080 
> trunk/koffice/plugins/textediting/autocorrection/AutocorrectFactory.cpp 1179080 
> trunk/koffice/plugins/textediting/autocorrection/AutocorrectPlugin.cpp 1179080 
> trunk/koffice/plugins/textediting/changecase/ChangecaseFactory.h 1179080 
> trunk/koffice/plugins/textediting/changecase/ChangecaseFactory.cpp 1179080 
> trunk/koffice/plugins/textediting/changecase/ChangecasePlugin.cpp 1179080 
> trunk/koffice/plugins/textediting/spellcheck/SpellCheckFactory.h 1179080 
> trunk/koffice/plugins/textediting/spellcheck/SpellCheckFactory.cpp 1179080 
> trunk/koffice/plugins/textediting/spellcheck/SpellCheckPlugin.cpp 1179080 
> trunk/koffice/plugins/textediting/thesaurus/ThesaurusFactory.h 1179080 
> trunk/koffice/plugins/textediting/thesaurus/ThesaurusFactory.cpp 1179080 
> trunk/koffice/plugins/textediting/thesaurus/ThesaurusPlugin.cpp 1179080 
> trunk/koffice/plugins/textshape/ChangeTrackingToolFactory.h 1179080 
> trunk/koffice/plugins/textshape/ChangeTrackingToolFactory.cpp 1179080 
> trunk/koffice/plugins/textshape/TextEditingPluginContainer.cpp 1179080 
> trunk/koffice/plugins/textshape/TextPlugin.cpp 1179080 
> trunk/koffice/plugins/textshape/TextShapeFactory.h 1179080 
> trunk/koffice/plugins/textshape/TextShapeFactory.cpp 1179080 
> trunk/koffice/plugins/textshape/TextToolFactory.h 1179080 
> trunk/koffice/plugins/textshape/TextToolFactory.cpp 1179080 
> trunk/koffice/plugins/treeshape/Plugin.cpp 1179080 
> trunk/koffice/plugins/treeshape/TreeShapeFactory.h 1179080 
> trunk/koffice/plugins/treeshape/TreeShapeFactory.cpp 1179080 
> trunk/koffice/plugins/treeshape/TreeToolFactory.h 1179080 
> trunk/koffice/plugins/treeshape/TreeToolFactory.cpp 1179080 
> trunk/koffice/plugins/variables/DateVariableFactory.h 1179080 
> trunk/koffice/plugins/variables/DateVariableFactory.cpp 1179080 
> trunk/koffice/plugins/variables/InfoVariableFactory.h 1179080 
> trunk/koffice/plugins/variables/InfoVariableFactory.cpp 1179080 
> trunk/koffice/plugins/variables/PageVariableFactory.h 1179080 
> trunk/koffice/plugins/variables/PageVariableFactory.cpp 1179080 
> trunk/koffice/plugins/variables/VariablesPlugin.cpp 1179080 
> trunk/koffice/plugins/vectorshape/VectorShapeFactory.h 1179080 
> trunk/koffice/plugins/vectorshape/VectorShapeFactory.cpp 1179080 
> trunk/koffice/plugins/vectorshape/VectorShapePlugin.cpp 1179080 
> trunk/koffice/plugins/vectorshape/VectorToolFactory.h 1179080 
> trunk/koffice/plugins/vectorshape/VectorToolFactory.cpp 1179080 
> trunk/koffice/plugins/videoshape/Plugin.cpp 1179080 
> trunk/koffice/plugins/videoshape/VideoShapeFactory.h 1179080 
> trunk/koffice/plugins/videoshape/VideoShapeFactory.cpp 1179080 
> trunk/koffice/tools/f-office/FoCellToolFactory.h 1179080 
> trunk/koffice/tools/f-office/FoCellToolFactory.cpp 1179080 
> trunk/koffice/tools/f-office/MainWindow.cpp 1179080 
> 
> Diff: http://svn.reviewboard.kde.org/r/5448/diff
> 
> 
> Testing
> -------
> 
> ran unittests, and ran kword, kspread, karbon, kpresenter and krita with valgrind.
> 
> 
> Thanks,
> 
> Boudewijn
> 
> 


[Attachment #5 (text/html)]

<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 \
solid;">  <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://svn.reviewboard.kde.org/r/5448/">http://svn.reviewboard.kde.org/r/5448/</a>
  </td>
    </tr>
   </table>
   <br />





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">It seems you changed the \
design slightly and the ownership is changed in a way that I&#39;m wondering if it \
was intended; flake plugins have a class that is created on startup in the plugin \
loader. Example is plugins/textshape/TextPlugin.h This class is a QObject and \
ownership is taken by the plugin loader.  The plugin loader passes itself as parent \
in koffice/libs/koplugin/KoPluginLoader.cpp:120 The factories created inside the \
plugins are also passing this same parent and as a result each of the factories are \
also owned by the plugin loader.

The plugin loader thus is the one that deletes *all* plugins and *all* factories on \
unload.  At least, thats the design ;)

The change you made changes this such that factories are owned by individual \
registries. So in case of the text plugin you now have 2 registries in flake that own \
objects and another object (the TextPlugin) is owned by the plugin loader. As all of \
them are singletons and thus they are deleted on library unload, in reverse order of \
loading.  The plugin loader is designed to be unloaded last of all the KOffice \
plugins to avoid anyone using dangling pointers. You changed this so plugins are \
deleted in several different places from several different library unloads. This \
doesn&#39;t make things very predictable and I&#39;m not convinced its a step in the \
right direction.

Not currently all that significant, but still relevant; this change also closes the \
door to unloading of a single plugin. The ownership is moved all over KOffice and as \
such unloading one plugin becomes impossible =&gt; a user that wants to remove one \
plugin will require a restart of the app. Not fun :( In the design as it is in svn \
currently this feature would be trivial to implement by changing the plugin loader in \
any number of ways.</pre>  <br />







<p>- Thomas</p>


<br />
<p>On September 25th, 2010, 12:39 p.m., Boudewijn Rempt wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" \
style="background-image: \
url('http://svn.reviewboard.kde.orgrb/images/review_request_box_top_bg.png'); \
background-position: left top; background-repeat: repeat-x; border: 1px black \
solid;">  <tr>
  <td>

<div>Review request for KOffice.</div>
<div>By Boudewijn Rempt.</div>


<p style="color: grey;"><i>Updated 2010-09-25 12:39:05</i></p>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: \
1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">Some KoGenericRegistry subclasses were QObjects, some were not. Some \
KoGenericRegistry subclasses deleted their their contents, some dependent on the \
QObject parent-child relationship to delete their contents on destruction.

Since having two kinds of ownership in one class is confusing, this patch \
de-qobjectifies the registries and the objects they contain. Deletion is done \
explicitly in the destructor.

This makes the usage of KoGenericRegistry consistent, the ownership relation inside \
KoGeneric consistent and we save some memory by having a lot less QObjects and not \
keeping two lists contained objects.</pre>  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: \
1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">ran unittests, and ran kword, kspread, karbon, kpresenter and krita with \
valgrind.</pre>  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>trunk/koffice/interfaces/KoGenericRegistry.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/BlendEffectFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/BlendEffectFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/BlurEffectFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/BlurEffectFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/ColorMatrixEffectFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/ColorMatrixEffectFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/ComponentTransferEffectFactory.h \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/ComponentTransferEffectFactory.cpp \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/CompositeEffectFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/CompositeEffectFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/ConvolveMatrixEffectFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/ConvolveMatrixEffectFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/FloodEffectFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/FloodEffectFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/ImageEffectFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/ImageEffectFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/KarbonFilterEffectsPlugin.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/MergeEffectFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/MergeEffectFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/MorphologyEffectFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/MorphologyEffectFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/OffsetEffectFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/filtereffects/OffsetEffectFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/tools/CalligraphyTool/KarbonCalligraphicShapeFactory.h \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/tools/CalligraphyTool/KarbonCalligraphicShapeFactory.cpp \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/tools/CalligraphyTool/KarbonCalligraphyOptionWidget.cpp \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/tools/CalligraphyTool/KarbonCalligraphyToolFactory.h \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/tools/CalligraphyTool/KarbonCalligraphyToolFactory.cpp \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/tools/KarbonGradientToolFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/tools/KarbonGradientToolFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/tools/KarbonPatternToolFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/tools/KarbonPatternToolFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/tools/KarbonPencilToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/tools/KarbonPencilToolFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/tools/KarbonToolsPlugin.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/tools/filterEffectTool/KarbonFilterEffectsToolFactory.h \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/karbon/plugins/tools/filterEffectTool/KarbonFilterEffectsToolFactory.cpp \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/kexi/shapes/relationdesign/kexirelationdesignfactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/kexi/shapes/relationdesign/kexirelationdesignfactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/kexi/shapes/relationdesign/kexirelationdesignshapeplugin.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/kexi/shapes/relationdesign/kexirelationdesigntoolfactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/kexi/shapes/relationdesign/kexirelationdesigntoolfactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/kformula/flake/KoFormulaShapeFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/kformula/flake/KoFormulaShapeFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/kformula/flake/KoFormulaShapePlugin.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/kformula/flake/KoFormulaToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/kformula/flake/KoFormulaToolFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/kpresenter/part/KPrDocument.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/kpresenter/part/KPrPlaceholderShapeFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/kpresenter/part/KPrPlaceholderShapeFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/kpresenter/part/pageeffects/KPrPageEffectRegistry.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/kpresenter/part/shapeanimations/KPrShapeAnimationRegistry.cpp \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/kpresenter/part/tools/KPrPlaceholderToolFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/kpresenter/part/tools/KPrPlaceholderToolFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/kpresenter/part/tools/animationtool/KPrAnimationToolFactory.h \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/kpresenter/part/tools/animationtool/KPrAnimationToolFactory.cpp \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/kpresenter/part/tools/animationtool/Plugin.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/kpresenter/plugins/variable/PresentationVariableFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/kpresenter/plugins/variable/PresentationVariableFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/image/filter/kis_color_transformation_filter.cc <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/assistants/RulerAssistant/kis_ruler_assistant_tool.h \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/assistants/RulerAssistant/ruler_assistant_tool.cc \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/defaulttools/default_tools.cc <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_brush.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_colorpicker.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_ellipse.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_fill.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_gradient.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_line.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_measure.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_move.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_pan.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_path.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/defaulttools/kis_tool_rectangle.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_brush.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_contiguous.h \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_elliptical.h \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_elliptical.cc \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_magnetic.h \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_outline.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_path.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_polygonal.h \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_rectangular.h \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/selectiontools/kis_tool_select_similar.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/selectiontools/selection_tools.cc <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_crop/kis_tool_crop.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_crop/tool_crop.cc <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_curves/kis_tool_bezier_paint.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_curves/kis_tool_bezier_select.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_curves/kis_tool_example.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_curves/kis_tool_moutline.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_dyna/kis_tool_dyna.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_dyna/tool_dyna.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_grid/kis_tool_grid.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_grid/tool_grid.cc <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_perspectivegrid/kis_tool_perspectivegrid.h \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_perspectivegrid/tool_perspectivegrid.cc \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_perspectivetransform/kis_tool_perspectivetransform.h \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_perspectivetransform/tool_perspectivetransform.cc \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_polygon/kis_tool_polygon.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_polygon/tool_polygon.cc <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_polyline/kis_tool_polyline.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_polyline/tool_polyline.cc <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_star/kis_tool_star.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_star/tool_star.cc <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_transform2/kis_tool_transform.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/plugins/tools/tool_transform2/tool_transform.cc <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/krita/ui/flake/kis_shape_selection.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/krita/ui/flake/kis_shape_selection.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/krita/ui/kis_factory2.cc <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/kspread/FunctionModuleRegistry.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/kspread/FunctionModuleRegistry.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/kspread/part/CellToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/kspread/part/CellToolFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/kspread/part/ToolRegistry.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/kspread/plugins/calendar/CalendarToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/kspread/plugins/calendar/CalendarToolFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/kspread/shape/TableShapeFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/kspread/shape/TableShapeFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/kspread/shape/TableToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/kspread/shape/TableToolFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoConnectionShapeFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoConnectionShapeFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoDockRegistry.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoDockRegistry.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoFilterEffectFactoryBase.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoFilterEffectFactoryBase.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoFilterEffectRegistry.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoFilterEffectRegistry.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoInputDeviceHandlerRegistry.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoInputDeviceHandlerRegistry.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoLineBorderFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoLineBorderFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoPathShapeFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoPathShapeFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoShapeBorderFactoryBase.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoShapeBorderFactoryBase.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoShapeBorderRegistry.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoShapeBorderRegistry.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoShapeFactoryBase.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoShapeFactoryBase.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoShapeRegistry.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoShapeRegistry.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoToolFactoryBase.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoToolFactoryBase.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoToolRegistry.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/KoToolRegistry.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/tests/TestKoShapeFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/tools/KoCreatePathToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/tools/KoCreatePathToolFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/tools/KoCreateShapesToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/tools/KoCreateShapesToolFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/tools/KoPanToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/tools/KoPanToolFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/tools/KoPathToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/tools/KoPathToolFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/tools/KoZoomToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/flake/tools/KoZoomToolFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/kopageapp/tools/backgroundTool/KoPABackgroundToolFactory.h \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/libs/kopageapp/tools/backgroundTool/KoPABackgroundToolFactory.cpp \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/libs/kopageapp/tools/backgroundTool/Plugin.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/kotext/KoInlineObjectFactoryBase.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/kotext/KoInlineObjectFactoryBase.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/kotext/KoInlineObjectRegistry.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/kotext/KoInlineObjectRegistry.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/kotext/KoTextEditingFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/kotext/KoTextEditingFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/kotext/KoTextEditingRegistry.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/kotext/KoTextEditingRegistry.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/pigment/KoColorSpaceRegistry.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/libs/pigment/KoColorTransformationFactoryRegistry.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/artistictextshape/ArtisticTextShapeFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/artistictextshape/ArtisticTextShapeFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/artistictextshape/ArtisticTextShapePlugin.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/artistictextshape/ArtisticTextToolFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/artistictextshape/ArtisticTextToolFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/chartshape/ChartShapeFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/chartshape/ChartShapeFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/chartshape/ChartToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/chartshape/ChartToolFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/commentshape/CommentShapeFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/commentshape/CommentShapeFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/commentshape/CommentToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/commentshape/CommentToolFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/commentshape/Plugin.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/defaultTools/Plugin.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/defaultTools/connectionTool/ConnectionToolFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/defaultTools/connectionTool/ConnectionToolFactory.cpp \
<span style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/defaultTools/defaulttool/DefaultToolFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/defaultTools/defaulttool/DefaultToolFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/defaultTools/guidestool/GuidesToolFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/defaultTools/guidestool/GuidesToolFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/divineProportion/DivineProportionPlugin.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/divineProportion/DivineProportionShapeFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/divineProportion/DivineProportionShapeFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/divineProportion/DivineProportionToolFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/divineProportion/DivineProportionToolFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/dockers/shapecollection/CollectionShapeFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/dockers/shapecollection/CollectionShapeFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/dockers/shapecollection/ShapeCollectionDocker.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/musicshape/MusicShapeFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/musicshape/MusicShapeFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/musicshape/MusicToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/musicshape/MusicToolFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/musicshape/SimpleEntryToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/musicshape/SimpleEntryToolFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/paragraphtool/ParagraphPlugin.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/paragraphtool/ParagraphToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/paragraphtool/ParagraphToolFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/pathshapes/PathShapesPlugin.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/pathshapes/ellipse/EllipseShapeFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/pathshapes/ellipse/EllipseShapeFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/pathshapes/enhancedpath/EnhancedPathShapeFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/pathshapes/enhancedpath/EnhancedPathShapeFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/pathshapes/rectangle/RectangleShapeFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/pathshapes/rectangle/RectangleShapeFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/pathshapes/spiral/SpiralShapeFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/pathshapes/spiral/SpiralShapeFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/pathshapes/star/StarShapeFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/pathshapes/star/StarShapeFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/pictureshape/PictureShapeFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/pictureshape/PictureShapeFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/pictureshape/PictureToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/pictureshape/PictureToolFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/pictureshape/Plugin.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/pluginshape/Plugin.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/pluginshape/PluginShapeFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/pluginshape/PluginShapeFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/spacenavigator/Plugin.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textediting/autocorrection/AutocorrectFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textediting/autocorrection/AutocorrectFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textediting/autocorrection/AutocorrectPlugin.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textediting/changecase/ChangecaseFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textediting/changecase/ChangecaseFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textediting/changecase/ChangecasePlugin.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textediting/spellcheck/SpellCheckFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textediting/spellcheck/SpellCheckFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textediting/spellcheck/SpellCheckPlugin.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textediting/thesaurus/ThesaurusFactory.h <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textediting/thesaurus/ThesaurusFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textediting/thesaurus/ThesaurusPlugin.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textshape/ChangeTrackingToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textshape/ChangeTrackingToolFactory.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textshape/TextEditingPluginContainer.cpp <span \
style="color: grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textshape/TextPlugin.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textshape/TextShapeFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textshape/TextShapeFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textshape/TextToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/textshape/TextToolFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/treeshape/Plugin.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/treeshape/TreeShapeFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/treeshape/TreeShapeFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/treeshape/TreeToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/treeshape/TreeToolFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/variables/DateVariableFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/variables/DateVariableFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/variables/InfoVariableFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/variables/InfoVariableFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/variables/PageVariableFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/variables/PageVariableFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/variables/VariablesPlugin.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/vectorshape/VectorShapeFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/vectorshape/VectorShapeFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/vectorshape/VectorShapePlugin.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/vectorshape/VectorToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/vectorshape/VectorToolFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/videoshape/Plugin.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/videoshape/VideoShapeFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/plugins/videoshape/VideoShapeFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/tools/f-office/FoCellToolFactory.h <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/tools/f-office/FoCellToolFactory.cpp <span style="color: \
grey">(1179080)</span></li>

 <li>trunk/koffice/tools/f-office/MainWindow.cpp <span style="color: \
grey">(1179080)</span></li>

</ul>

<p><a href="http://svn.reviewboard.kde.org/r/5448/diff/" style="margin-left: \
3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>



_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic