Re: Problem with AtkText get_text offset arguments
- From: Ashutosh Sharma <ashusharma1980 yahoo co uk>
- To: gnome-accessibility-list gnome org
- Subject: Re: Problem with AtkText get_text offset arguments
- Date: Tue, 10 Feb 2004 08:57:50 +0000 (GMT)
That solved the problem Padraig. Thanks.
Warm regards,
Ashutosh
----- Original Message -----
From: "padraig o'briain" <Padraig Obriain Sun COM>
To: "Ashutosh Sharma" <ashusharma1980 yahoo co uk>
Cc: <gnome-accessibility-list gnome org>
Sent: Tuesday, February 10, 2004 2:13 PM
Subject: Re: Problem with AtkText get_text offset
arguments
Ashutosh,
The text returned by my_image_get_text() should be
freeable by a call to
g_free. Thus, you should return g_strdup (messg).
The convention is that if a function, e.g.
atk_object_get_name() retuyrns a
G_CONST gchar* then the value should not be freed. If
the function returns
just a gchar* the return value can be freed and
probably will be to avoid a
memory leak.
If this is not the cause of the problem can you send
me a stack trace of the
crash.
Padraig
Ashutosh Sharma wrote:
>
> Hi,
>
> I have defined a type implementing the AtkText
> interface. I have implemented only get_text() and
> get_character_count() for now. When atk_get_text
gets
> called, the arguments start_offset is 0 and
end_offset
> is -1. And if I try to return anything non-NULL, it
> crashes with a segmentation fault when I try to poke
> it with at-poke.
> What am I doing wrong? Do I have to implement the
> other functions too? What would be the minimal
> implementation required for it to work?
>
> When I poke the object, my_image_get_text() gets
> called first and then my_image_get_character_count.
Is
> this okay?
>
> Its atk_text_interface_init, the implementation of
the
> functions and the debugging output are as follows:
> ____________________________________________________
>
> static void atk_text_interface_init (AtkTextIface
> *iface)
> {
> fprintf(stderr, "Function:
> atk_text_interface_init\n");
>
> g_return_if_fail (iface !=ULL);
>
> iface->get_text =y_image_get_text;
> iface->get_character_count =
> my_image_get_character_count;
> }
> ____________________________________________________
>
> static gchar messg[] =Hello back there!";
>
> static gchar* my_image_get_text(AtkText *text, gint
> start_offset, gint end_offset)
> {
> fprintf(stderr, "Function:
> my_image_get_text\n");
> fprintf(stderr, "(my_image_get_text)
Request:
> start=, end=\n", start_offset, end_offset);
> fprintf(stderr, "(my_image_get_text) AtkText
> *text =u\n", text);
> if(start_offset > end_offset)
> return NULL;
> return messg;
> }
>
> static gint my_image_get_character_count (AtkText
> *text)
> {
> gint textlen;
>
> fprintf(stderr, "Function:
> my_image_get_character_count\n");
> textlen =trlen(messg);
> fprintf(stderr,
> "(my_image_get_character_count) Returning textlen =
> %d\n", textlen);
>
> return textlen;
> }
> ____________________________________________________
>
> Debugging output:
>
> Function: my_image_factory_class_init
> Function: my_image_factory_create_accessible
> (my_image_factory_create_accessible) widget =
> 135363816
> Function: my_image_new
> Function: my_image_get_type
> Function: my_image_class_init
> Function: atk_text_interface_init
> Function: my_image_instance_init
> Function: my_image_get_text
> (my_image_get_text) Request: start= end=
> (my_image_get_text) AtkText *text =35364608
> Function: my_image_get_character_count
> (my_image_get_character_count) Returning textlen =7
> ____________________________________________________
>
> Thanks.
>
> Regards,
> Ashutosh
>
>
>
>
>
___________________________________________________________
> BT Yahoo! Broadband - Free modem offer, sign up
online today and save £80
http://btyahoo.yahoo.co.uk
> _______________________________________________
> gnome-accessibility-list mailing list
> gnome-accessibility-list gnome org
>
http://mail.gnome.org/mailman/listinfo/gnome-accessibility-list
_______________________________________________
gnome-accessibility-list mailing list
gnome-accessibility-list gnome org
http://mail.gnome.org/mailman/listinfo/gnome-accessibility-list
Does your mail provider give you FREE antivirus protection?
Get Yahoo! Mail http://uk.mail.yahoo.com
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]