That's actually what the documentation says here[1], at least in c. But
looking the c code that vala exports, it's passing the wrong function, so I
found workaround here[2].

So for others who may need this "feature", my code now looks something like
this:
        bool in_insert;
        [GtkCallback]
        private void on_birthday_insert_text(Gtk.Editable widget, string
text, int length, ref int position)
        {
            if (in_insert)
                return;

            in_insert = true;

            widget.insert_text("abc", 3, ref position);

            GLib.Signal.stop_emission_by_name((Gtk.Widget *) widget,
"insert_text");

            in_insert = false;
        }

Thanks for your input.

[1] https://valadoc.org/gtk+-3.0/Gtk.Editable.html
[2]
https://github.com/GNOME/shotwell/blob/e831c31ffdad7aa2fc134e04eca297502a2d675e/src/dialogs/ExportDialog.vala#L318

On Thu, Sep 12, 2019 at 7:54 AM Nor Jaidi Tuah <[email protected]>
wrote:

>
> > And here's my signal handler:
> >         [GtkCallback]
> >         private void on_birthday_insert_text(Gtk.Editable widget,
> > string
> > text, int length, ref int position)
> >         {
> >             GLib.SignalHandler.block_by_func(widget, (void *)
> > on_birthday_insert_text, (void *) this);
> >             widget.insert_text(text, length, ref position);
> >             GLib.SignalHandler.unblock_by_func(widget, (void *)
> > on_birthday_insert_text, (void *) this);
> >             GLib.Signal.stop_emission_by_name(widget, "insert_text");
> >         }
>
> on_birthday_insert_text is passing a reference to itself.
> That looks suspiciously buggy.
>
> Nice day
> Nor Jaidi Tuah
>
>
>
>
> PRIVILEGED/CONFIDENTIAL information may be contained in this message. If
> you are neither the addressee (intended recipient) nor an authorised
> recipient of the addressee, and have received this message in error, please
> destroy this message (including attachments) and notify the sender
> immediately. STRICT PROHIBITION: This message, whether in part or in whole,
> should not be reviewed, retained, copied, reused, disclosed, distributed or
> used for any purpose whatsoever. Such unauthorised use may be unlawful and
> may contain material protected by the Official Secrets Act (Cap 153) of the
> Laws of Brunei Darussalam. DISCLAIMER: We/This Department/The Government of
> Brunei Darussalam, accept[s] no responsibility for loss or damage arising
> from the use of this message in any manner whatsoever. Our messages are
> checked for viruses but we do not accept liability for any viruses which
> may be transmitted in or with this message.
> _______________________________________________
> vala-list mailing list
> [email protected]
> https://mail.gnome.org/mailman/listinfo/vala-list
>
_______________________________________________
vala-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to