SfxPoolItem must be a complete type here

...contrary to what a9e9175ba6 "tdf#146619 Use
more forward declarations in include/sfx2" apparently assumed,

> In file included from sfx2/source/commandpopup/CommandPopup.cxx:10:
> In file included from sfx2/inc/commandpopup/CommandPopup.hxx:13:
> In file included from include/vcl/weld/Builder.hxx:13:
> In file included from include/rtl/ustring.hxx:45:
> In file included from include/rtl/string.hxx:51:
> In file included from include/rtl/stringconcat.hxx:22:
> In file included from ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/16.0.1/../../../../include/c++/16.0.1/memory:80:
> ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/16.0.1/../../../../include/c++/16.0.1/bits/unique_ptr.h:90:16: error: invalid application of 'sizeof' to an incomplete type 'SfxPoolItem'
>    90 |         static_assert(sizeof(_Tp)>0,
>       |                       ^~~~~~~~~~~
> ~/gcc/inst/lib/gcc/x86_64-pc-linux-gnu/16.0.1/../../../../include/c++/16.0.1/bits/unique_ptr.h:398:4: note: in instantiation of member function 'std::default_delete<SfxPoolItem>::operator()' requested here
>   398 |           get_deleter()(std::move(__ptr));
>       |           ^
> include/sfx2/bindings.hxx:154:38: note: in instantiation of member function 'std::unique_ptr<SfxPoolItem>::~unique_ptr' requested here
>   154 |         std::unique_ptr<SfxPoolItem> tmp;
>       |                                      ^
> include/sfx2/bindings.hxx:57:7: note: forward declaration of 'SfxPoolItem'
>    57 | class SfxPoolItem;
>       |       ^

Change-Id: I51e150d75beaabf797f3ed5abc0a5d2b645b933a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200267
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
This commit is contained in:
Stephan Bergmann
2026-02-25 08:07:41 +01:00
parent f2ec97d177
commit a14686cb54
+1 -1
View File
@@ -30,6 +30,7 @@
#include <sfx2/dllapi.h>
#include <sal/types.h>
#include <tools/link.hxx>
#include <svl/poolitem.hxx>
#include <svl/SfxBroadcaster.hxx>
#include <svl/typedwhich.hxx>
@@ -54,7 +55,6 @@ class SfxWorkWindow;
struct SfxFoundCache_Impl;
class SfxFoundCacheArr_Impl;
class SfxPoolItemHolder;
class SfxPoolItem;
class SfxRequest;
class SfxShell;
enum class SfxItemState;