/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */
#ifndef INCLUDED_CPPUHELPER_IMPLBASE_EX_POST_HXX
#define INCLUDED_CPPUHELPER_IMPLBASE_EX_POST_HXX

/// @cond INTERNAL

#define __DEF_CLASS_DATA_INIT_EX( N, class_cast ) \
{ \
N +1, sal_False, sal_False, \
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, \
{ \
__IFC_EX_TYPE_INIT##N( class_cast ), \
__IFC_EX_TYPE_INIT_NAME( class_cast, ::com::sun::star::lang::XTypeProvider ) \
} \
}

#define __DEF_IMPLHELPER_EX( N ) \
namespace cppu \
{ \
struct class_data##N \
{ \
    sal_Int16 m_nTypes; \
    sal_Bool m_storedTypeRefs; \
    sal_Bool m_storedId; \
    sal_Int8 m_id[ 16 ]; \
    type_entry m_typeEntries[ N + 1 ]; \
}; \
template< __CLASS_IFC##N > \
class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE ImplHelper##N \
    : public ::com::sun::star::lang::XTypeProvider \
    , __PUBLIC_IFC##N \
{ \
    static class_data##N s_cd; \
public: \
    virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE \
        { return ImplHelper_query( rType, (class_data *)&s_cd, this ); } \
    virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE \
        { return ImplHelper_getTypes( (class_data *)&s_cd ); } \
    virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE \
        { return ImplHelper_getImplementationId( (class_data *)&s_cd ); } \
}; \
template< __CLASS_IFC##N > \
class_data##N ImplHelper##N< __IFC##N >::s_cd = \
__DEF_CLASS_DATA_INIT_EX( N, (ImplHelper##N< __IFC##N > *) ); \
template< __CLASS_IFC##N > \
class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE WeakImplHelper##N \
    : public OWeakObject \
    , public ::com::sun::star::lang::XTypeProvider \
    , __PUBLIC_IFC##N \
{ \
    static class_data##N s_cd; \
public: \
    virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE \
        { return WeakImplHelper_query( rType, (class_data *)&s_cd, this, static_cast<OWeakObject *>(this) ); } \
    virtual void SAL_CALL acquire() throw () SAL_OVERRIDE \
        { OWeakObject::acquire(); } \
    virtual void SAL_CALL release() throw () SAL_OVERRIDE \
        { OWeakObject::release(); } \
    virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE \
        { return WeakImplHelper_getTypes( (class_data *)&s_cd ); } \
    virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE \
        { return ImplHelper_getImplementationId( (class_data *)&s_cd ); } \
}; \
template< __CLASS_IFC##N > \
class_data##N WeakImplHelper##N< __IFC##N >::s_cd = \
__DEF_CLASS_DATA_INIT_EX( N, (WeakImplHelper##N< __IFC##N > *) ); \
template< __CLASS_IFC##N > \
class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE WeakAggImplHelper##N \
    : public OWeakAggObject \
    , public ::com::sun::star::lang::XTypeProvider \
    , __PUBLIC_IFC##N \
{ \
    static class_data##N s_cd; \
public: \
    virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE \
        { return OWeakAggObject::queryInterface( rType ); } \
    virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE \
        { return WeakAggImplHelper_queryAgg( rType, (class_data *)&s_cd, this, static_cast<OWeakAggObject *>(this) ); } \
    virtual void SAL_CALL acquire() throw () SAL_OVERRIDE \
        { OWeakAggObject::acquire(); } \
    virtual void SAL_CALL release() throw () SAL_OVERRIDE \
        { OWeakAggObject::release(); } \
    virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE \
        { return WeakAggImplHelper_getTypes( (class_data *)&s_cd ); } \
    virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE \
        { return ImplHelper_getImplementationId( (class_data *)&s_cd ); } \
}; \
template< __CLASS_IFC##N > \
class_data##N WeakAggImplHelper##N< __IFC##N >::s_cd = \
__DEF_CLASS_DATA_INIT_EX( N, (WeakAggImplHelper##N< __IFC##N > *) ); \
template< class BaseClass, __CLASS_IFC##N > \
class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE ImplInheritanceHelper##N \
    : public BaseClass \
    , __PUBLIC_IFC##N \
{ \
    static class_data##N s_cd; \
public: \
    virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \
    { \
        ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, (class_data *)&s_cd, this ) ); \
        if (aRet.hasValue()) \
            return aRet; \
        return BaseClass::queryInterface( rType ); \
    } \
    virtual void SAL_CALL acquire() throw () \
        { BaseClass::acquire(); } \
    virtual void SAL_CALL release() throw () \
        { BaseClass::release(); } \
    virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \
        { return ImplInhHelper_getTypes( (class_data *)&s_cd, BaseClass::getTypes() ); } \
    virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \
        { return ImplHelper_getImplementationId( (class_data *)&s_cd ); } \
}; \
template< class BaseClass, __CLASS_IFC##N > \
class_data##N ImplInheritanceHelper##N< BaseClass, __IFC##N >::s_cd = \
__DEF_CLASS_DATA_INIT_EX( N, (ImplInheritanceHelper##N< BaseClass, __IFC##N > *) ); \
template< class BaseClass, __CLASS_IFC##N > \
class SAL_NO_VTABLE SAL_DLLPUBLIC_TEMPLATE AggImplInheritanceHelper##N \
    : public BaseClass \
    , __PUBLIC_IFC##N \
{ \
    static class_data##N s_cd; \
public: \
    virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \
        { return BaseClass::queryInterface( rType ); } \
    virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \
    { \
        ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, (class_data *)&s_cd, this ) ); \
        if (aRet.hasValue()) \
            return aRet; \
        return BaseClass::queryAggregation( rType ); \
    } \
    virtual void SAL_CALL acquire() throw () \
        { BaseClass::acquire(); } \
    virtual void SAL_CALL release() throw () \
        { BaseClass::release(); } \
    virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \
        { return ImplInhHelper_getTypes( (class_data *)&s_cd, BaseClass::getTypes() ); } \
    virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \
        { return ImplHelper_getImplementationId( (class_data *)&s_cd ); } \
}; \
template< class BaseClass, __CLASS_IFC##N > \
class_data##N AggImplInheritanceHelper##N< BaseClass, __IFC##N >::s_cd = \
__DEF_CLASS_DATA_INIT_EX( N, (AggImplInheritanceHelper##N< BaseClass, __IFC##N > *) ); \
}

/// @endcond

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
tro/ubuntu/oneiric-3.4'>distro/ubuntu/oneiric-3.4</option>
<option value='distro/ubuntu/oneiric-3.4-all'>distro/ubuntu/oneiric-3.4-all</option>
<option value='distro/vector/vector-24.2'>distro/vector/vector-24.2</option>
<option value='distro/vector/vector-24.2-release'>distro/vector/vector-24.2-release</option>
<option value='distro/vector/vector-5.4'>distro/vector/vector-5.4</option>
<option value='distro/vector/vector-7.0'>distro/vector/vector-7.0</option>
<option value='distro/vector/vector-7.0-10.0'>distro/vector/vector-7.0-10.0</option>
<option value='distro/vector/vector-7.5'>distro/vector/vector-7.5</option>
<option value='distro/vector/vector-7.5.9'>distro/vector/vector-7.5.9</option>
<option value='distro/vector/vector-7.5.9-release'>distro/vector/vector-7.5.9-release</option>
<option value='distro/vector/vtext-6.5'>distro/vector/vtext-6.5</option>
<option value='feature/5-1-pick'>feature/5-1-pick</option>
<option value='feature/BorderlineFix'>feature/BorderlineFix</option>
<option value='feature/OperationSmiley'>feature/OperationSmiley</option>
<option value='feature/RotGrfFlyFrame'>feature/RotGrfFlyFrame</option>
<option value='feature/RotateFlyFrame'>feature/RotateFlyFrame</option>
<option value='feature/RotateFlyFrame2'>feature/RotateFlyFrame2</option>
<option value='feature/RotateFlyFrame3'>feature/RotateFlyFrame3</option>
<option value='feature/SOSAW080'>feature/SOSAW080</option>
<option value='feature/SfxShell_refcount'>feature/SfxShell_refcount</option>
<option value='feature/SwFrameBorder'>feature/SwFrameBorder</option>
<option value='feature/accessibilitycheck'>feature/accessibilitycheck</option>
<option value='feature/accfixes2'>feature/accfixes2</option>
<option value='feature/allo_contract34185'>feature/allo_contract34185</option>
<option value='feature/allo_contract45533'>feature/allo_contract45533</option>
<option value='feature/allo_contract45533b'>feature/allo_contract45533b</option>
<option value='feature/autostyle'>feature/autostyle</option>
<option value='feature/barcode'>feature/barcode</option>
<option value='feature/base-preview'>feature/base-preview</option>
<option value='feature/benchmarks'>feature/benchmarks</option>
<option value='feature/borderline3'>feature/borderline3</option>
<option value='feature/bplustree'>feature/bplustree</option>
<option value='feature/cairo'>feature/cairo</option>
<option value='feature/calc-coordinates'>feature/calc-coordinates</option>
<option value='feature/calc-data-table'>feature/calc-data-table</option>
<option value='feature/calc-parallel'>feature/calc-parallel</option>
<option value='feature/calctiledrendering'>feature/calctiledrendering</option>
<option value='feature/calctiledrendering2'>feature/calctiledrendering2</option>
<option value='feature/calctiledrendering3'>feature/calctiledrendering3</option>
<option value='feature/calctiledrendering4'>feature/calctiledrendering4</option>
<option value='feature/calctiledrendering5'>feature/calctiledrendering5</option>
<option value='feature/calctiledrendering_alt'>feature/calctiledrendering_alt</option>
<option value='feature/calctiledrendering_attempt3'>feature/calctiledrendering_attempt3</option>
<option value='feature/calctiledrendering_attempt3_2'>feature/calctiledrendering_attempt3_2</option>
<option value='feature/calczoom'>feature/calczoom</option>
<option value='feature/chained-text-boxes'>feature/chained-text-boxes</option>
<option value='feature/change-tracking'>feature/change-tracking</option>
<option value='feature/chart-style-experiment-markus'>feature/chart-style-experiment-markus</option>
<option value='feature/chartdatatable'>feature/chartdatatable</option>
<option value='feature/cib_contract101'>feature/cib_contract101</option>
<option value='feature/cib_contract116'>feature/cib_contract116</option>
<option value='feature/cib_contract136'>feature/cib_contract136</option>
<option value='feature/cib_contract138'>feature/cib_contract138</option>
<option value='feature/cib_contract138b'>feature/cib_contract138b</option>
<option value='feature/cib_contract138c'>feature/cib_contract138c</option>
<option value='feature/cib_contract138d'>feature/cib_contract138d</option>
<option value='feature/cib_contract138e'>feature/cib_contract138e</option>
<option value='feature/cib_contract139'>feature/cib_contract139</option>
<option value='feature/cib_contract152'>feature/cib_contract152</option>
<option value='feature/cib_contract152b'>feature/cib_contract152b</option>
<option value='feature/cib_contract3197'>feature/cib_contract3197</option>
<option value='feature/cib_contract3753'>feature/cib_contract3753</option>
<option value='feature/cib_contract3756'>feature/cib_contract3756</option>
<option value='feature/cib_contract3756b'>feature/cib_contract3756b</option>
<option value='feature/cib_contract4236'>feature/cib_contract4236</option>
<option value='feature/cib_contract4236b'>feature/cib_contract4236b</option>
<option value='feature/cib_contract49'>feature/cib_contract49</option>
<option value='feature/cib_contract49b'>feature/cib_contract49b</option>
<option value='feature/cib_contract49c'>feature/cib_contract49c</option>
<option value='feature/cib_contract49d'>feature/cib_contract49d</option>
<option value='feature/cib_contract561'>feature/cib_contract561</option>
<option value='feature/cib_contract57'>feature/cib_contract57</option>
<option value='feature/cib_contract57b'>feature/cib_contract57b</option>
<option value='feature/cib_contract57c'>feature/cib_contract57c</option>
<option value='feature/cib_contract57d'>feature/cib_contract57d</option>
<option value='feature/cib_contract57d+hotfix'>feature/cib_contract57d+hotfix</option>
<option value='feature/cib_contract57d_p1'>feature/cib_contract57d_p1</option>
<option value='feature/cib_contract57e'>feature/cib_contract57e</option>
<option value='feature/cib_contract57l'>feature/cib_contract57l</option>
<option value='feature/cib_contract6721b'>feature/cib_contract6721b</option>
<option value='feature/cib_contract6721c'>feature/cib_contract6721c</option>
<option value='feature/cib_contract7409'>feature/cib_contract7409</option>
<option value='feature/cib_contract8161'>feature/cib_contract8161</option>
<option value='feature/cib_contract891'>feature/cib_contract891</option>
<option value='feature/cib_contract891b'>feature/cib_contract891b</option>
<option value='feature/cib_contract891c'>feature/cib_contract891c</option>
<option value='feature/cib_contract891d'>feature/cib_contract891d</option>
<option value='feature/cib_contract935'>feature/cib_contract935</option>
<option value='feature/cib_contract935b'>feature/cib_contract935b</option>
<option value='feature/clipboard'>feature/clipboard</option>
<option value='feature/cmis'>feature/cmis</option>
<option value='feature/components'>feature/components</option>
<option value='feature/controlstate'>feature/controlstate</option>
<option value='feature/coretext'>feature/coretext</option>
<option value='feature/coverrest-featuretests'>feature/coverrest-featuretests</option>
<option value='feature/cp-5.0-cairo-svp'>feature/cp-5.0-cairo-svp</option>
<option value='feature/cpu_intrinsics_support'>feature/cpu_intrinsics_support</option>
<option value='feature/custom-widgets'>feature/custom-widgets</option>
<option value='feature/dataprovider'>feature/dataprovider</option>
<option value='feature/debugevent'>feature/debugevent</option>
<option value='feature/dematurize01'>feature/dematurize01</option>
<option value='feature/dialog-screenshots'>feature/dialog-screenshots</option>
<option value='feature/docking_windows'>feature/docking_windows</option>
<option value='feature/docx-commentsex'>feature/docx-commentsex</option>
<option value='feature/drawinglayercore'>feature/drawinglayercore</option>
<option value='feature/drawinglayercore2'>feature/drawinglayercore2</option>
<option value='feature/droid_calcimpress3'>feature/droid_calcimpress3</option>
<option value='feature/droid_calimpress4'>feature/droid_calimpress4</option>
<option value='feature/drop-findcmap'>feature/drop-findcmap</option>
<option value='feature/editviewoverlay'>feature/editviewoverlay</option>
<option value='feature/eszka'>feature/eszka</option>
<option value='feature/extended-tooltips'>feature/extended-tooltips</option>
<option value='feature/external-data-ui'>feature/external-data-ui</option>
<option value='feature/fastparser'>feature/fastparser</option>
<option value='feature/firebird-sdbc'>feature/firebird-sdbc</option>
<option value='feature/firebird-sdbc2'>feature/firebird-sdbc2</option>
<option value='feature/firebird-sdbc3'>feature/firebird-sdbc3</option>
<option value='feature/fixstyles3'>feature/fixstyles3</option>
<option value='feature/fontsubtitutions'>feature/fontsubtitutions</option>
<option value='feature/foo'>feature/foo</option>
<option value='feature/gbuild_cli'>feature/gbuild_cli</option>
<option value='feature/gccwrapper'>feature/gccwrapper</option>
<option value='feature/glyphy'>feature/glyphy</option>
<option value='feature/go2'>feature/go2</option>
<option value='feature/gpg4libre'>feature/gpg4libre</option>
<option value='feature/gpg4libre-5-4'>feature/gpg4libre-5-4</option>
<option value='feature/gpg4libre-6-0'>feature/gpg4libre-6-0</option>
<option value='feature/gpg4libre2'>feature/gpg4libre2</option>
<option value='feature/graphicobject'>feature/graphicobject</option>
<option value='feature/gsoc-basic-ide-completion-and-other-bits'>feature/gsoc-basic-ide-completion-and-other-bits</option>
<option value='feature/gsoc-calc-enhanced-db-range'>feature/gsoc-calc-enhanced-db-range</option>
<option value='feature/gsoc-svm-writer'>feature/gsoc-svm-writer</option>
<option value='feature/gsoc-uitest-2019'>feature/gsoc-uitest-2019</option>
<option value='feature/gsoc14-colors'>feature/gsoc14-colors</option>
<option value='feature/gsoc14-draw-chained-text-boxes'>feature/gsoc14-draw-chained-text-boxes</option>
<option value='feature/gsoc14-draw-text-background-color'>feature/gsoc14-draw-text-background-color</option>
<option value='feature/gsoc14-libcmis'>feature/gsoc14-libcmis</option>
<option value='feature/gsoc14-libcmis2'>feature/gsoc14-libcmis2</option>
<option value='feature/gsoc14-personas'>feature/gsoc14-personas</option>
<option value='feature/gsoc14-personas2'>feature/gsoc14-personas2</option>
<option value='feature/gsoc15-online-update'>feature/gsoc15-online-update</option>
<option value='feature/gsoc15-open-remote-files-dialog'>feature/gsoc15-open-remote-files-dialog</option>
<option value='feature/gsoc17-revamp-customize-dialog'>feature/gsoc17-revamp-customize-dialog</option>
<option value='feature/gsoc19-chart-style'>feature/gsoc19-chart-style</option>
<option value='feature/gsoc2011_wizards'>feature/gsoc2011_wizards</option>
<option value='feature/gsoc24-lua'>feature/gsoc24-lua</option>
<option value='feature/gtk3_kde5'>feature/gtk3_kde5</option>
<option value='feature/gtk3nativedialogs'>feature/gtk3nativedialogs</option>
<option value='feature/gtktiledviewer'>feature/gtktiledviewer</option>
<option value='feature/ia2'>feature/ia2</option>
<option value='feature/ia2.2'>feature/ia2.2</option>
<option value='feature/ia2.3'>feature/ia2.3</option>
<option value='feature/ia2.4'>feature/ia2.4</option>
<option value='feature/ia2.5'>feature/ia2.5</option>
<option value='feature/improvexlsximport'>feature/improvexlsximport</option>
<option value='feature/instdirlinktargets'>feature/instdirlinktargets</option>
<option value='feature/item_refactor2'>feature/item_refactor2</option>
<option value='feature/jsdialogs'>feature/jsdialogs</option>
<option value='feature/jssidebar'>feature/jssidebar</option>
<option value='feature/lfrb-vcl-opengl'>feature/lfrb-vcl-opengl</option>
<option value='feature/libffi'>feature/libffi</option>
<option value='feature/lok-calc-rtl'>feature/lok-calc-rtl</option>
<option value='feature/lok-clipboard'>feature/lok-clipboard</option>
<option value='feature/lok_cellcursor'>feature/lok_cellcursor</option>
<option value='feature/lok_dialog'>feature/lok_dialog</option>
<option value='feature/lok_dialog-backport'>feature/lok_dialog-backport</option>
<option value='feature/lok_dialog2'>feature/lok_dialog2</option>
<option value='feature/lok_sofficemain'>feature/lok_sofficemain</option>
<option value='feature/lok_sofficemain2'>feature/lok_sofficemain2</option>
<option value='feature/mac-opengl-fixes'>feature/mac-opengl-fixes</option>
<option value='feature/macOS-weld'>feature/macOS-weld</option>
<option value='feature/mailmerge-toolbar'>feature/mailmerge-toolbar</option>
<option value='feature/mar-updater'>feature/mar-updater</option>
<option value='feature/mariadb'>feature/mariadb</option>
<option value='feature/misc-vba-rework'>feature/misc-vba-rework</option>
<option value='feature/mork'>feature/mork</option>
<option value='feature/nativealpha'>feature/nativealpha</option>
<option value='feature/notebookbar'>feature/notebookbar</option>
<option value='feature/notes-refactoring'>feature/notes-refactoring</option>
<option value='feature/ooxml-analyze'>feature/ooxml-analyze</option>
<option value='feature/opengl-canvas-rework'>feature/opengl-canvas-rework</option>
<option value='feature/opengl-transitions-rework'>feature/opengl-transitions-rework</option>
<option value='feature/opengl-vcl-text'>feature/opengl-vcl-text</option>
<option value='feature/orcus-continuous-integration'>feature/orcus-continuous-integration</option>
<option value='feature/orcus-odf'>feature/orcus-odf</option>
<option value='feature/orcus-odf-rebased'>feature/orcus-odf-rebased</option>
<option value='feature/orcus-odf-rebased2'>feature/orcus-odf-rebased2</option>
<option value='feature/orcus-rebased'>feature/orcus-rebased</option>
<option value='feature/owncloud-provider-for-android'>feature/owncloud-provider-for-android</option>
<option value='feature/pdfium-master'>feature/pdfium-master</option>
<option value='feature/perfwork4'>feature/perfwork4</option>
<option value='feature/perfwork5'>feature/perfwork5</option>
<option value='feature/pivotcharts'>feature/pivotcharts</option>
<option value='feature/print_revamp'>feature/print_revamp</option>
<option value='feature/priorities'>feature/priorities</option>
<option value='feature/profilesafemode'>feature/profilesafemode</option>
<option value='feature/propose-master-cib'>feature/propose-master-cib</option>
<option value='feature/pytable'>feature/pytable</option>
<option value='feature/pyweb-wizard'>feature/pyweb-wizard</option>
<option value='feature/qt5-win+mac'>feature/qt5-win+mac</option>
<option value='feature/refactor-god-objects'>feature/refactor-god-objects</option>
<option value='feature/rendercontext'>feature/rendercontext</option>
<option value='feature/resolve-comments'>feature/resolve-comments</option>
<option value='feature/scaling-geometry-provider'>feature/scaling-geometry-provider</option>
<option value='feature/screenshotannotation'>feature/screenshotannotation</option>
<option value='feature/sgexperiment'>feature/sgexperiment</option>
<option value='feature/skia'>feature/skia</option>
<option value='feature/slidehack'>feature/slidehack</option>
<option value='feature/slidehack2'>feature/slidehack2</option>
<option value='feature/slideshow_onlySprites'>feature/slideshow_onlySprites</option>
<option value='feature/slideshowprimitives'>feature/slideshowprimitives</option>
<option value='feature/sparklines'>feature/sparklines</option>
<option value='feature/spellig_popup_SID'>feature/spellig_popup_SID</option>
<option value='feature/stub_writer'>feature/stub_writer</option>
<option value='feature/svg-export'>feature/svg-export</option>
<option value='feature/svg-optimisations'>feature/svg-optimisations</option>
<option value='feature/svg-optimisations-5-0'>feature/svg-optimisations-5-0</option>
<option value='feature/sw-delete-undo-rework'>feature/sw-delete-undo-rework</option>
<option value='feature/sw_redlinehide_4a_for_libreoffice-6-2'>feature/sw_redlinehide_4a_for_libreoffice-6-2</option>
<option value='feature/sw_redlinehide_4b_for_libreoffice-6-2'>feature/sw_redlinehide_4b_for_libreoffice-6-2</option>
<option value='feature/table-style'>feature/table-style</option>
<option value='feature/table-style-rebased'>feature/table-style-rebased</option>
<option value='feature/table_panel'>feature/table_panel</option>
<option value='feature/table_rotated_text'>feature/table_rotated_text</option>
<option value='feature/taggedPDF'>feature/taggedPDF</option>
<option value='feature/template_manager_improvements'>feature/template_manager_improvements</option>
<option value='feature/template_manager_improvements2'>feature/template_manager_improvements2</option>
<option value='feature/themesupport'>feature/themesupport</option>
<option value='feature/themesupport2'>feature/themesupport2</option>
<option value='feature/tiled-editing'>feature/tiled-editing</option>
<option value='feature/tscp3'>feature/tscp3</option>
<option value='feature/unitver'>feature/unitver</option>
<option value='feature/unocrsrptr'>feature/unocrsrptr</option>
<option value='feature/unostyles'>feature/unostyles</option>
<option value='feature/unostyles2'>feature/unostyles2</option>
<option value='feature/unostyles3'>feature/unostyles3</option>
<option value='feature/use-ogl-context-in-canvas'>feature/use-ogl-context-in-canvas</option>
<option value='feature/vcl-opengl'>feature/vcl-opengl</option>
<option value='feature/vcl-opengl-integration'>feature/vcl-opengl-integration</option>
<option value='feature/vcl-opengl2'>feature/vcl-opengl2</option>
<option value='feature/vclptr'>feature/vclptr</option>
<option value='feature/vlc'>feature/vlc</option>
<option value='feature/vlc-rb'>feature/vlc-rb</option>
<option value='feature/vs2012'>feature/vs2012</option>
<option value='feature/wasm'>feature/wasm</option>
<option value='feature/window-iter'>feature/window-iter</option>
<option value='feature/windows-cross-build'>feature/windows-cross-build</option>
<option value='feature/windowsupdater'>feature/windowsupdater</option>
<option value='feature/xtiledrenderable'>feature/xtiledrenderable</option>
<option value='feature/yrs-demo'>feature/yrs-demo</option>
<option value='libreoffice-24-2'>libreoffice-24-2</option>
<option value='libreoffice-24-2-0'>libreoffice-24-2-0</option>
<option value='libreoffice-24-2-1'>libreoffice-24-2-1</option>
<option value='libreoffice-24-2-2'>libreoffice-24-2-2</option>
<option value='libreoffice-24-2-3'>libreoffice-24-2-3</option>
<option value='libreoffice-24-2-4'>libreoffice-24-2-4</option>
<option value='libreoffice-24-2-5'>libreoffice-24-2-5</option>
<option value='libreoffice-24-2-6'>libreoffice-24-2-6</option>
<option value='libreoffice-24-2-7'>libreoffice-24-2-7</option>
<option value='libreoffice-24-8'>libreoffice-24-8</option>
<option value='libreoffice-24-8-0'>libreoffice-24-8-0</option>
<option value='libreoffice-24-8-1'>libreoffice-24-8-1</option>
<option value='libreoffice-24-8-2'>libreoffice-24-8-2</option>
<option value='libreoffice-24-8-3'>libreoffice-24-8-3</option>
<option value='libreoffice-24-8-4'>libreoffice-24-8-4</option>
<option value='libreoffice-24-8-5'>libreoffice-24-8-5</option>
<option value='libreoffice-25-2'>libreoffice-25-2</option>
<option value='libreoffice-25-2-0'>libreoffice-25-2-0</option>
<option value='libreoffice-25-2-1'>libreoffice-25-2-1</option>
<option value='libreoffice-3-5'>libreoffice-3-5</option>
<option value='libreoffice-3-5-0'>libreoffice-3-5-0</option>
<option value='libreoffice-3-5-1'>libreoffice-3-5-1</option>
<option value='libreoffice-3-5-2'>libreoffice-3-5-2</option>
<option value='libreoffice-3-5-3'>libreoffice-3-5-3</option>
<option value='libreoffice-3-5-4'>libreoffice-3-5-4</option>
<option value='libreoffice-3-5-5'>libreoffice-3-5-5</option>
<option value='libreoffice-3-5-6'>libreoffice-3-5-6</option>
<option value='libreoffice-3-5-7'>libreoffice-3-5-7</option>
<option value='libreoffice-3-6'>libreoffice-3-6</option>
<option value='libreoffice-3-6-0'>libreoffice-3-6-0</option>
<option value='libreoffice-3-6-1'>libreoffice-3-6-1</option>
<option value='libreoffice-3-6-2'>libreoffice-3-6-2</option>
<option value='libreoffice-3-6-3'>libreoffice-3-6-3</option>
<option value='libreoffice-3-6-4'>libreoffice-3-6-4</option>
<option value='libreoffice-3-6-5'>libreoffice-3-6-5</option>
<option value='libreoffice-3-6-6'>libreoffice-3-6-6</option>
<option value='libreoffice-3-6-7'>libreoffice-3-6-7</option>
<option value='libreoffice-4-0'>libreoffice-4-0</option>
<option value='libreoffice-4-0-0'>libreoffice-4-0-0</option>
<option value='libreoffice-4-0-1'>libreoffice-4-0-1</option>
<option value='libreoffice-4-0-2'>libreoffice-4-0-2</option>
<option value='libreoffice-4-0-3'>libreoffice-4-0-3</option>
<option value='libreoffice-4-0-4'>libreoffice-4-0-4</option>
<option value='libreoffice-4-0-5'>libreoffice-4-0-5</option>
<option value='libreoffice-4-0-6'>libreoffice-4-0-6</option>
<option value='libreoffice-4-1'>libreoffice-4-1</option>
<option value='libreoffice-4-1-0'>libreoffice-4-1-0</option>
<option value='libreoffice-4-1-1'>libreoffice-4-1-1</option>
<option value='libreoffice-4-1-2'>libreoffice-4-1-2</option>
<option value='libreoffice-4-1-3'>libreoffice-4-1-3</option>
<option value='libreoffice-4-1-4'>libreoffice-4-1-4</option>
<option value='libreoffice-4-1-5'>libreoffice-4-1-5</option>
<option value='libreoffice-4-1-6'>libreoffice-4-1-6</option>
<option value='libreoffice-4-2'>libreoffice-4-2</option>
<option value='libreoffice-4-2-0'>libreoffice-4-2-0</option>
<option value='libreoffice-4-2-1'>libreoffice-4-2-1</option>
<option value='libreoffice-4-2-2'>libreoffice-4-2-2</option>
<option value='libreoffice-4-2-3'>libreoffice-4-2-3</option>
<option value='libreoffice-4-2-4'>libreoffice-4-2-4</option>
<option value='libreoffice-4-2-5'>libreoffice-4-2-5</option>
<option value='libreoffice-4-2-6'>libreoffice-4-2-6</option>
<option value='libreoffice-4-2-7'>libreoffice-4-2-7</option>
<option value='libreoffice-4-2-8'>libreoffice-4-2-8</option>
<option value='libreoffice-4-3'>libreoffice-4-3</option>
<option value='libreoffice-4-3-0'>libreoffice-4-3-0</option>
<option value='libreoffice-4-3-1'>libreoffice-4-3-1</option>
<option value='libreoffice-4-3-2'>libreoffice-4-3-2</option>
<option value='libreoffice-4-3-3'>libreoffice-4-3-3</option>
<option value='libreoffice-4-3-4'>libreoffice-4-3-4</option>
<option value='libreoffice-4-3-5'>libreoffice-4-3-5</option>
<option value='libreoffice-4-3-6'>libreoffice-4-3-6</option>
<option value='libreoffice-4-3-7'>libreoffice-4-3-7</option>
<option value='libreoffice-4-4'>libreoffice-4-4</option>
<option value='libreoffice-4-4-0'>libreoffice-4-4-0</option>
<option value='libreoffice-4-4-1'>libreoffice-4-4-1</option>
<option value='libreoffice-4-4-2'>libreoffice-4-4-2</option>
<option value='libreoffice-4-4-3'>libreoffice-4-4-3</option>
<option value='libreoffice-4-4-4'>libreoffice-4-4-4</option>
<option value='libreoffice-4-4-5'>libreoffice-4-4-5</option>
<option value='libreoffice-4-4-6'>libreoffice-4-4-6</option>
<option value='libreoffice-4-4-7'>libreoffice-4-4-7</option>
<option value='libreoffice-5-0'>libreoffice-5-0</option>
<option value='libreoffice-5-0-0'>libreoffice-5-0-0</option>
<option value='libreoffice-5-0-1'>libreoffice-5-0-1</option>
<option value='libreoffice-5-0-2'>libreoffice-5-0-2</option>
<option value='libreoffice-5-0-3'>libreoffice-5-0-3</option>
<option value='libreoffice-5-0-4'>libreoffice-5-0-4</option>
<option value='libreoffice-5-0-5'>libreoffice-5-0-5</option>
<option value='libreoffice-5-0-6'>libreoffice-5-0-6</option>
<option value='libreoffice-5-1'>libreoffice-5-1</option>
<option value='libreoffice-5-1-0'>libreoffice-5-1-0</option>
<option value='libreoffice-5-1-1'>libreoffice-5-1-1</option>
<option value='libreoffice-5-1-2'>libreoffice-5-1-2</option>
<option value='libreoffice-5-1-3'>libreoffice-5-1-3</option>
<option value='libreoffice-5-1-4'>libreoffice-5-1-4</option>
<option value='libreoffice-5-1-5'>libreoffice-5-1-5</option>
<option value='libreoffice-5-1-6'>libreoffice-5-1-6</option>
<option value='libreoffice-5-2'>libreoffice-5-2</option>
<option value='libreoffice-5-2-0'>libreoffice-5-2-0</option>
<option value='libreoffice-5-2-1'>libreoffice-5-2-1</option>
<option value='libreoffice-5-2-2'>libreoffice-5-2-2</option>
<option value='libreoffice-5-2-3'>libreoffice-5-2-3</option>
<option value='libreoffice-5-2-4'>libreoffice-5-2-4</option>
<option value='libreoffice-5-2-5'>libreoffice-5-2-5</option>
<option value='libreoffice-5-2-6'>libreoffice-5-2-6</option>
<option value='libreoffice-5-2-7'>libreoffice-5-2-7</option>
<option value='libreoffice-5-3'>libreoffice-5-3</option>
<option value='libreoffice-5-3-0'>libreoffice-5-3-0</option>
<option value='libreoffice-5-3-1'>libreoffice-5-3-1</option>
<option value='libreoffice-5-3-2'>libreoffice-5-3-2</option>
<option value='libreoffice-5-3-3'>libreoffice-5-3-3</option>
<option value='libreoffice-5-3-4'>libreoffice-5-3-4</option>
<option value='libreoffice-5-3-5'>libreoffice-5-3-5</option>
<option value='libreoffice-5-3-6'>libreoffice-5-3-6</option>
<option value='libreoffice-5-3-7'>libreoffice-5-3-7</option>
<option value='libreoffice-5-4'>libreoffice-5-4</option>
<option value='libreoffice-5-4-0'>libreoffice-5-4-0</option>
<option value='libreoffice-5-4-1'>libreoffice-5-4-1</option>
<option value='libreoffice-5-4-2'>libreoffice-5-4-2</option>
<option value='libreoffice-5-4-3'>libreoffice-5-4-3</option>
<option value='libreoffice-5-4-4'>libreoffice-5-4-4</option>
<option value='libreoffice-5-4-5'>libreoffice-5-4-5</option>
<option value='libreoffice-5-4-6'>libreoffice-5-4-6</option>
<option value='libreoffice-5-4-7'>libreoffice-5-4-7</option>
<option value='libreoffice-6-0'>libreoffice-6-0</option>
<option value='libreoffice-6-0-0'>libreoffice-6-0-0</option>
<option value='libreoffice-6-0-1'>libreoffice-6-0-1</option>
<option value='libreoffice-6-0-2'>libreoffice-6-0-2</option>
<option value='libreoffice-6-0-3'>libreoffice-6-0-3</option>
<option value='libreoffice-6-0-4'>libreoffice-6-0-4</option>
<option value='libreoffice-6-0-5'>libreoffice-6-0-5</option>
<option value='libreoffice-6-0-6'>libreoffice-6-0-6</option>
<option value='libreoffice-6-0-7'>libreoffice-6-0-7</option>
<option value='libreoffice-6-1'>libreoffice-6-1</option>
<option value='libreoffice-6-1-0'>libreoffice-6-1-0</option>
<option value='libreoffice-6-1-1'>libreoffice-6-1-1</option>
<option value='libreoffice-6-1-2'>libreoffice-6-1-2</option>
<option value='libreoffice-6-1-3'>libreoffice-6-1-3</option>
<option value='libreoffice-6-1-4'>libreoffice-6-1-4</option>
<option value='libreoffice-6-1-5'>libreoffice-6-1-5</option>
<option value='libreoffice-6-1-6'>libreoffice-6-1-6</option>
<option value='libreoffice-6-2'>libreoffice-6-2</option>
<option value='libreoffice-6-2-0'>libreoffice-6-2-0</option>
<option value='libreoffice-6-2-1'>libreoffice-6-2-1</option>
<option value='libreoffice-6-2-2'>libreoffice-6-2-2</option>
<option value='libreoffice-6-2-3'>libreoffice-6-2-3</option>
<option value='libreoffice-6-2-4'>libreoffice-6-2-4</option>
<option value='libreoffice-6-2-5'>libreoffice-6-2-5</option>
<option value='libreoffice-6-2-6'>libreoffice-6-2-6</option>
<option value='libreoffice-6-2-7'>libreoffice-6-2-7</option>
<option value='libreoffice-6-2-8'>libreoffice-6-2-8</option>
<option value='libreoffice-6-3'>libreoffice-6-3</option>
<option value='libreoffice-6-3-0'>libreoffice-6-3-0</option>
<option value='libreoffice-6-3-1'>libreoffice-6-3-1</option>
<option value='libreoffice-6-3-2'>libreoffice-6-3-2</option>
<option value='libreoffice-6-3-3'>libreoffice-6-3-3</option>
<option value='libreoffice-6-3-4'>libreoffice-6-3-4</option>
<option value='libreoffice-6-3-5'>libreoffice-6-3-5</option>
<option value='libreoffice-6-3-6'>libreoffice-6-3-6</option>
<option value='libreoffice-6-4'>libreoffice-6-4</option>
<option value='libreoffice-6-4-0'>libreoffice-6-4-0</option>
<option value='libreoffice-6-4-1'>libreoffice-6-4-1</option>
<option value='libreoffice-6-4-2'>libreoffice-6-4-2</option>
<option value='libreoffice-6-4-3'>libreoffice-6-4-3</option>
<option value='libreoffice-6-4-4'>libreoffice-6-4-4</option>
<option value='libreoffice-6-4-5'>libreoffice-6-4-5</option>
<option value='libreoffice-6-4-6'>libreoffice-6-4-6</option>
<option value='libreoffice-6-4-7'>libreoffice-6-4-7</option>
<option value='libreoffice-7-0'>libreoffice-7-0</option>
<option value='libreoffice-7-0-0'>libreoffice-7-0-0</option>
<option value='libreoffice-7-0-1'>libreoffice-7-0-1</option>
<option value='libreoffice-7-0-2'>libreoffice-7-0-2</option>
<option value='libreoffice-7-0-3'>libreoffice-7-0-3</option>
<option value='libreoffice-7-0-4'>libreoffice-7-0-4</option>
<option value='libreoffice-7-0-5'>libreoffice-7-0-5</option>
<option value='libreoffice-7-0-6'>libreoffice-7-0-6</option>
<option value='libreoffice-7-1'>libreoffice-7-1</option>
<option value='libreoffice-7-1-0'>libreoffice-7-1-0</option>
<option value='libreoffice-7-1-1'>libreoffice-7-1-1</option>
<option value='libreoffice-7-1-2'>libreoffice-7-1-2</option>
<option value='libreoffice-7-1-3'>libreoffice-7-1-3</option>
<option value='libreoffice-7-1-4'>libreoffice-7-1-4</option>
<option value='libreoffice-7-1-5'>libreoffice-7-1-5</option>
<option value='libreoffice-7-1-6'>libreoffice-7-1-6</option>
<option value='libreoffice-7-1-7'>libreoffice-7-1-7</option>
<option value='libreoffice-7-2'>libreoffice-7-2</option>
<option value='libreoffice-7-2-0'>libreoffice-7-2-0</option>
<option value='libreoffice-7-2-1'>libreoffice-7-2-1</option>
<option value='libreoffice-7-2-2'>libreoffice-7-2-2</option>
<option value='libreoffice-7-2-3'>libreoffice-7-2-3</option>
<option value='libreoffice-7-2-5'>libreoffice-7-2-5</option>
<option value='libreoffice-7-2-6'>libreoffice-7-2-6</option>
<option value='libreoffice-7-2-7'>libreoffice-7-2-7</option>
<option value='libreoffice-7-3'>libreoffice-7-3</option>
<option value='libreoffice-7-3-0'>libreoffice-7-3-0</option>
<option value='libreoffice-7-3-1'>libreoffice-7-3-1</option>
<option value='libreoffice-7-3-2'>libreoffice-7-3-2</option>
<option value='libreoffice-7-3-3'>libreoffice-7-3-3</option>
<option value='libreoffice-7-3-4'>libreoffice-7-3-4</option>
<option value='libreoffice-7-3-5'>libreoffice-7-3-5</option>
<option value='libreoffice-7-3-6'>libreoffice-7-3-6</option>
<option value='libreoffice-7-3-7'>libreoffice-7-3-7</option>
<option value='libreoffice-7-4'>libreoffice-7-4</option>
<option value='libreoffice-7-4-0'>libreoffice-7-4-0</option>
<option value='libreoffice-7-4-1'>libreoffice-7-4-1</option>
<option value='libreoffice-7-4-2'>libreoffice-7-4-2</option>
<option value='libreoffice-7-4-3'>libreoffice-7-4-3</option>
<option value='libreoffice-7-4-4'>libreoffice-7-4-4</option>
<option value='libreoffice-7-4-6'>libreoffice-7-4-6</option>
<option value='libreoffice-7-4-7'>libreoffice-7-4-7</option>
<option value='libreoffice-7-5'>libreoffice-7-5</option>
<option value='libreoffice-7-5-0'>libreoffice-7-5-0</option>
<option value='libreoffice-7-5-1'>libreoffice-7-5-1</option>
<option value='libreoffice-7-5-2'>libreoffice-7-5-2</option>
<option value='libreoffice-7-5-3'>libreoffice-7-5-3</option>
<option value='libreoffice-7-5-4'>libreoffice-7-5-4</option>
<option value='libreoffice-7-5-5'>libreoffice-7-5-5</option>
<option value='libreoffice-7-5-6'>libreoffice-7-5-6</option>
<option value='libreoffice-7-5-7'>libreoffice-7-5-7</option>
<option value='libreoffice-7-5-8'>libreoffice-7-5-8</option>
<option value='libreoffice-7-5-9'>libreoffice-7-5-9</option>
<option value='libreoffice-7-6'>libreoffice-7-6</option>
<option value='libreoffice-7-6-0'>libreoffice-7-6-0</option>
<option value='libreoffice-7-6-1'>libreoffice-7-6-1</option>
<option value='libreoffice-7-6-2'>libreoffice-7-6-2</option>
<option value='libreoffice-7-6-3'>libreoffice-7-6-3</option>
<option value='libreoffice-7-6-4'>libreoffice-7-6-4</option>
<option value='libreoffice-7-6-5'>libreoffice-7-6-5</option>
<option value='libreoffice-7-6-6'>libreoffice-7-6-6</option>
<option value='libreoffice-7-6-7'>libreoffice-7-6-7</option>
<option value='master' selected='selected'>master</option>
<option value='ports/macosx10.5/master'>ports/macosx10.5/master</option>
<option value='private/Ashod/cd-5.3-3.2_import_unloaded'>private/Ashod/cd-5.3-3.2_import_unloaded</option>
<option value='private/Ashod/cd-5.3-3.2_import_unloaded_share_GfxLink'>private/Ashod/cd-5.3-3.2_import_unloaded_share_GfxLink</option>
<option value='private/Ashod/cd-5.3.3.2'>private/Ashod/cd-5.3.3.2</option>
<option value='private/Ashod/cp-5.0-preinit'>private/Ashod/cp-5.0-preinit</option>
<option value='private/Ashod/fast-calc-rendering'>private/Ashod/fast-calc-rendering</option>
<option value='private/Ashod/pdfium'>private/Ashod/pdfium</option>
<option value='private/Ashod/pdfium_on_master'>private/Ashod/pdfium_on_master</option>
<option value='private/Ashod/pdfium_on_master_fixed'>private/Ashod/pdfium_on_master_fixed</option>
<option value='private/EL-SHREIF/ui_logger'>private/EL-SHREIF/ui_logger</option>
<option value='private/Minion3665/swf-export'>private/Minion3665/swf-export</option>
<option value='private/Rosemary/change-tracking'>private/Rosemary/change-tracking</option>
<option value='private/Sweetshark/killswclient'>private/Sweetshark/killswclient</option>
<option value='private/Sweetshark/lessdepend'>private/Sweetshark/lessdepend</option>
<option value='private/Sweetshark/multilistenerfix'>private/Sweetshark/multilistenerfix</option>
<option value='private/ajrhunt/c4'>private/ajrhunt/c4</option>
<option value='private/ajrhunt/cunit'>private/ajrhunt/cunit</option>
<option value='private/ajrhunt/cunitdemo'>private/ajrhunt/cunitdemo</option>
<option value='private/ajrhunt/firebird-improvement'>private/ajrhunt/firebird-improvement</option>
<option value='private/bansan/chardraw'>private/bansan/chardraw</option>
<option value='private/bubli/textboxchaining'>private/bubli/textboxchaining</option>
<option value='private/hcvcastro/preinit'>private/hcvcastro/preinit</option>
<option value='private/hcvcastro/undo-row-comment'>private/hcvcastro/undo-row-comment</option>
<option value='private/jmux/armin-strip-before-squash'>private/jmux/armin-strip-before-squash</option>
<option value='private/jmux/broken-static-win'>private/jmux/broken-static-win</option>
<option value='private/jmux/current-reorga'>private/jmux/current-reorga</option>
<option value='private/jmux/meson'>private/jmux/meson</option>
<option value='private/jmux/meson-gsoc-2021'>private/jmux/meson-gsoc-2021</option>
<option value='private/jmux/oss-fuzz'>private/jmux/oss-fuzz</option>
<option value='private/jmux/oss-fuzz-wip'>private/jmux/oss-fuzz-wip</option>
<option value='private/jmux/scheduler-fixes'>private/jmux/scheduler-fixes</option>
<option value='private/jmux/shape.odt'>private/jmux/shape.odt</option>
<option value='private/jmux/wasm-for-master'>private/jmux/wasm-for-master</option>
<option value='private/jmux/wasm-tmp'>private/jmux/wasm-tmp</option>
<option value='private/jmux/wasm_for_master_catchall'>private/jmux/wasm_for_master_catchall</option>
<option value='private/jmux/win-arm64'>private/jmux/win-arm64</option>
<option value='private/jmux/win-test-nohang'>private/jmux/win-test-nohang</option>
<option value='private/juergen/Tests'>private/juergen/Tests</option>
<option value='private/juergen/check-cjk'>private/juergen/check-cjk</option>
<option value='private/kendy/condformat-api'>private/kendy/condformat-api</option>
<option value='private/kendy/condformat-fdo82014'>private/kendy/condformat-fdo82014</option>
<option value='private/kendy/mailmerge-04'>private/kendy/mailmerge-04</option>
<option value='private/kendy/mailmerge-05'>private/kendy/mailmerge-05</option>
<option value='private/kendy/swinterpreter'>private/kendy/swinterpreter</option>
<option value='private/kendy/testcl'>private/kendy/testcl</option>
<option value='private/khaledhosny/color-fonts'>private/khaledhosny/color-fonts</option>
<option value='private/khaledhosny/vcl-cleanup-font'>private/khaledhosny/vcl-cleanup-font</option>
<option value='private/kohei/chart-bugs'>private/kohei/chart-bugs</option>
<option value='private/kohei/find-replace-all-perf'>private/kohei/find-replace-all-perf</option>
<option value='private/kohei/headless-perf'>private/kohei/headless-perf</option>
<option value='private/kohei/if-or-not-if-jump'>private/kohei/if-or-not-if-jump</option>
<option value='private/kohei/sort-ref-update'>private/kohei/sort-ref-update</option>
<option value='private/lfrb/opengl-vcl'>private/lfrb/opengl-vcl</option>
<option value='private/lgodard/calc_notes_import_export'>private/lgodard/calc_notes_import_export</option>
<option value='private/lgodard/tdf#117202'>private/lgodard/tdf#117202</option>
<option value='private/llunak/mailmerge'>private/llunak/mailmerge</option>
<option value='private/llunak/mailmerge_01'>private/llunak/mailmerge_01</option>
<option value='private/llunak/mailmerge_02'>private/llunak/mailmerge_02</option>
<option value='private/llunak/mailmerge_03'>private/llunak/mailmerge_03</option>
<option value='private/llunak/munich_12587'>private/llunak/munich_12587</option>
<option value='private/llunak/skia'>private/llunak/skia</option>
<option value='private/lmamane/basetest'>private/lmamane/basetest</option>
<option value='private/lmamane/for-julien2412'>private/lmamane/for-julien2412</option>
<option value='private/lmamane/for-julien2412-master'>private/lmamane/for-julien2412-master</option>
<option value='private/lmamane/tdf110997'>private/lmamane/tdf110997</option>
<option value='private/lmamane/timedate-controls-nanosecond'>private/lmamane/timedate-controls-nanosecond</option>
<option value='private/lmamane/validation'>private/lmamane/validation</option>
<option value='private/mcecchetti/23H1/a11y/paragraph'>private/mcecchetti/23H1/a11y/paragraph</option>
<option value='private/mcecchetti/accessibility/paragraph'>private/mcecchetti/accessibility/paragraph</option>
<option value='private/mcecchetti/amd/pdf-export-jpeg'>private/mcecchetti/amd/pdf-export-jpeg</option>
<option value='private/mcecchetti/bitmapcrc64'>private/mcecchetti/bitmapcrc64</option>
<option value='private/mcecchetti/bitmapcrc64-5-0'>private/mcecchetti/bitmapcrc64-5-0</option>
<option value='private/mcecchetti/calc-perf-unit-test'>private/mcecchetti/calc-perf-unit-test</option>
<option value='private/mcecchetti/calc-unit-test'>private/mcecchetti/calc-unit-test</option>
<option value='private/mcecchetti/gl-program-binary'>private/mcecchetti/gl-program-binary</option>
<option value='private/mert/wip_deepl'>private/mert/wip_deepl</option>
<option value='private/mikekaganski/multicolumn'>private/mikekaganski/multicolumn</option>
<option value='private/mmeeks/aafixes44'>private/mmeeks/aafixes44</option>
<option value='private/mmeeks/backports'>private/mmeeks/backports</option>
<option value='private/mmeeks/binarydatacache'>private/mmeeks/binarydatacache</option>
<option value='private/mmeeks/bitmapcrc64'>private/mmeeks/bitmapcrc64</option>
<option value='private/mmeeks/copy-paste'>private/mmeeks/copy-paste</option>
<option value='private/mmeeks/copypaste'>private/mmeeks/copypaste</option>
<option value='private/mmeeks/cp-6.2-bits'>private/mmeeks/cp-6.2-bits</option>
<option value='private/mmeeks/cp64merge'>private/mmeeks/cp64merge</option>
<option value='private/mmeeks/currency-dropdown'>private/mmeeks/currency-dropdown</option>
<option value='private/mmeeks/foo'>private/mmeeks/foo</option>
<option value='private/mmeeks/formula-iterator'>private/mmeeks/formula-iterator</option>
<option value='private/mmeeks/gldebug'>private/mmeeks/gldebug</option>
<option value='private/mmeeks/hidpi-bits'>private/mmeeks/hidpi-bits</option>
<option value='private/mmeeks/icontest'>private/mmeeks/icontest</option>
<option value='private/mmeeks/opengl-backbuffer'>private/mmeeks/opengl-backbuffer</option>
<option value='private/mmeeks/opengl-backbuffer2'>private/mmeeks/opengl-backbuffer2</option>
<option value='private/mmeeks/sandbox'>private/mmeeks/sandbox</option>
<option value='private/mmeeks/swapdatacontainer'>private/mmeeks/swapdatacontainer</option>
<option value='private/mmeeks/vcl-opengl3'>private/mmeeks/vcl-opengl3</option>
<option value='private/moggi/fix-opengl-context-problems'>private/moggi/fix-opengl-context-problems</option>
<option value='private/moggi/improved-dxf-xls-export'>private/moggi/improved-dxf-xls-export</option>
<option value='private/moggi/opengl-4-4-build-test'>private/moggi/opengl-4-4-build-test</option>
<option value='private/moggi/opengl-preparation'>private/moggi/opengl-preparation</option>
<option value='private/moggi/opengl-vcl-win'>private/moggi/opengl-vcl-win</option>
<option value='private/moggi/orcus-improvements'>private/moggi/orcus-improvements</option>
<option value='private/moggi/track-win-dc'>private/moggi/track-win-dc</option>
<option value='private/moggi/ui-test'>private/moggi/ui-test</option>
<option value='private/moggi/vcl-opengl3'>private/moggi/vcl-opengl3</option>
<option value='private/mst/sw_fieldmarkhide'>private/mst/sw_fieldmarkhide</option>
<option value='private/mst/sw_redlinehide'>private/mst/sw_redlinehide</option>
<option value='private/mst/sw_redlinehide_2'>private/mst/sw_redlinehide_2</option>
<option value='private/mst/sw_redlinehide_3'>private/mst/sw_redlinehide_3</option>
<option value='private/mst/sw_redlinehide_4a'>private/mst/sw_redlinehide_4a</option>
<option value='private/mst/sw_redlinehide_4b'>private/mst/sw_redlinehide_4b</option>
<option value='private/pranavk/modernize_gtktiledviewer'>private/pranavk/modernize_gtktiledviewer</option>
<option value='private/quwex/gsoc-box2d-experimental'>private/quwex/gsoc-box2d-experimental</option>
<option value='private/quwex/notespane-search'>private/quwex/notespane-search</option>
<option value='private/quwex/notespaneflat'>private/quwex/notespaneflat</option>
<option value='private/quwex/notespanesquashed'>private/quwex/notespanesquashed</option>
<option value='private/quwex/tdf59323'>private/quwex/tdf59323</option>
<option value='private/s.mehrbrodt/colorpicker-backport'>private/s.mehrbrodt/colorpicker-backport</option>
<option value='private/sweetshark/swdepend'>private/sweetshark/swdepend</option>
<option value='private/tbsdy/clipping'>private/tbsdy/clipping</option>
<option value='private/tbsdy/drawserverfontlayout'>private/tbsdy/drawserverfontlayout</option>
<option value='private/tbsdy/emf'>private/tbsdy/emf</option>
<option value='private/tbsdy/osl_getAllEnvironment'>private/tbsdy/osl_getAllEnvironment</option>
<option value='private/tbsdy/outdev'>private/tbsdy/outdev</option>
<option value='private/tbsdy/printinfomgr'>private/tbsdy/printinfomgr</option>
<option value='private/tbsdy/workbench'>private/tbsdy/workbench</option>
<option value='private/thb/libo-6-1+backports'>private/thb/libo-6-1+backports</option>
<option value='private/thb/libreoffice-5-2+backports'>private/thb/libreoffice-5-2+backports</option>
<option value='private/thb/sw_redlinehide-6-1'>private/thb/sw_redlinehide-6-1</option>
<option value='private/thb/tdf149754'>private/thb/tdf149754</option>
<option value='private/thb/wasm-upstreaming'>private/thb/wasm-upstreaming</option>
<option value='private/timar/cp-6.2-centos7'>private/timar/cp-6.2-centos7</option>
<option value='private/timar/fontconfigcrash'>private/timar/fontconfigcrash</option>
<option value='private/timar/pythonupgrademsp'>private/timar/pythonupgrademsp</option>
<option value='private/tml/Use-the-iOS-French-and-Italian-dictionaries-for-othe'>private/tml/Use-the-iOS-French-and-Italian-dictionaries-for-othe</option>
<option value='private/tml/android-use-bionic-linker-copy'>private/tml/android-use-bionic-linker-copy</option>
<option value='private/tml/android-use-faulty.lib'>private/tml/android-use-faulty.lib</option>
<option value='private/tml/cp-6-4-28-1'>private/tml/cp-6-4-28-1</option>
<option value='private/tml/fixwintext'>private/tml/fixwintext</option>
<option value='private/tml/iculess'>private/tml/iculess</option>
<option value='private/tml/lov-6.1.5.2'>private/tml/lov-6.1.5.2</option>
<option value='private/tml/lov-6.2.1'>private/tml/lov-6.2.1</option>
<option value='private/tml/lov-7.0.3.3'>private/tml/lov-7.0.3.3</option>
<option value='private/tml/lov-7.0.4'>private/tml/lov-7.0.4</option>
<option value='private/tml/lov-7.1.2'>private/tml/lov-7.1.2</option>
<option value='private/tml/opencl-default-1'>private/tml/opencl-default-1</option>
<option value='private/tvajngerl/staging'>private/tvajngerl/staging</option>
<option value='ref/for/distro/collabora/cp-6.2'>ref/for/distro/collabora/cp-6.2</option>
</select> <input type='submit' value='switch'/></form></td></tr>
<tr><td class='sub'>LibreOffice 核心代码仓库</td><td class='sub right'>文档基金会</td></tr></table>
<table class='tabs'><tr><td>
<a href='/cgit/lo/core/'>summary</a><a href='/cgit/lo/core/refs/'>refs</a><a class='active' href='/cgit/lo/core/log/sw/source/core/doc/docdraw.cxx?showmsg=1'>log</a><a href='/cgit/lo/core/tree/sw/source/core/doc/docdraw.cxx'>tree</a><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx'>commit</a><a href='/cgit/lo/core/diff/sw/source/core/doc/docdraw.cxx'>diff</a></td><td class='form'><form class='right' method='get' action='/cgit/lo/core/log/sw/source/core/doc/docdraw.cxx'>
<input type='hidden' name='showmsg' value='1'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/cgit/lo/core/log/?showmsg=1'>root</a>/<a href='/cgit/lo/core/log/sw?showmsg=1'>sw</a>/<a href='/cgit/lo/core/log/sw/source?showmsg=1'>source</a>/<a href='/cgit/lo/core/log/sw/source/core?showmsg=1'>core</a>/<a href='/cgit/lo/core/log/sw/source/core/doc?showmsg=1'>doc</a>/<a href='/cgit/lo/core/log/sw/source/core/doc/docdraw.cxx?showmsg=1'>docdraw.cxx</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th class='left'>Age</th><th class='left'>Commit message (<a href='/cgit/lo/core/log/sw/source/core/doc/docdraw.cxx'>Collapse</a>)</th><th class='left'>Author</th></tr>
<tr class='logheader'><td><span title='2024-09-10 08:03:48 +0200'>2024-09-10</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=e164e61f46d15612e6f3ef1eaaec758bed2a05c7'>fix ubsan, partially revert</a><span class='decoration'></span></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
this
   commit 43be09b29c28284c6585eaa48117e168f7c9c7b5
   Author: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;
   Date:   Fri Sep 6 15:27:43 2024 +0200
   return SwDrawFrameFormat  from SwContact::GetFrameFormat
since we can also have SwFlyFrameFormat* being returned there

Change-Id: Ide064ec39ccb99f3a166b869c552f54f482b9bcd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173108
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;
Tested-by: Jenkins


</td></tr>
<tr class='logheader'><td><span title='2024-09-07 09:33:22 +0200'>2024-09-07</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=43be09b29c28284c6585eaa48117e168f7c9c7b5'>return SwDrawFrameFormat  from SwContact::GetFrameFormat</a><span class='decoration'></span></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
since that is always the SwFrameFormat subclass we are attached to

Change-Id: Icdd7cb162c9778aa4d63227f1a69c1c41eef3db2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172969
Tested-by: Jenkins
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2024-05-03 09:17:09 +0200'>2024-05-03</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=8662a96c90b56f61bf24380094f217e7170f54be'>WaE: C6011 Dereferencing NULL pointer warnings</a><span class='decoration'></span></td><td>Caolán McNamara</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: I9b2b86c26e08221c57735c6eda88727aa8a46b5f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167021
Tested-by: Jenkins
Reviewed-by: Caolán McNamara &lt;caolan.mcnamara@collabora.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2024-04-26 09:25:23 +0200'>2024-04-26</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=495b5db74f0db59395ff68bacc8d8ca67595b66e'>sw: check GetUserCall</a><span class='decoration'></span></td><td>Xisco Fauli</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
It might return nullptr
See https://crashreport.libreoffice.org/stats/signature/SwFEShell::ShouldObjectBeSelected(Point%20const%20&amp;)

Change-Id: Ia0ed355a7eb9084b9f57163ffbfe6b549c8bdb3f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166642
Tested-by: Jenkins
Reviewed-by: Xisco Fauli &lt;xiscofauli@libreoffice.org&gt;


</td></tr>
<tr class='logheader'><td><span title='2024-04-10 09:19:42 +0200'>2024-04-10</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=1a91641fd6fd84eb0bfae75db54f35c7771a2a1c'>tdf#146619 Drop unused 'using namespace' in: sw/</a><span class='decoration'></span></td><td>Gabor Kelemen</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: I56463130ab617b0e11e237718cb8456913373818
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165696
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen &lt;gabor.kelemen.extern@allotropia.de&gt;


</td></tr>
<tr class='logheader'><td><span title='2024-01-27 19:02:54 +0100'>2024-01-27</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=4790ef5cb574650c418591566eeb0babc69db59e'>ITEM: Cleanup some Pool stuff with Defaults</a><span class='decoration'></span></td><td>Armin Le Grand (allotropia)</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Sorted out some methods at ItemPool which process
Defaults to make more clear what is going on and
what which method is doing.

Change-Id: I2568d3e03d0a56a14b6fe4e04521e1a8e22c000b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162643
Tested-by: Jenkins
Reviewed-by: Armin Le Grand &lt;Armin.Le.Grand@me.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2024-01-13 18:21:02 +0100'>2024-01-13</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=19062c98da5b2e9edc7a99068fa06a83c7578826'>tdf#132810 Prevent crashes with gallery objects</a><span class='decoration'></span></td><td>Matt K</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
The problem is the formats for the gallery objects
may be non-existent but the code attempts to use
them anyway, causing crashes.  The fix is to check
for the existence of the proper format objects
before using them, so as to prevent the crashes.
I tested creating/deleting multiple objects with
multiple rounds of undo/redo and believe this change
to cover all the crashes that can occur (there were
several).

Change-Id: I9d5d704eaa381be861ac1758ad58269706437a27
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161950
Tested-by: Jenkins
Reviewed-by: Mike Kaganski &lt;mike.kaganski@collabora.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2023-10-18 20:08:31 +0200'>2023-10-18</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=6dc53be7d2eabc23e3d96bae94d38e56d37b2bb5'>use more SdrObjList::begin/end in sw</a><span class='decoration'></span></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: If882c1c7863618a313b2e06abacdbfa756dfff3e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158114
Tested-by: Jenkins
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2022-04-01 08:01:57 +0200'>2022-04-01</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=2110597ac730fa07dbbdd603fda82b182ed27c9e'>tdf#147485 sw: fix group shape crash using std::shared_ptr</a><span class='decoration'></span></td><td>Attila Bakos (NISZ)</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
for SwFrameFormat::m_pOtherTextBoxeFormats.
Before there was broken manual handling of this
member, resulting random crashes.

Details: Writer textboxes are textframe + shape
pairs. Accordingly the shape has a draw format,
the frame has a fly format. In case of group
shapes the paired structure doesn't work, because
there is one shape format and many fly formats.
To handle this there is a class (SwTextBoxNode)
which has a small frame format table inside.
This cache gives the possibility to handle
each frame shape pairs inside the group depending
on what SdrObject owns that textbox.

However there is another place where these formats
stored, namely the SpzFrameFormatTable in SwDoc.
The only problem is that, when a flyframe removed,
it has to be deleted from both tables, but if the
DelLayoutFormat() is called, that will call the
~FrameFormat(), and if the format already deleted
from the SwTextBoxNode, there will be double deleting
for the same address, which caused the crash.

To avoid this the following is present:

When fly deletion occurs, first the format is
deleted from the doc, then via the ~SwFrameFomat()
will be deleted from the TextBoxNode. If the deleted
format is a drawing, the whole node will be destructed
via the shared_ptr. Hopefully that will be fine,
without any leak.

Change-Id: I007724695bc035998cb35efeefecd308aae36e85
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132308
Reviewed-by: László Németh &lt;nemeth@numbertext.org&gt;
Tested-by: László Németh &lt;nemeth@numbertext.org&gt;


</td></tr>
<tr class='logheader'><td><span title='2021-12-14 15:28:19 +0100'>2021-12-14</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=e5650de86072b9db586a4532b5239acda77598c4'>tdf#143574 sw: textboxes in group shapes - part 3 take 2</a><span class='decoration'></span></td><td>Attila Bakos (NISZ)</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
In this part, missing parameters have been fixed, and
queryInterface method can handle textbox groups now.

A new function, synchronizeGroupTextBoxProperty has been
introduced to do the sync for all group members. Nested
group textbox shape handling also has been introduced.

Note: Copy still has issues.

Change-Id: I3d2090fe6a4066edfd2cb417b30bca9dd9acb011
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126052
Tested-by: László Németh &lt;nemeth@numbertext.org&gt;
Reviewed-by: László Németh &lt;nemeth@numbertext.org&gt;


</td></tr>
<tr class='logheader'><td><span title='2021-11-28 16:50:43 +0100'>2021-11-28</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=4fb7967fb2e67717f79eb87519c1444a82350a83'>Revert "tdf#129183 sw: textboxes in group shapes - part 3"</a><span class='decoration'></span></td><td>Stephan Bergmann</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
This reverts commit eabcfb3f18a6944d9ad89cecd3eb3ca7a2259cf3.
Conflicts:
	sw/source/core/doc/textboxhelper.cxx

It caused UITest_writer_tests4 to fail in an ASan build with
&gt; ==2987325==ERROR: AddressSanitizer: heap-use-after-free on address 0x6130000e5048 at pc 0x7f20cb3112ac bp 0x7f1e62de92d0 sp 0x7f1e62de92c8
&gt; WRITE of size 8 at 0x6130000e5048 thread T47
&gt;  #0 in SwFrameFormat::SetOtherTextBoxFormat(SwTextBoxNode*) at sw/inc/frmfmt.hxx:106:77
&gt;  #1 in SwTextBoxNode::~SwTextBoxNode() at sw/source/core/doc/textboxhelper.cxx:1680:30
&gt;  #2 in SwFrameFormat::~SwFrameFormat() at sw/source/core/layout/atrfrm.cxx:2564:9
&gt;  #3 in SwDrawFrameFormat::~SwDrawFrameFormat() at sw/source/core/layout/atrfrm.cxx:3455:1
&gt;  #4 in SwDrawFrameFormat::~SwDrawFrameFormat() at sw/source/core/layout/atrfrm.cxx:3453:1
&gt;  #5 in SwFrameFormats::DeleteAndDestroyAll(bool) at sw/source/core/doc/docfmt.cxx:2115:9
&gt;  #6 in SwDoc::~SwDoc() at sw/source/core/doc/docnew.cxx:565:28
&gt;  #7 in SwDoc::release() at sw/source/core/doc/doc.cxx:118:9
&gt;  #8 in rtl::Reference&lt;SwDoc&gt;::clear() at include/rtl/ref.hxx:196:19
&gt;  #9 in SwDocShell::RemoveLink() at sw/source/uibase/app/docshini.cxx:444:16
&gt;  #10 in SwDocShell::~SwDocShell() at sw/source/uibase/app/docshini.cxx:372:5
&gt;  #11 in SwDocShell::~SwDocShell() at sw/source/uibase/app/docshini.cxx:362:1
&gt;  #12 in SwDocShell::~SwDocShell() at sw/source/uibase/app/docshini.cxx:362:1
&gt;  #13 in SvRefBase::ReleaseRef() at include/tools/ref.hxx:163:29
&gt;  #14 in tools::SvRef&lt;SfxObjectShell&gt;::~SvRef() at include/tools/ref.hxx:56:36
&gt;  #15 in IMPL_SfxBaseModel_DataContainer::~IMPL_SfxBaseModel_DataContainer() at sfx2/source/doc/sfxbasemodel.cxx:245:5
&gt;  #16 in void std::destroy_at&lt;IMPL_SfxBaseModel_DataContainer&gt;(IMPL_SfxBaseModel_DataContainer*) at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/stl_construct.h:88:15
&gt;  #17 in void std::allocator_traits&lt;std::allocator&lt;IMPL_SfxBaseModel_DataContainer&gt; &gt;::destroy&lt;IMPL_SfxBaseModel_DataContainer&gt;(std::allocator&lt;IMPL_SfxBaseModel_DataContainer&gt;&amp;, IMPL_SfxBaseModel_DataContainer*) at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/alloc_traits.h:537:4
&gt;  #18 in std::_Sp_counted_ptr_inplace&lt;IMPL_SfxBaseModel_DataContainer, std::allocator&lt;IMPL_SfxBaseModel_DataContainer&gt;, (__gnu_cxx::_Lock_policy)2&gt;::_M_dispose() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:528:2
&gt;  #19 in std::_Sp_counted_base&lt;(__gnu_cxx::_Lock_policy)2&gt;::_M_release() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:168:6
&gt;  #20 in std::__shared_count&lt;(__gnu_cxx::_Lock_policy)2&gt;::~__shared_count() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:705:11
&gt;  #21 in std::__shared_ptr&lt;IMPL_SfxBaseModel_DataContainer, (__gnu_cxx::_Lock_policy)2&gt;::~__shared_ptr() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:1154:31
&gt;  #22 in std::__shared_ptr&lt;IMPL_SfxBaseModel_DataContainer, (__gnu_cxx::_Lock_policy)2&gt;::reset() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:1272:9
&gt;  #23 in SfxBaseModel::dispose() at sfx2/source/doc/sfxbasemodel.cxx:757:13
&gt;  #24 in SwXTextDocument::dispose() at sw/source/uibase/uno/unotxdoc.cxx:549:19
&gt;  #25 in SfxBaseModel::close(unsigned char) at sfx2/source/doc/sfxbasemodel.cxx:1482:5
&gt;  #26 in SwXTextDocument::close(unsigned char) at sw/source/uibase/uno/unotxdoc.cxx:562:19
&gt;  #27 in SfxBaseModel::dispose() at sfx2/source/doc/sfxbasemodel.cxx:718:13
&gt;  #28 in SwXTextDocument::dispose() at sw/source/uibase/uno/unotxdoc.cxx:549:19
&gt;  #29 in gcc3::callVirtualMethod(void*, unsigned int, void*, _typelib_TypeDescriptionReference*, bool, unsigned long*, unsigned int, unsigned long*, double*) at bridges/source/cpp_uno/gcc3_linux_x86-64/callvirtualmethod.cxx:77:5
&gt;  #30 in cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy*, bridges::cpp_uno::shared::VtableSlot, _typelib_TypeDescriptionReference*, int, _typelib_MethodParameter*, void*, void**, _uno_Any**) at bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:233:13
&gt;  #31 in unoInterfaceProxyDispatch at bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:413:13
&gt;  #32 in binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny*, std::__debug::vector&lt;binaryurp::BinaryAny, std::allocator&lt;binaryurp::BinaryAny&gt; &gt;*) const at binaryurp/source/incomingrequest.cxx:235:13
&gt;  #33 in binaryurp::IncomingRequest::execute() const at binaryurp/source/incomingrequest.cxx:78:26
&gt;  #34 in request at binaryurp/source/reader.cxx:85:9
&gt;  #35 in cppu_threadpool::JobQueue::enter(void const*, bool) at cppu/source/threadpool/jobqueue.cxx:100:17
&gt;  #36 in cppu_threadpool::ORequestThread::run() at cppu/source/threadpool/thread.cxx:164:31
&gt;  #37 in threadFunc at include/osl/thread.hxx:189:15
&gt;  #38 in osl_thread_start_Impl(void*) at sal/osl/unx/thread.cxx:264:9
&gt;  #39 in start_thread at &lt;null&gt;
&gt;  #40 in __GI___clone3 at &lt;null&gt;
&gt;
&gt; 0x6130000e5048 is located 328 bytes inside of 376-byte region [0x6130000e4f00,0x6130000e5078)
&gt; freed by thread T47 here:
&gt;  #0 in operator delete(void*, unsigned long) at ~/github.com/llvm/llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:164:3
&gt;  #1 in SwFlyFrameFormat::~SwFlyFrameFormat() at sw/source/core/layout/atrfrm.cxx:2912:1
&gt;  #2 in SwFrameFormats::DeleteAndDestroyAll(bool) at sw/source/core/doc/docfmt.cxx:2115:9
&gt;  #3 in SwDoc::~SwDoc() at sw/source/core/doc/docnew.cxx:565:28
&gt;  #4 in SwDoc::release() at sw/source/core/doc/doc.cxx:118:9
&gt;  #5 in rtl::Reference&lt;SwDoc&gt;::clear() at include/rtl/ref.hxx:196:19
&gt;  #6 in SwDocShell::RemoveLink() at sw/source/uibase/app/docshini.cxx:444:16
&gt;  #7 in SwDocShell::~SwDocShell() at sw/source/uibase/app/docshini.cxx:372:5
&gt;  #8 in SwDocShell::~SwDocShell() at sw/source/uibase/app/docshini.cxx:362:1
&gt;  #9 in SwDocShell::~SwDocShell() at sw/source/uibase/app/docshini.cxx:362:1
&gt;  #10 in SvRefBase::ReleaseRef() at include/tools/ref.hxx:163:29
&gt;  #11 in tools::SvRef&lt;SfxObjectShell&gt;::~SvRef() at include/tools/ref.hxx:56:36
&gt;  #12 in IMPL_SfxBaseModel_DataContainer::~IMPL_SfxBaseModel_DataContainer() at sfx2/source/doc/sfxbasemodel.cxx:245:5
&gt;  #13 in void std::destroy_at&lt;IMPL_SfxBaseModel_DataContainer&gt;(IMPL_SfxBaseModel_DataContainer*) at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/stl_construct.h:88:15
&gt;  #14 in void std::allocator_traits&lt;std::allocator&lt;IMPL_SfxBaseModel_DataContainer&gt; &gt;::destroy&lt;IMPL_SfxBaseModel_DataContainer&gt;(std::allocator&lt;IMPL_SfxBaseModel_DataContainer&gt;&amp;, IMPL_SfxBaseModel_DataContainer*) at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/alloc_traits.h:537:4
&gt;  #15 in std::_Sp_counted_ptr_inplace&lt;IMPL_SfxBaseModel_DataContainer, std::allocator&lt;IMPL_SfxBaseModel_DataContainer&gt;, (__gnu_cxx::_Lock_policy)2&gt;::_M_dispose() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:528:2
&gt;  #16 in std::_Sp_counted_base&lt;(__gnu_cxx::_Lock_policy)2&gt;::_M_release() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:168:6
&gt;  #17 in std::__shared_count&lt;(__gnu_cxx::_Lock_policy)2&gt;::~__shared_count() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:705:11
&gt;  #18 in std::__shared_ptr&lt;IMPL_SfxBaseModel_DataContainer, (__gnu_cxx::_Lock_policy)2&gt;::~__shared_ptr() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:1154:31
&gt;  #19 in std::__shared_ptr&lt;IMPL_SfxBaseModel_DataContainer, (__gnu_cxx::_Lock_policy)2&gt;::reset() at ~/gcc/trunk/inst/lib/gcc/x86_64-pc-linux-gnu/12.0.0/../../../../include/c++/12.0.0/bits/shared_ptr_base.h:1272:9
&gt;
&gt; previously allocated by thread T10 here:
&gt;  #0 in operator new(unsigned long) at ~/github.com/llvm/llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:95:3
&gt;  #1 in SwDoc::MakeFlyFrameFormat(rtl::OUString const&amp;, SwFrameFormat*) at sw/source/core/doc/docfmt.cxx:756:33
&gt;  #2 in SwDoc::MakeFlySection_(SwPosition const&amp;, SwContentNode const&amp;, RndStdIds, SfxItemSet const*, SwFrameFormat*) at sw/source/core/doc/doclay.cxx:171:33
&gt;  #3 in SwDoc::MakeFlySection(RndStdIds, SwPosition const*, SfxItemSet const*, SwFrameFormat*, bool) at sw/source/core/doc/doclay.cxx:337:19
&gt;  #4 in SwXFrame::attachToRange(com::sun::star::uno::Reference&lt;com::sun::star::text::XTextRange&gt; const&amp;, SwPaM const*) at sw/source/core/unocore/unoframe.cxx:2821:29
&gt;  #5 in SwXFrame::attach(com::sun::star::uno::Reference&lt;com::sun::star::text::XTextRange&gt; const&amp;) at sw/source/core/unocore/unoframe.cxx:3115:9
&gt;  #6 in SwXTextFrame::attach(com::sun::star::uno::Reference&lt;com::sun::star::text::XTextRange&gt; const&amp;) at sw/source/core/unocore/unoframe.cxx:3346:15
&gt;  #7 in SwXText::insertTextContent(com::sun::star::uno::Reference&lt;com::sun::star::text::XTextRange&gt; const&amp;, com::sun::star::uno::Reference&lt;com::sun::star::text::XTextContent&gt; const&amp;, unsigned char) at sw/source/core/unocore/unotext.cxx:615:15
&gt;  #8 in SwXText::insertTextContentWithProperties(com::sun::star::uno::Reference&lt;com::sun::star::text::XTextContent&gt; const&amp;, com::sun::star::uno::Sequence&lt;com::sun::star::beans::PropertyValue&gt; const&amp;, com::sun::star::uno::Reference&lt;com::sun::star::text::XTextRange&gt; const&amp;) at sw/source/core/unocore/unotext.cxx:1472:5
&gt;  #9 in non-virtual thunk to SwXText::insertTextContentWithProperties(com::sun::star::uno::Reference&lt;com::sun::star::text::XTextContent&gt; const&amp;, com::sun::star::uno::Sequence&lt;com::sun::star::beans::PropertyValue&gt; const&amp;, com::sun::star::uno::Reference&lt;com::sun::star::text::XTextRange&gt; const&amp;) at sw/source/core/unocore/unotext.cxx
&gt;  #10 in SwTextBoxHelper::create(SwFrameFormat*, SdrObject*, bool) at sw/source/core/doc/textboxhelper.cxx:100:29
&gt;  #11 in SwXShape::setPropertyValue(rtl::OUString const&amp;, com::sun::star::uno::Any const&amp;) at sw/source/core/unocore/unodraw.cxx:1165:25
&gt;  #12 in SdXMLShapeContext::SetStyle(bool) at xmloff/source/draw/ximpshap.cxx:701:27
&gt;  #13 in SdXMLCustomShapeContext::startFastElement(int, com::sun::star::uno::Reference&lt;com::sun::star::xml::sax::XFastAttributeList&gt; const&amp;) at xmloff/source/draw/ximpshap.cxx:3545:5
&gt;  #14 in SvXMLImport::startFastElement(int, com::sun::star::uno::Reference&lt;com::sun::star::xml::sax::XFastAttributeList&gt; const&amp;) at xmloff/source/core/xmlimp.cxx:805:15
&gt;  #15 in (anonymous namespace)::Entity::startElement((anonymous namespace)::Event const*) at sax/source/fastparser/fastparser.cxx:468:27
&gt;  #16 in sax_fastparser::FastSaxParserImpl::callbackStartElement(unsigned char const*, unsigned char const*, unsigned char const*, int, unsigned char const**, int, unsigned char const**) at sax/source/fastparser/fastparser.cxx:1304:21
&gt;  #17 in (anonymous namespace)::call_callbackStartElement(void*, unsigned char const*, unsigned char const*, unsigned char const*, int, unsigned char const**, int, int, unsigned char const**) at sax/source/fastparser/fastparser.cxx:331:18
&gt;  #18 in xmlParseStartTag2 at workdir/UnpackedTarball/libxml2/parser.c:9658:6
&gt;  #19 in xmlParseTryOrFinish at workdir/UnpackedTarball/libxml2/parser.c:11453:14

Change-Id: I752190e05fc3c282b75021724527f623f56ee6a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125977
Tested-by: Jenkins
Tested-by: René Engelhard &lt;rene@debian.org&gt;
Reviewed-by: Stephan Bergmann &lt;sbergman@redhat.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2021-11-24 11:51:07 +0100'>2021-11-24</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=eabcfb3f18a6944d9ad89cecd3eb3ca7a2259cf3'>tdf#129183 sw: textboxes in group shapes - part 3</a><span class='decoration'></span></td><td>Attila Bakos (NISZ)</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Grouping/ungrouping nested groups works now.

Manual test:

1.  Insert Shape.
2.  Right-click on selected shape, Add Text Box (and some text).
3.  Insert a new shape.
4.  Select and group the two shapes.
3.  Insert a third shape.
4.  Select and group the shape and the previously grouped shapes.

The text box remains in the nested shape group.

Details:

1) tdf#144271 memory leak of SwTextBoxHelper, by replacing the
textbox structure vector with std::unordered map, and rethinking
of the ownership of the objects. If a SwFrameFormat dies, and that
is a FLYFRMFMT, it will be deleted from the textbox node and the
FrameFormat table in the doc too, and the drawing will be stay as
it was before. If the dying format is a drawing, all the textboxes,
and the node will be deleted.

2) Introducing the new UNO property TextBoxContent, which is needed
for writerfilter/xmloff later to set a new textbox for the shape
via UNO.

3) Missing parameters are present now for syncing the textbox
parameters.

4) Introducing a new function namely the handleGroupTextBox() to
do the tasks simply with all textboxes in a group shape.
This can handle nested groups as well (group in a group).

Known issues: now copy of nested group objects is implemented
but not enabled, because it causes an assert.

Change-Id: I931886eda01c7a3db93098de10f5e5f48f2f217b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124657
Tested-by: László Németh &lt;nemeth@numbertext.org&gt;
Reviewed-by: László Németh &lt;nemeth@numbertext.org&gt;


</td></tr>
<tr class='logheader'><td><span title='2021-09-16 12:56:10 +0200'>2021-09-16</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=ba5156abace2e41ec4d21397c0875f7e1efd2beb'>tdf#143574 tdf#144271 sw: textboxes in group shapes - part 2</a><span class='decoration'></span></td><td>Attila Bakos (NISZ)</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Sync textboxes with group shapes, adding textboxes to
group shapes, copying textboxes with group shapes,
grouping/ungrouping group shapes with textboxes, removing
textboxes from group shapes.

This patch fixes a memory leak (tdf#144271) introduced
by commit 504d78acb866495fd954fcd6db22ea68f174a5ab
"tdf#143574 sw: textboxes in group shapes - part 1".

Note: AS_CHAR anchoring is far not the best for group
shapes and import/export is still missing.

Change-Id: I7dc3b8d36c4a04f792ae4742fe4a45af9227a17e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121449
Tested-by: László Németh &lt;nemeth@numbertext.org&gt;
Reviewed-by: László Németh &lt;nemeth@numbertext.org&gt;


</td></tr>
<tr class='logheader'><td><span title='2021-05-26 08:42:07 +0200'>2021-05-26</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=399149155cf4f882541848ea53bfa5c9806b23f8'>make SwRect(Rectangle) constructor explicit</a><span class='decoration'></span></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: I715aa9499598c483ccf907f829c9ba3540edf216
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116120
Tested-by: Jenkins
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2021-05-21 21:09:57 +0200'>2021-05-21</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=2634bc59092b24217d984a5845365d703bdb08d2'>sw: replace most static_cast&lt;sal_uInt16&gt;() calls with o3tl::narrowing()</a><span class='decoration'></span></td><td>Miklos Vajna</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
o3tl::narrowing() is a better way to handle this, as that way the
integer conversion is still implicit, which allows detecting integer
truncation at runtime (with suitable compiler flags).

Change-Id: I499abda3be6943e8c111c56df390e72939586221
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115948
Reviewed-by: Miklos Vajna &lt;vmiklos@collabora.com&gt;
Tested-by: Jenkins


</td></tr>
<tr class='logheader'><td><span title='2021-04-09 11:56:36 +0200'>2021-04-09</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=2633d5f97ff45cc4a7f016bee1f2e8f92a60d2fb'>Recheck include/ with IWYU</a><span class='decoration'></span></td><td>Gabor Kelemen</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
See tdf#42949 for motivation

Change-Id: Ifc253bf800bb1468b5774663a93f4fb30bec81d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113657
Tested-by: Jenkins
Reviewed-by: Miklos Vajna &lt;vmiklos@collabora.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2021-03-09 02:27:49 +0100'>2021-03-09</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=1c3e170d56d3cad1e7729f839fa63f607b62e4e3'>tdf#140661 Give shapes names when ungrouping if they don't already have</a><span class='decoration'></span></td><td>Jim Raykowski</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: I8242a697980e4f661a914998792ae9efdb090915
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111725
Tested-by: Jenkins
Reviewed-by: Jim Raykowski &lt;raykowj@gmail.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2020-10-13 13:29:26 +0200'>2020-10-13</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=51f807841a9242eec85172c6503083294c0c0042'>static_cast after dynamic_cast</a><span class='decoration'></span></td><td>Noel</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: I68c20dfbedb84660cf25df785e1e0b13a7592994
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104229
Tested-by: Jenkins
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2020-10-05 21:24:57 +0200'>2020-10-05</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=38746ee9dfe6db8029a844576c3395b54167c3e9'>SwUndoDelete::CanGrouping never passed a null SwDoc*</a><span class='decoration'></span></td><td>Caolán McNamara</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
ditto:
SwUndoOverwrite::CanGrouping
SwUndoTOXChange ctor
SwUndoDefaultAttr ctor
SwUndoFootNoteInfo ctor
SwUndoEndNoteInfo ctor
SwUndoRenameBookmark ctor
SwSdrUndo ctor
SwUndoDrawGroup ctor
SwUndoDrawUnGroup ctor
SwUndoDrawUnGroupConnectToLayout ctor
SwUndoDrawDelete ctor
SwUndoOverwrite ctor
SwUndoSplitNode ctor
SwUndoTableCpyTable ctor
SwUndoCpyTable ctor
SwUndoTableStyleMake ctor
SwUndoTableStyleDelete ctor
SwUndoTableStyleUpdate ctor

Change-Id: I138729e37777c7960017f9004c31a533f86315a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103961
Tested-by: Jenkins
Reviewed-by: Caolán McNamara &lt;caolanm@redhat.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2020-02-21 14:50:28 +0100'>2020-02-21</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=9ad252b2e79576119c2d733a1a45fdd9e9f83140'>Drop o3tl::optional wrapper</a><span class='decoration'></span></td><td>Stephan Bergmann</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
...now that macOS builds are guaranteed to have std::optional since
358146bbbd1b9775c12770fb5e497b6ec5adfc51 "Bump macOS build baseline to
Xcode 11.3 and macOS 10.14.4".

The change is done mostly mechanically with

&gt; for i in $(git grep -Fl optional); do
&gt;  sed -i -e 's:&lt;o3tl/optional\.hxx&gt;\|\"o3tl/optional\.hxx\":&lt;optional&gt;:' \
&gt;   -e 's/\&lt;o3tl::optional\&gt;/std::optional/g' \
&gt;   -e 's/\&lt;o3tl::make_optional\&gt;/std::make_optional/g' "$i"
&gt; done
&gt; for i in $(git grep -Flw o3tl::nullopt); do
&gt;  sed -i -e 's/\&lt;o3tl::nullopt\&gt;/std::nullopt/g' "$i"
&gt; done

(though that causes some of the resulting

  #include &lt;optional&gt;

to appear at different places relative to other includes than if they had been
added manually), plus a few manual modifications:

* adapt bin/find-unneeded-includes
* adapt desktop/IwyuFilter_desktop.yaml
* remove include/o3tl/optional.hxx
* quote resulting "&lt;"/"&gt;" as "&amp;lt;"/"&amp;gt;" in officecfg/registry/cppheader.xsl
* and then solenv/clang-format/reformat-formatted-files

Change-Id: I68833d9f7945e57aa2bc703349cbc5a56b342273
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89165
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann &lt;sbergman@redhat.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2020-02-05 17:17:30 +0100'>2020-02-05</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=b2d9603bc02db3a6711948274c5fa2b5cf148d48'>sw: set uniqe name and style to grouped shapes</a><span class='decoration'></span></td><td>Vasily Melenchuk</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Unique name is required to dsiplay object in Navigator, style
is used by undo/redo code.

Change-Id: Id2417cbee3f92c0ee555eb093e1e9bbbc0a83e0b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87996
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens &lt;Thorsten.Behrens@CIB.de&gt;


</td></tr>
<tr class='logheader'><td><span title='2020-01-06 09:18:48 +0100'>2020-01-06</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=53bda3f58162072e50cffc11279639c986065da0'>sw: prefix members of SwChartDataProvider, SwChartDataSource, ...</a><span class='decoration'></span></td><td>Miklos Vajna</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
... SwDataChanged and ZSortFly

See tdf#94879 for motivation.

Change-Id: I072f14d52f67ec05e068dda4ea0b8e5145143792
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86255
Reviewed-by: Miklos Vajna &lt;vmiklos@collabora.com&gt;
Tested-by: Jenkins


</td></tr>
<tr class='logheader'><td><span title='2019-12-01 14:57:16 +0100'>2019-12-01</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=7e403195e574be5174815a51cf5c42f06f76a87a'>Introduce o3tl::optional as an alias for std::optional</a><span class='decoration'></span></td><td>Stephan Bergmann</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
...with a boost::optional fallback for Xcode &lt; 10 (as std::optional is only
available starting with Xcode 10 according to
&lt;https://en.cppreference.com/w/cpp/compiler_support&gt;, and our baseline for iOS
and macOS is still Xcode 9.3 according to README.md).  And mechanically rewrite
all code to use o3tl::optional instead of boost::optional.

One immediate benefit is that disabling -Wmaybe-uninitialized for GCC as per
fed7c3deb3f4ec81f78967c2d7f3c4554398cb9d "Slience bogus
-Werror=maybe-uninitialized" should no longer be necessary (and whose check
happened to no longer trigger for GCC 10 trunk, even though that compiler would
still emit bogus -Wmaybe-uninitialized for uses of boost::optional under
--enable-optimized, which made me ponder whether this switch from
boost::optional to std::optional would be a useful thing to do; I keep that
configure.ac check for now, though, and will only remove it in a follow up
commit).

Another longer-term benefit is that the code is now already in good shape for an
eventual switch to std::optional (a switch we would have done anyway once we no
longer need to support Xcode &lt; 10).

Only desktop/qa/desktop_lib/test_desktop_lib.cxx heavily uses
boost::property_tree::ptree::get_child_optional returning boost::optional, so
let it keep using boost::optional for now.

After a number of preceding commits have paved the way for this change, this
commit is completely mechanical, done with

&gt; git ls-files -z | grep -vz -e '^bin/find-unneeded-includes$' -e '^configure.ac$' -e '^desktop/qa/desktop_lib/test_desktop_lib.cxx$' -e '^dictionaries$' -e '^external/' -e '^helpcontent2$' -e '^include/IwyuFilter_include.yaml$' -e '^sc/IwyuFilter_sc.yaml$' -e '^solenv/gdb/boost/optional.py$' -e '^solenv/vs/LibreOffice.natvis$' -e '^translations$' -e '\.svg$' | xargs -0 sed -i -E -e 's|\&lt;boost(/optional)?/optional\.hpp\&gt;|o3tl/optional.hxx|g' -e 's/\&lt;boost(\s*)::(\s*)(make_)?optional\&gt;/o3tl\1::\2\3optional/g' -e 's/\&lt;boost(\s*)::(\s*)none\&gt;/o3tl\1::\2nullopt/g'

(before committing include/o3tl/optional.hxx, and relying on some GNU features).
It excludes some files where mention of boost::optional et al should apparently
not be changed (and the sub-repo directory stubs).  It turned out that all uses
of boost::none across the code base were in combination with boost::optional, so
had all to be rewritten as o3tl::nullopt.

Change-Id: Ibfd9f4b3d5a8aee6e6eed310b988c4e5ffd8b11b
Reviewed-on: https://gerrit.libreoffice.org/84128
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann &lt;sbergman@redhat.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2019-11-05 08:40:15 +0100'>2019-11-05</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=ee909ca2c02f949605f68720c3f1eef658502749'>tdf#42949 Fix IWYU warnings in sw/source/core/d*/*cxx</a><span class='decoration'></span></td><td>Gabor Kelemen</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.

Change-Id: Id33b8c1e0c02c21591b167a8b3f0ea288fac63bd
Reviewed-on: https://gerrit.libreoffice.org/81689
Tested-by: Jenkins
Reviewed-by: Miklos Vajna &lt;vmiklos@collabora.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2019-02-19 09:40:22 +0100'>2019-02-19</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=d4cafd20506a60a148b55e716c690a74c943def7'>use boost::optional in EditFieldInfo</a><span class='decoration'></span></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
it is inefficient to allocate a tiny object like Color separately on the
heap

Change-Id: I2f03538f987ff032857f3316ed2d8c2c8d731549
Reviewed-on: https://gerrit.libreoffice.org/67968
Tested-by: Jenkins
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2018-10-19 10:02:39 +0200'>2018-10-19</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=2c1b7e8d6a7fa22cb91919238418816671c3a497'>clang-tidy readability-container-size-empty</a><span class='decoration'></span></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: I1df70b7dff5ebb6048f7fc618789faa15ca5d422
Reviewed-on: https://gerrit.libreoffice.org/61967
Tested-by: Jenkins
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2018-10-05 08:08:09 +0200'>2018-10-05</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=dbe85d6613f96192417059acb3274e981a57819d'>use std::unique_ptr in sw::IDocumentUndoRedo</a><span class='decoration'></span></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: I504706ff1a3fc11a7a06ebe935f9dbc5323aefe8
Reviewed-on: https://gerrit.libreoffice.org/61369
Tested-by: Jenkins
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2018-09-12 08:59:07 +0200'>2018-09-12</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=5928396cb2bb759fbbde68c1df50e1fa1ba07463'>loplugin:useuniqueptr in SwDoc::UnGroupSelection</a><span class='decoration'></span></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: Ib18a027e96f4ea14057c17f51345797b7d8746c2
Reviewed-on: https://gerrit.libreoffice.org/60347
Tested-by: Jenkins
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2018-08-10 08:19:55 +0200'>2018-08-10</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=b268ef57e97e692644335afeae834205ecb73557'>unnecessary null check before dynamic_cast, in sw</a><span class='decoration'></span></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: I4f3f3f8b8b7fdf57fe76ff9a24cd8c58e386392d
Reviewed-on: https://gerrit.libreoffice.org/58770
Tested-by: Jenkins
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2018-08-03 09:43:04 +0200'>2018-08-03</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=4760bc9916cb726321bf4506bb48a26cfb239753'>Add missing sal/log.hxx headers</a><span class='decoration'></span></td><td>Gabor Kelemen</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
rtl/string.hxx and rtl/ustring.hxx both unnecessarily #include &lt;sal/log.hxx&gt; (and don't make use of it themselves), but many other files happen to depend on it.
This is a continuation of commit 6ff2d84ade299cb3d14d4110e4cf1a4b8070c030 to be able to remove those unneeded includes.

This commit adds missing headers to every file found by:
grep -FwL sal/log.hxx $(git grep -Elw 'SAL_INFO|SAL_INFO_IF|SAL_WARN|SAL_WARN_IF|SAL_DETAIL_LOG_STREAM|SAL_WHERE|SAL_STREAM|SAL_DEBUG')
to directory sw

Change-Id: I1ede3f86e390bfec1a2d3ee8e8bb6ec67083b194
Reviewed-on: https://gerrit.libreoffice.org/58372
Tested-by: Jenkins
Reviewed-by: Miklos Vajna &lt;vmiklos@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2018-06-16 17:29:52 +0200'>2018-06-16</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=099eef24da24d638fdf2c747d28040c9b3a30780'>AW080: Continued cleanups/remaps/corrections</a><span class='decoration'></span></td><td>Armin Le Grand</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: I953f29e6a8d398e00884a600d6f4ceba880489a5
Reviewed-on: https://gerrit.libreoffice.org/55913
Tested-by: Jenkins
Reviewed-by: Armin Le Grand &lt;Armin.Le.Grand@cib.de&gt;


</td></tr>
<tr class='logheader'><td><span title='2018-05-25 12:31:32 +0200'>2018-05-25</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=4b4942224b550235da228655677b5c068a053254'>SOSAW080: Derive SdrObjGroup from SdrObjList</a><span class='decoration'></span></td><td>Armin Le Grand</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Also simplify parent/child relationships, get rid
of double data (SdrPage/Parent infos in SdrObjects,
also in SdrObjList). This is all not needed - when a
SdrObject is inserted to a SdrPage, get SdrPage by
traveling over parents (no double info, member as soon
as inserted, ...).
More cleanups/reworks included, will need some more
cleanups, too.

Stabilizing: SetRectsDirty/DefaultStyleSheet

Had to correct the SetRectsDirty stuff for 3D due to
going down the hierarchy while the 2D implementation
goes the other direction -&gt; endless loops. Added special
handling for 3D stuff for now (will be chnaged again when
SnapRect is no longer needed at SdrObject level).
Also had to adapt how the DefaultStyleSheet is set at
incarnated SdrObjects - better: their properties. Since
we now always have a SdrModel, it is possible to correctly
initialize with the correct default StyleSheet from that
SdrModel.
This needs to be done after ForceDefaultAttributes and in a
way that again deletes Items that are set in the StyleSheet.
This leads to an error in CppunitTest_sd_import_tests where
I checked tdf100491 - it is okay and thus I change the control
instance of the imported, XML-dumped file.
The less hard attributes, the better for Styles in general.

Cleanup of comments for last two commits

Corrected SvxShape::getParent()

Needed to get the direct parent, so test for SdrObject
first (to get SdrObjGroup/E3DScene), for SdrPage second

Fixed CppunitTest_sc_subsequent_export_test

Several problems arose. The used SdrCaptionObj was
Cloned, but the clone not inserted to a SdrPage. This
leads to not being able to access a UNO API imlementation
of the SdrPage (SvxPage) on lower levels.
It worked before due to SdrObject having a SdrPage*
additionally to being added to a SdrPage - this is exactly
the main cleanup this change does.
Looked for why it is cloned, could see no reasons. The
SdrCaptionObj exists during all im/export, not difference
to other SdrObjects (that do not get cloned). It is not
changed in any way. It *might* be to suppress a crash that
happened due to UNO API Service emfio/emfio not being
available in the UnitTest scenario. Interestingly it
did not crash with the cloned SdrCaptionObj, but the
Graphic exported was probably wrong.
Fixed by no longer Cloning the SdrCaptionObj and adding
emfio/emfio UNO API Service.

d139f821a5b39535a3e7b9c6261df7e18f8ae8ac
910e7f4bc628a715fda7545dffaf3369d5e76ea0
ca1de01b723051e09ac37d7ec7bba978beea41c5
3a76da1471dfe75e69847f64a6a3519ad21c8c9c

Change-Id: I986586e326b563acebf00d931a7084c6eb09e5f8
Reviewed-on: https://gerrit.libreoffice.org/54689
Tested-by: Jenkins &lt;ci@libreoffice.org&gt;
Reviewed-by: Armin Le Grand &lt;Armin.Le.Grand@cib.de&gt;


</td></tr>
<tr class='logheader'><td><span title='2018-01-12 20:13:41 +0100'>2018-01-12</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=0ae2d98d1f6d29c80bd1ee830db4c333e4ee1e1d'>More loplugin:cstylecast: sw</a></td><td>Stephan Bergmann</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
auto-rewrite with &lt;https://gerrit.libreoffice.org/#/c/47798/&gt; "Enable
loplugin:cstylecast for some more cases" plus
solenv/clang-format/reformat-formatted-files

Change-Id: I0f49d21dfdf82742f11b27709f74294feb1e419e


</td></tr>
<tr class='logheader'><td><span title='2017-12-24 10:54:05 +0100'>2017-12-24</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=617a2feff0978d06aa2759038715dfde90d369db'>convert RES_FRM constants to TypedWhichId</a><span class='decoration'></span></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: I0c71a6fd2e094cebdb720e6c0661cd8a7bb8482c
Reviewed-on: https://gerrit.libreoffice.org/46812
Tested-by: Jenkins &lt;ci@libreoffice.org&gt;
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2017-11-09 07:31:24 +0100'>2017-11-09</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=5ba447bdcd13ba3d7c27c8609f207910227e4ab6'>new loplugin simplifydynamiccast</a><span class='decoration'></span></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
simplify dynamic_cast followed by static_cast

Change-Id: I965afcf05d1675094cfde53d3590a0fd00f26279
Reviewed-on: https://gerrit.libreoffice.org/44460
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;
Tested-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2017-09-16 14:43:04 +0200'>2017-09-16</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=70e552065339f1f7ab14f991f3e840b5461e609e'>convert SvxURLFormat to scoped enum</a><span class='decoration'></span></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: Ie2199cf0bcfb6d649f8aa33325ab645b18e7c000
Reviewed-on: https://gerrit.libreoffice.org/42343
Tested-by: Jenkins &lt;ci@libreoffice.org&gt;
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2017-09-14 08:28:31 +0200'>2017-09-14</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=b0b0aef18fff981fa1f4a1539c150260cc526595'>clang-tidy modernize-use-emplace in sw</a><span class='decoration'></span></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: I92fd035824f247dc61edfb18c54b960a7733fdf7
Reviewed-on: https://gerrit.libreoffice.org/42244
Tested-by: Jenkins &lt;ci@libreoffice.org&gt;
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2017-06-27 13:06:59 +0200'>2017-06-27</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=e5ece062058f7772f8414d47d07bb8af6e8e5c2a'>loplugin:oncevar in sw</a><span class='decoration'></span></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: Ia96172489eec09607113d388a5b683bb6e0d2dec
Reviewed-on: https://gerrit.libreoffice.org/39290
Tested-by: Jenkins &lt;ci@libreoffice.org&gt;
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2017-05-09 10:42:56 +0200'>2017-05-09</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=ea8c12b8cc03ed259389ac267edd459844634767'>loplugin:checkunusedparams in sw(part4)</a><span class='decoration'></span></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: Ia264c192ac02a07bba67a66196899d13b19f83f0
Reviewed-on: https://gerrit.libreoffice.org/37386
Tested-by: Jenkins &lt;ci@libreoffice.org&gt;
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2017-03-20 06:52:34 +0000'>2017-03-20</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=d99d143900081dd14e070c7373ba204739d80496'>convert RndStdIds to scoped enum</a><span class='decoration'></span></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: I029ad67dfcbc40f3953adf485957efcbd97f23d0
Reviewed-on: https://gerrit.libreoffice.org/35328
Tested-by: Jenkins &lt;ci@libreoffice.org&gt;
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2017-03-16 07:56:25 +0000'>2017-03-16</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=8ae9dcec653c4ad3eeb8c3e1fa9b1684e2bd64a2'>convert SwUndoId to scoped enum</a><span class='decoration'></span></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: I782fdd53641c0d7c629265b6179de70aa54382f9
Reviewed-on: https://gerrit.libreoffice.org/35246
Tested-by: Jenkins &lt;ci@libreoffice.org&gt;
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2017-03-15 08:35:10 +0000'>2017-03-15</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=8ccbc16b5e3f94b8db105232d7085a8553e6bc03'>convert SvxFrameDirection to scoped enum</a><span class='decoration'></span></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Based on the casts in chart2/source/view/main/ChartView.cxx
and the similarity of naming of values, I conclude that this
enum was intended to abstract over css::text::WritingMode2.

Added a comment to that effect.

Change-Id: I3af8bbe8b6ac8c4a9375f6ccde145b98b9c69a57
Reviewed-on: https://gerrit.libreoffice.org/35164
Tested-by: Jenkins &lt;ci@libreoffice.org&gt;
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2017-03-14 07:58:49 +0000'>2017-03-14</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=250995d2b8d8ad544110d3daeb2f61089bff0aa5'>change SvxFrameDirectionItem base to SfxEnumItem</a><span class='decoration'></span></td><td>Jochen Nitschke</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: I82f01d0e3e4bf15ed6ba435406ae63b7c9110091
Reviewed-on: https://gerrit.libreoffice.org/35160
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;
Tested-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2017-01-03 10:52:00 +0000'>2017-01-03</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=2f01d2a42a5afecd7827a939cd0f5d6793cba47e'>use proper message passing</a><span class='decoration'></span></td><td>Bjoern Michaelsen</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: Id0ac2e87344fdab4db97357158c5cc60eed70898
Reviewed-on: https://gerrit.libreoffice.org/32663
Tested-by: Jenkins &lt;ci@libreoffice.org&gt;
Reviewed-by: Björn Michaelsen &lt;bjoern.michaelsen@canonical.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2016-12-08 12:35:09 +0000'>2016-12-08</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=a66731982e93cdcc5beaa5b0586a7f12a7fc0ef6'>convert SFX_HINT to scoped enum</a><span class='decoration'></span></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Notes

(*) In SC, BULK_DATACHANGED was or'ed into the hint id. Replaced with a
dynamic_cast check.

(*) In SC, removed the hint id field from ScIndexHint, no point in
storing the hint id twice

(*) Fold the SfxStyleSheetHintId enum into the new SfxHintId enum, no
point in storing two different hint ids

(*) In some cases, multiple #define's used to map to the same SFX_HINT
value (notably the SFX_HINT_USER* values). I made all of those separate
values.

Change-Id: I990e2fb587335ebc51c9005588c6a44f768d9de5
Reviewed-on: https://gerrit.libreoffice.org/31751
Reviewed-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;
Tested-by: Noel Grandin &lt;noel.grandin@collabora.co.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2016-10-05 07:56:12 +0200'>2016-10-05</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=106ea87205cfba1bc39dc99ad8c3ee5f8fe350fb'>Remove _TYPED suffix from tools/link.hxx macros</a></td><td>Stephan Bergmann</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
...which was introduced with 3ead3ad52f9bb2f9d1d6cf8dfc73a0a25e6778ed "Gradually
typed Link" to distinguish the new, typed versions from the old, untyped ones,
but is no longer necessary since 382eb1a23c390154619c385414bdbe6f6e461173
"remove untyped Link&lt;&gt;" removed the old versions.

Change-Id: I494025df486a16a45861fcd8192dfe0275b1103c


</td></tr>
<tr class='logheader'><td><span title='2016-08-23 09:54:16 +0200'>2016-08-23</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=e0b61fdd35462ff679743dff1203fb5dd50e86a4'>convert SdrIterMode to scoped enum</a></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: Iaa4631039e6b96627d8e547f21136f107e157d8a


</td></tr>
<tr class='logheader'><td><span title='2016-08-19 08:18:37 +0200'>2016-08-19</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=178153e8220aa3bf29078f6df4ed6acd0b2f61e4'>convert SdrUserCallType to scoped enum</a></td><td>Noel Grandin</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: I0121b17242faee4238d82836453cec695f508db0


</td></tr>
<tr class='logheader'><td><span title='2016-07-29 17:02:25 +0000'>2016-07-29</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=d60708c5116b4c48b30b94095aafd3e77de46f6a'>sw undo: implement SfxUndoAction::GetViewShellId() interface</a><span class='decoration'></span></td><td>Miklos Vajna</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
With this, it's possible to tell which view shell created which undo
actions. It's visible only in the doc model xml dump only, though.

Change-Id: Ia76d218a1d8b578aaad00ab733c772b10dda39f0
Reviewed-on: https://gerrit.libreoffice.org/27693
Reviewed-by: Miklos Vajna &lt;vmiklos@collabora.co.uk&gt;
Tested-by: Jenkins &lt;ci@libreoffice.org&gt;


</td></tr>
<tr class='logheader'><td><span title='2016-04-22 10:08:07 +0200'>2016-04-22</span></td><td class='logsubject'><a href='/cgit/lo/core/commit/sw/source/core/doc/docdraw.cxx?id=85825e0fd54551735ef05b8484f71974734b9135'>Avoid reserved identifiers</a></td><td>Stephan Bergmann</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Change-Id: I27ff0f4f0eb395d7e0a60dd604758c220a3134c4


</td></tr>
</table><ul class='pager'>