[Buoh-dev] Propiedades



On jue, 2005-08-18 at 23:47 +0200, Carlos Garcia Campos wrote:

> > +       label_title = gtk_label_new (NULL);
> > +       markup = g_markup_printf_escaped ("<b>Title</b>");
> > +       gtk_label_set_markup (GTK_LABEL (label_title), markup);
> > +
> > +       label_author = gtk_label_new (NULL);
> > +       markup = g_markup_printf_escaped (_("<b>Author:</b>"));
> 
> leak
> 
> > +       gtk_label_set_markup (GTK_LABEL (label_author), markup);
> > +
> > +       label_uri = gtk_label_new (NULL);       
> > +       markup = g_markup_printf_escaped (_("<b>URI:</b>"));
> 
> leak
> 
> > +       gtk_label_set_markup (GTK_LABEL (label_uri), markup);
> > +
> > +       label_languaje = gtk_label_new (NULL);  
> > +       markup = g_markup_printf_escaped (_("<b>Languaje:</b>"));
> 
> leak
> 
> > +       gtk_label_set_markup (GTK_LABEL (label_languaje), markup);
> > +
> > +       g_free (markup);
> 
> cada vez que llamas a g_markup_printf_escaped se reserva memoria, la
> segunda vez que lo llamas reservas memoria y pierdes el puntero a la
> zona que reservaste con la primera llamada, con lo que no podr? ser
> liberada. Esto es otra consecuencia de lo que le dec?a el otro dia a
> esteban, es mejor liberar la memoria en cuanto no la necesitas.
ok, cuando hice esto dud? un poquillo.

>  
> 
> En este caso concreto ni siquiera es necesario la variable markup. La
> funci?n g_markup_printf_escaped se utiliza cuando las cadena contiene
> caracteres com <> y otros especiales, pero que no son del marcado de
> pango, sino que son de la propia cadena, supon que estas escribiendo una
> cadena xml o html. En nuestro caso puedes utilizar directamente
> gtk_label_set_markup (GTK_LABEL (label_uri), <b>cadena</b>) y no
> necesitas de una variable auxiliar.
> 
> La cadena URI no es muy user-friendly, la mayor?a de mis amigos no
> sabr?an lo que es. Por otro lado sabemos que la uri es siempre una
> direcci?n http por lo que podr?amos usar URL mas ampliamente utilizado,
> pero seguir?a siendo t?cnico. Quiz?s algo como direcci?n de internet o
> algo as?, no se. Como llaman vuestros padre/amigos a las urls?
vale, le he puesto "Link", a ver si os parece bien. De momento he dejado
comentado lo del ellipsize porque no me gusta como queda.

> 
> > +       
> > +       label_title_val    = gtk_label_new (buoh_comic_get_title
> > (comic));
> 
> leak
> 
> > +       label_author_val   = gtk_label_new (buoh_comic_get_author
> > (comic));
> 
> leak
> 
> > +       label_uri_val      = gtk_label_new (buoh_comic_get_uri
> > (comic));
> 
> leak
> 
> > +       label_languaje_val = gtk_label_new (buoh_comic_get_languaje
> > (comic));
> 
> leak
> 
> Cada vez que pides un atributo de una comic se te entrega una copia.
> Cuando estableces la etiqueta a un label si te fijas recibe con un const
> gchar * lo cual nos dice que el label copiar? la cadena que le des, pero
> no la modificar? y por tanto no la liberar?. Si no utilizas una variable
> auxiliar en este caso no podr?s liberar esa memoria, puesto que el
> puntero se lo estas entregando directamente a la funci?n.
amms, no se me habr?a ocurrido.



Ya cambi? lo del languaJe :). Ah? va el parche de nuevo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.diff
Type: text/x-patch
Size: 38471 bytes
Desc: not available
Url : http://forge.novell.com/pipermail/buoh-dev/attachments/20050819/a6c194ab/patch.bin


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