Re: [E-devel] Crash using C++ Layout signal API

Felipe Magno de Almeida <[email protected]>
Newsgroups gmane.comp.window-managers.enlightenment.devel
Message-ID <CADfx-VR=bxmnbniOxcHBvCSLrssuCd=g7t_3FoGz_3ARAjs1-Q@mail.gmail.com>
Hello Andreas

On Thu, Jun 24, 2021 at 4:22 PM Andreas Volz <[email protected]> wrote:
>
> I just add another question now as it's working without crash. :-)
>
> With signal_callback_add() I could only add a C function or static C++
> member function. But practically I design my callback functions to
> hand-over them the this-pointer that they could access members.
>
> But here is no possibility to add a data pointer to
> signal_callback_add() that is hand-over to the callback. Any ideas to
> attach the this pointer to the Eo object and then get it back from the
> efl::layout::Signal from inside the callback?
>
> BTW: I would love if the C++ interface would use libsigc++ as signaling
> system. It's so a well designed signaling system, documented and easy to
> use.

You can use any function object, not just pointers. You can use a
lambda for example:

```
std::shared_ptr<MyClass> my_object;
layout.signal_callback_add("edje", "func", [=] (auto&& signal, auto&&
emission, auto&& source) { my_object->do_something(signal, emission,
source); });
```

Kind regards,

> Am 23.06.21 um 07:36 schrieb Andreas Volz:
> > Hello together,
> >
> > after some waiting time I would like to ask here if some other user
> > could at least verify the same crash with C++ API that I described here:
> >
> > https://phab.enlightenment.org/T8943
> >
> > If I'm not strongly misusing the API than it's a very basic error. Just
> > loading an Edje file into a Layout.
> >
> > Would be good to know someone else does see the same.
> >
> > Do you know a workaround to come around this? Maybe use another C++
> > compatible API / mix with C API to continue work on my application?
> >
> > regards
> > Andreas
> >
> >
> > _______________________________________________
> > enlightenment-devel mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
>
> _______________________________________________
> enlightenment-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel



-- 
Felipe Magno de Almeida
Owner @ Expertise Solutions
www: https://expertise.dev
phone: +55 48 9 9681.0157
LinkedIn: in/felipealmeida
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.