Mercurial > pidgin
view libpurple/plugins/Makefile.am @ 29685:6797736dbe37
Does anyone know the purpose of the ui_write, ui_read and data_not_sent
FT UI callbacks? It looks like they allow a UI to decide how to safe
incoming file transfers? They're not used in Pidgin or Finch. Are
they used elsewhere?
Valgrind is complaining about an invalid free. I think it happens either
when the local user cancels a file transfer or when the remote user
cancels a file transfer. I think this change fixes it.
Revision fa4ce539e5025eb07aad3ca824cd4c512010d8a8 is related to these
callbacks and to this change by foufou33@ gee male dot com
The valgrind error is:
==23064== Invalid free() / delete / delete[]
==23064== at 0x4C24D68: free (vg_replace_malloc.c:325)
==23064== by 0x9293209: g_array_free (in /lib/libglib-2.0.so.0.2200.3)
==23064== by 0x95B1995: purple_xfer_priv_data_destroy (ft.c:71)
==23064== by 0x92AA5D1: ??? (in /lib/libglib-2.0.so.0.2200.3)
==23064== by 0x92AAE17: g_hash_table_remove_all (in /lib/libglib-2.0.so.0.2200.3)
==23064== by 0x92AAFC4: g_hash_table_destroy (in /lib/libglib-2.0.so.0.2200.3)
==23064== by 0x95B579C: purple_xfers_uninit (ft.c:1642)
==23064== by 0x95ACF08: purple_core_quit (core.c:238)
==23064== by 0x43EB3E: gtk_blist_delete_cb (gtkblist.c:227)
==23064== by 0x6F9A727: ??? (in /usr/lib/libgtk-x11-2.0.so.0.1800.3)
==23064== Address 0x2355f0e0 is not stack'd, malloc'd or (recently) free'd
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Tue, 06 Apr 2010 09:52:27 +0000 |
parents | 48148e688ad1 |
children |
line wrap: on
line source
DIST_SUBDIRS = mono perl ssl tcl if USE_PERL PERL_DIR = perl endif if USE_TCL TCL_DIR = tcl endif if ENABLE_DBUS DBUS_LTLIB = dbus-example.la endif if USE_MONO MONO_DIR = mono endif SUBDIRS = \ $(MONO_DIR) \ $(PERL_DIR) \ ssl \ $(TCL_DIR) plugindir = $(libdir)/purple-$(PURPLE_MAJOR_VERSION) autoaccept_la_LDFLAGS = -module -avoid-version buddynote_la_LDFLAGS = -module -avoid-version ciphertest_la_LDFLAGS = -module -avoid-version codeinline_la_LDFLAGS = -module -avoid-version debug_example_la_LDFLAGS = -module -avoid-version helloworld_la_LDFLAGS = -module -avoid-version idle_la_LDFLAGS = -module -avoid-version joinpart_la_LDFLAGS = -module -avoid-version log_reader_la_LDFLAGS = -module -avoid-version newline_la_LDFLAGS = -module -avoid-version notify_example_la_LDFLAGS = -module -avoid-version offlinemsg_la_LDFLAGS = -module -avoid-version one_time_password_la_LDFLAGS = -module -avoid-version pluginpref_example_la_LDFLAGS = -module -avoid-version psychic_la_LDFLAGS = -module -avoid-version signals_test_la_LDFLAGS = -module -avoid-version simple_la_LDFLAGS = -module -avoid-version statenotify_la_LDFLAGS = -module -avoid-version # this can't be in a conditional otherwise automake 1.4 yells dbus_example_la_LDFLAGS = -module -avoid-version if PLUGINS plugin_LTLIBRARIES = \ autoaccept.la \ buddynote.la \ idle.la \ joinpart.la \ log_reader.la \ newline.la \ offlinemsg.la \ psychic.la \ statenotify.la \ $(DBUS_LTLIB) noinst_LTLIBRARIES = \ ciphertest.la \ codeinline.la \ debug_example.la \ helloworld.la \ notify_example.la \ one_time_password.la \ pluginpref_example.la \ signals_test.la \ simple.la autoaccept_la_SOURCES = autoaccept.c buddynote_la_SOURCES = buddynote.c ciphertest_la_SOURCES = ciphertest.c codeinline_la_SOURCES = codeinline.c debug_example_la_SOURCES = debug_example.c helloworld_la_SOURCES = helloworld.c idle_la_SOURCES = idle.c joinpart_la_SOURCES = joinpart.c log_reader_la_SOURCES = log_reader.c newline_la_SOURCES = newline.c notify_example_la_SOURCES = notify_example.c offlinemsg_la_SOURCES = offlinemsg.c one_time_password_la_SOURCES = one_time_password.c pluginpref_example_la_SOURCES = pluginpref_example.c psychic_la_SOURCES = psychic.c signals_test_la_SOURCES = signals-test.c simple_la_SOURCES = simple.c statenotify_la_SOURCES = statenotify.c autoaccept_la_LIBADD = $(GLIB_LIBS) buddynote_la_LIBADD = $(GLIB_LIBS) ciphertest_la_LIBADD = $(GLIB_LIBS) codeinline_la_LIBADD = $(GLIB_LIBS) idle_la_LIBADD = $(GLIB_LIBS) joinpart_la_LIBADD = $(GLIB_LIBS) log_reader_la_LIBADD = $(GLIB_LIBS) newline_la_LIBADD = $(GLIB_LIBS) notify_example_la_LIBADD = $(GLIB_LIBS) offlinemsg_la_LIBADD = $(GLIB_LIBS) one_time_password_la_LIBADD = $(GLIB_LIBS) pluginpref_example_la_LIBADD = $(GLIB_LIBS) psychic_la_LIBADD = $(GLIB_LIBS) signals_test_la_LIBADD = $(GLIB_LIBS) simple_la_LIBADD = $(GLIB_LIBS) statenotify_la_LIBADD = $(GLIB_LIBS) if ENABLE_DBUS CLEANFILES = dbus-example-bindings.c dbus_example_la_SOURCES = dbus-example.c dbus_example_la_LIBADD = $(GLIB_LIBS) $(DBUS_LIBS) .PHONY: always $(top_builddir)/libpurple/dbus-types.h: always cd $(@D) && $(MAKE) $(AM_MAKEFLAGS) $(@F) dbus-example-bindings.c: $(top_srcdir)/libpurple/dbus-analyze-functions.py $(dbus_example_la_SOURCES) cat $(srcdir)/$(dbus_example_la_SOURCES) | \ $(PYTHON) $(top_srcdir)/libpurple/dbus-analyze-functions.py --export-only > $@ $(dbus_example_la_OBJECTS) dbus-example.so: dbus-example-bindings.c $(top_builddir)/libpurple/dbus-types.h endif # ENABLE_DBUS endif # PLUGINS EXTRA_DIST = \ Makefile.mingw \ dbus-buddyicons-example.py \ filectl.c \ fortuneprofile.pl \ ipc-test-client.c \ ipc-test-server.c \ startup.py AM_CPPFLAGS = \ -DDATADIR=\"$(datadir)\" \ -I$(top_srcdir)/libpurple \ -I$(top_builddir)/libpurple \ $(DEBUG_CFLAGS) \ $(GLIB_CFLAGS) \ $(PLUGIN_CFLAGS) \ $(DBUS_CFLAGS) # # This part allows people to build their own plugins in here. # Yes, it's a mess. # SUFFIXES = .c .so .c.so: $(LIBTOOL) --mode=compile $(CC) -DHAVE_CONFIG_H -I$(top_builddir) $(AM_CPPFLAGS) $(CFLAGS) -c $< -o tmp$@.lo $(PLUGIN_CFLAGS) $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -o libtmp$@.la -rpath $(plugindir) tmp$@.lo $(LIBS) $(LDFLAGS) -module -avoid-version $(PLUGIN_LIBS) @rm -f tmp$@.lo tmp$@.o libtmp$@.la @cp .libs/libtmp$@*.so $@ @rm -rf .libs/libtmp$@.*