Attempt to make vcl::Timer use boost's Signals2

Chris Sherlock chris.sherlock79 at gmail.com
Tue Nov 18 04:50:12 PST 2014


Hi all,

I'm attempting to get Timer to use boost's Signals2. When I compile,
however, I get a warning and an error:

http://pastebin.com/Vijr6Cfk

The error is:

[ CXX ] vcl/source/window/cursor.cxx
[ CXX ] vcl/source/window/debugevent.cxx
In file included from
/home/chris/repos/LibreOffice/core/workdir/UnpackedTarball/boost/boost/function/detail/maybe_include.hpp:13:0,
                 from
/home/chris/repos/LibreOffice/core/workdir/UnpackedTarball/boost/boost/function/detail/function_iterate.hpp:14,
                 from
/home/chris/repos/LibreOffice/core/workdir/UnpackedTarball/boost/boost/preprocessor/iteration/detail/iter/forward1.hpp:47,
                 from
/home/chris/repos/LibreOffice/core/workdir/UnpackedTarball/boost/boost/function.hpp:64,
                 from
/home/chris/repos/LibreOffice/core/workdir/UnpackedTarball/boost/boost/signals2/signal.hpp:18,
                 from
/home/chris/repos/LibreOffice/core/include/vcl/timer.hxx:23,
                 from
/home/chris/repos/LibreOffice/core/include/vcl/animate.hxx:24,
                 from
/home/chris/repos/LibreOffice/core/include/vcl/graph.hxx:28,
                 from
/home/chris/repos/LibreOffice/core/include/vcl/metaact.hxx:32,
                 from
/home/chris/repos/LibreOffice/core/include/vcl/outdev.hxx:35,
                 from
/home/chris/repos/LibreOffice/core/include/vcl/metric.hxx:25,
                 from
/home/chris/repos/LibreOffice/core/include/vcl/svapp.hxx:41,
                 from
/home/chris/repos/LibreOffice/core/vcl/source/window/cursor.cxx:20:
/home/chris/repos/LibreOffice/core/workdir/UnpackedTarball/boost/boost/function/function_template.hpp:
In instantiation of ‘void boost::function0<R>::assign_to(Functor) [with
Functor = void (vcl::Cursor::*)(); R = void]’:
/home/chris/repos/LibreOffice/core/workdir/UnpackedTarball/boost/boost/function/function_template.hpp:722:7:
  required from ‘boost::function0<R>::function0(Functor, typename
boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value,
int>::type) [with Functor = void (vcl::Cursor::*)(); R = void; typename
boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value,
int>::type = int]’
/home/chris/repos/LibreOffice/core/workdir/UnpackedTarball/boost/boost/function/function_template.hpp:1069:16:
  required from ‘boost::function<R()>::function(Functor, typename
boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value,
int>::type) [with Functor = void (vcl::Cursor::*)(); R = void; typename
boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value,
int>::type = int]’
/home/chris/repos/LibreOffice/core/workdir/UnpackedTarball/boost/boost/function/function_template.hpp:1124:5:
  required from ‘typename
boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value,
boost::function<R()>&>::type boost::function<R()>::operator=(Functor) [with
Functor = void (vcl::Cursor::*)(); R = void; typename
boost::enable_if_c<boost::type_traits::ice_not<boost::is_integral<Functor>::value>::value,
boost::function<R()>&>::type = boost::function<void()>&]’
/home/chris/repos/LibreOffice/core/workdir/UnpackedTarball/boost/boost/signals2/detail/slot_template.hpp:156:24:
  required from ‘void boost::signals2::slot<R(Args ...),
SlotFunction>::init_slot_function(const F&) [with F = void
(vcl::Cursor::*)(); SlotFunction = boost::function<void()>; R = void; Args
= {}]’
/home/chris/repos/LibreOffice/core/workdir/UnpackedTarball/boost/boost/signals2/detail/slot_template.hpp:81:29:
  required from ‘boost::signals2::slot<R(Args ...),
SlotFunction>::slot(const F&) [with F = void (vcl::Cursor::*)();
SlotFunction = boost::function<void()>; R = void; Args = {}]’
/home/chris/repos/LibreOffice/core/vcl/source/window/cursor.cxx:174:83:
required from here
/home/chris/repos/LibreOffice/core/workdir/UnpackedTarball/boost/boost/function/function_template.hpp:924:9:
error: no class template named ‘apply’ in ‘struct
boost::detail::function::get_invoker0<boost::detail::function::member_ptr_tag>’
         handler_type;
         ^
make[1]: ***
[/home/chris/repos/LibreOffice/core/workdir/CxxObject/vcl/source/window/cursor.o]
Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [vcl.all] Error 2

Does anyone with any knowledge know where I might be going wrong?

You can review the patch at https://gerrit.libreoffice.org/#/c/12950/

Thanks,
Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20141118/df6581da/attachment.html>


More information about the LibreOffice mailing list