Am Mittwoch, den 30.12.2009, 04:54 +1100 schrieb Patrick Shirkey: > > Thanks. That's a nicer way of doing things but this call segfaults > > pango_layout_new(style->font_desc) > > gcc tells me this: > > note: expected ‘struct PangoContext *’ but argument is of type ‘struct > PangoFontDescription *’ > > I have replaced it with this: > > pl = pango_layout_new(gtk_widget_get_pango_context(widget)); > Ah, okay, I didn't really use pango_layout_new, were for do you use it ? You have already set the Font style, why don't simply label it ? Do you use the rect afterwards ?
> > But still get a memory leak. This makes it happen faster than the > previous method I was using. Back down to a couple of minutes before I > see the leak from 10 previously. > > > > > Patrick Shirkey > Boost Hardware Ltd > > > > > > > Am Mittwoch, den 30.12.2009, 01:18 +1100 schrieb Patrick Shirkey: > > > >> Hi, > >> > >> I have some code in gtk2 that is leaking and I can't fix it. Over the > >> past two nights I have managed to get the leak down from 200MB/minute to > >> 200MB/10 minutes but I can't get rid of it completely. It's annoying > >> because it increments in 200MB blocks so I have to wait for up to 10 > >> mins to see if it is fixed or not. I have tried valgrind but it doesn't > >> really like jack and did not give me any useful output. I have traced > >> the leak through normal debugging and have verified that it does not > >> happen if I disable this offending code. > >> > >> This code is run in the widgets realize event and the event is triggered > >> every 500ms. > >> > >> > >> PangoContext *pc = gtk_widget_get_pango_context(widget); > >> PangoLayout *pl; > >> PangoFontDescription *pfd; > >> PangoRectangle rect; > >> > >> pfd = pango_font_description_new(); > >> pango_font_description_set_family(pfd, "sans"); > >> pango_font_description_set_size(pfd, 8 * PANGO_SCALE); > >> pango_context_set_font_description(pc, pfd); > >> pl = pango_layout_new(pc); > >> pango_layout_set_text(pl, "99", -1); > >> pango_layout_get_pixel_extents(pl,&rect, NULL); > >> > >> pango_font_description_free(pfd); > >> g_object_unref(pc); > >> > >> > >> If I add another > >> > >> g_object_unref(pl) ; > >> > >> > >> The app code will compile but when I run it I get this segfault: > >> > >> *** glibc detected *** ./src/jackeq: free(): invalid pointer: > >> 0x0000000001b87a60 *** > >> > >> > >> I can have one g_object_unref for either pl or pc without segfaulting > >> but not both. > >> > >> > >> I'm pretty sure this is the last leak I have to catch for the merged > >> gtkmeter.c/gtkmeterscale.c and I can't release jackeq until it is fixed. > >> Any assistance with this one is appreciated. > >> > >> > >> Cheers. > >> > >> > > > _______________________________________________ > Linux-audio-dev mailing list > [email protected] > http://lists.linuxaudio.org/listinfo/linux-audio-dev _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/listinfo/linux-audio-dev
