view finch/plugins/Makefile.am @ 16569:99bf55ec6ca4

Fix an invalid read that occurs because we were accessing IM data when the conversation was a chat. Here's the relevant valgrind output. ==18344== Invalid read of size 4 ==18344== at 0x8089DA1: update_typing_icon (gtkconv.c:3138) ==18344== by 0x8090742: pidgin_conv_update_fields (gtkconv.c:6081) ... ==18344== Address 0x107EADD0 is 12 bytes after a block of size 12 alloc'd ==18344== at 0x40056D5: calloc (vg_replace_malloc.c:279) ==18344== by 0x4D48EC4D: g_malloc0 (in /usr/lib/libglib-2.0.so.0.1200.4) ==18344== by 0x809149B: private_gtkconv_new (gtkconv.c:4608) ==18344== by 0x4056637: purple_conversation_new (conversation.c:324) ==18344== by 0x40785EB: serv_got_joined_chat (server.c:699) ==18344== by 0x493C813: irc_msg_join (msgs.c:722) ...
author Richard Laager <rlaager@wiktel.com>
date Sat, 28 Apr 2007 05:37:56 +0000
parents 42c6d1d81bec
children b93b9994dc2f
line wrap: on
line source

gntclipboard_la_LDFLAGS = -module -avoid-version
gntgf_la_LDFLAGS      = -module -avoid-version
gnthistory_la_LDFLAGS = -module -avoid-version
gntlastlog_la_LDFLAGS    = -module -avoid-version

if PLUGINS

plugin_LTLIBRARIES = \
	gntclipboard.la \
	gntgf.la \
	gnthistory.la \
	gntlastlog.la

plugindir = $(libdir)/finch

gntclipboard_la_SOURCES = gntclipboard.c
gntgf_la_SOURCES      = gntgf.c
gnthistory_la_SOURCES = gnthistory.c
gntlastlog_la_SOURCES = lastlog.c

gntclipboard_la_CFLAGS = $(X11_CFLAGS)
gntgf_la_CFLAGS = $(X11_CFLAGS)

gntclipboard_la_LIBADD = $(GLIB_LIBS) $(X11_LIBS)
gntgf_la_LIBADD       = $(GLIB_LIBS) $(X11_LIBS) $(top_builddir)/finch/libgnt/libgnt.la
gnthistory_la_LIBADD  = $(GLIB_LIBS)
gntlastlog_la_LIBADD  = $(GLIB_LIBS)

endif # PLUGINS

EXTRA_DIST = 

AM_CPPFLAGS = \
	-DDATADIR=\"$(datadir)\" \
	-DVERSION=\"$(VERSION)\" \
	-I$(top_builddir)/libpurple \
	-I$(top_srcdir)/libpurple \
	-I$(top_srcdir) \
	-I$(top_srcdir)/finch \
	-I$(top_srcdir)/finch/libgnt \
	$(DEBUG_CFLAGS) \
	$(GLIB_CFLAGS) \
	$(GNT_CFLAGS) \
	$(PLUGIN_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_srcdir) $(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 -f .libs/libtmp$@.*