Re: [Vala] Modifying a Gtk.Entry's value on the fly



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 <norjaidi tuah ubd edu bn>
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
vala-list gnome org
https://mail.gnome.org/mailman/listinfo/vala-list



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]