# HG changeset patch # User Elliott Sales de Andrade # Date 1278200930 0 # Node ID f55609d9bea5fc6a83108388f90adcb2c79d1512 # Parent 28df1fdba52ef7cbee8232617ff9af842e985d3f# Parent 8c1a2ef5a71375aff3926653a2790a4343b54f5f merge of '9e21ee2eab363a8afc2552ab67c23b90a88d7553' and 'ab6bb200fc9274b04542f7161ebc2f03db5b1585' diff -r 28df1fdba52e -r f55609d9bea5 ChangeLog --- a/ChangeLog Sat Jul 03 03:01:08 2010 +0000 +++ b/ChangeLog Sat Jul 03 23:48:50 2010 +0000 @@ -1,6 +1,11 @@ Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul version 2.7.2 (??/??/????): + General: + * Use silent build rules for automake >1.11. You can enable verbose + builds with the --disable-silent-rules configure option, or using + make V=1. + libpurple: * Fix the TURN server settings (broken in 2.7.0). diff -r 28df1fdba52e -r f55609d9bea5 Makefile.am --- a/Makefile.am Sat Jul 03 03:01:08 2010 +0000 +++ b/Makefile.am Sat Jul 03 23:48:50 2010 +0000 @@ -100,18 +100,18 @@ # creates, and also make sure that the shell command exits # successfully; the rm -f ensures both package_revision_raw.txt: - REAL_BLDDIR=$$PWD/$(top_builddir); \ + $(AM_V_GEN)REAL_BLDDIR=$$PWD/$(top_builddir); \ (cd $(srcdir) && $$REAL_BLDDIR/mtn --root=. automate get_base_revision_id) 2>/dev/null >$@ \ || (cd $(srcdir) && mtn --root=. automate get_base_revision_id) 2>/dev/null >$@ \ || rm -f $@ package_revision.h: package_revision_raw.txt - if test -f $<; then \ + $(AM_V_GEN)if test -f $<; then \ echo "#define REVISION \"`cat $<`\"" > $@; \ fi - if test ! -f $@ -a -f $(srcdir)/$@; then \ + $(AM_V_at)if test ! -f $@ -a -f $(srcdir)/$@; then \ cp $(srcdir)/$@ $@; \ fi - test -f $@ || echo "#define REVISION \"unknown\"" > $@ + $(AM_V_at)test -f $@ || echo "#define REVISION \"unknown\"" > $@ # This is a magic directive copy-and-pasted, then modified, from the # automake 1.9 manual, section 13.4, "Checking the distribution". diff -r 28df1fdba52e -r f55609d9bea5 configure.ac --- a/configure.ac Sat Jul 03 03:01:08 2010 +0000 +++ b/configure.ac Sat Jul 03 23:48:50 2010 +0000 @@ -75,6 +75,8 @@ AC_CANONICAL_HOST AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE([1.9 -Wno-portability dist-bzip2]) +dnl TODO: Always use AM_SILENT_RULES when we depend on automake >= 1.11 +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) PURPLE_MAJOR_VERSION=purple_major_version PURPLE_MINOR_VERSION=purple_minor_version diff -r 28df1fdba52e -r f55609d9bea5 libpurple/Makefile.am --- a/libpurple/Makefile.am Sat Jul 03 03:01:08 2010 +0000 +++ b/libpurple/Makefile.am Sat Jul 03 23:48:50 2010 +0000 @@ -170,13 +170,11 @@ purple_builtheaders = purple.h version.h marshallers.h marshallers.h: marshallers.list - @echo "Generating marshallers.h" - $(GLIB_GENMARSHAL) --prefix=purple_smarshal $(srcdir)/marshallers.list --header > marshallers.h + $(AM_V_GEN)$(GLIB_GENMARSHAL) --prefix=purple_smarshal $(srcdir)/marshallers.list --header > marshallers.h marshallers.c: marshallers.list marshallers.h - @echo "Generating marshallers.c" - echo "#include \"marshallers.h\"" > marshallers.c - $(GLIB_GENMARSHAL) --prefix=purple_smarshal $(srcdir)/marshallers.list --body >> marshallers.c + $(AM_V_GEN)echo "#include \"marshallers.h\"" > marshallers.c + $(AM_V_at)$(GLIB_GENMARSHAL) --prefix=purple_smarshal $(srcdir)/marshallers.list --body >> marshallers.c if ENABLE_DBUS @@ -212,16 +210,16 @@ $(srcdir)/protocols/jabber/libxmpp.c dbus-types.c: dbus-analyze-types.py $(purple_build_coreheaders) - cat $(purple_build_coreheaders) | $(PYTHON) $(srcdir)/dbus-analyze-types.py --pattern=PURPLE_DBUS_DEFINE_TYPE\(%s\) > $@ + $(AM_V_GEN)cat $(purple_build_coreheaders) | $(PYTHON) $(srcdir)/dbus-analyze-types.py --pattern=PURPLE_DBUS_DEFINE_TYPE\(%s\) > $@ dbus-types.h: dbus-analyze-types.py $(purple_build_coreheaders) - cat $(purple_build_coreheaders) | $(PYTHON) $(srcdir)/dbus-analyze-types.py --pattern=PURPLE_DBUS_DECLARE_TYPE\(%s\) > $@ + $(AM_V_GEN)cat $(purple_build_coreheaders) | $(PYTHON) $(srcdir)/dbus-analyze-types.py --pattern=PURPLE_DBUS_DECLARE_TYPE\(%s\) > $@ dbus-bindings.c: dbus-analyze-functions.py $(dbus_exported) - cat $(dbus_build_exported) | $(PYTHON) $(srcdir)/dbus-analyze-functions.py > $@ + $(AM_V_GEN)cat $(dbus_build_exported) | $(PYTHON) $(srcdir)/dbus-analyze-functions.py > $@ dbus-signals.c: dbus-analyze-signals.py $(dbus_signals) - cat $(dbus_signals) | $(PYTHON) $(srcdir)/dbus-analyze-signals.py > $@ + $(AM_V_GEN)cat $(dbus_signals) | $(PYTHON) $(srcdir)/dbus-analyze-signals.py > $@ dbus-server.$(OBJEXT): dbus-bindings.c dbus-signals.c dbus-types.c dbus-types.h dbus-server.lo: dbus-bindings.c dbus-signals.c dbus-types.c dbus-types.h @@ -236,11 +234,11 @@ libpurple_client_la_LIBADD = $(DBUS_LIBS) purple-client-bindings.c: dbus-analyze-functions.py $(dbus_exported) - cat $(dbus_build_exported) | $(PYTHON) $(srcdir)/dbus-analyze-functions.py --client > $@ + $(AM_V_GEN)cat $(dbus_build_exported) | $(PYTHON) $(srcdir)/dbus-analyze-functions.py --client > $@ purple-client-bindings.h: dbus-analyze-types.py dbus-analyze-functions.py $(purple_coreheaders) $(addprefix media/, $(purple_mediaheaders)) $(purple_builtheaders) $(dbus_exported) - cat $(purple_build_coreheaders) | $(PYTHON) $(srcdir)/dbus-analyze-types.py --keyword=enum --verbatim > $@ - cat $(dbus_build_exported) | $(PYTHON) $(srcdir)/dbus-analyze-functions.py --client --headers >> $@ + $(AM_V_GEN)cat $(purple_build_coreheaders) | $(PYTHON) $(srcdir)/dbus-analyze-types.py --keyword=enum --verbatim > $@ + $(AM_V_at)cat $(dbus_build_exported) | $(PYTHON) $(srcdir)/dbus-analyze-functions.py --client --headers >> $@ $(libpurple_client_la_OBJECTS): purple-client-bindings.h purple-client-bindings.c diff -r 28df1fdba52e -r f55609d9bea5 libpurple/protocols/msn/slplink.c --- a/libpurple/protocols/msn/slplink.c Sat Jul 03 03:01:08 2010 +0000 +++ b/libpurple/protocols/msn/slplink.c Sat Jul 03 23:48:50 2010 +0000 @@ -214,11 +214,16 @@ slplink->swboard = NULL; } - /* The slplink has no slpcalls in it, release it from the DC. */ - if (slplink->slp_calls == NULL && slplink->dc != NULL) { - slplink->dc->slplink = NULL; - msn_dc_destroy(slplink->dc); - slplink->dc = NULL; + if (slplink->dc != NULL) { + if ((slplink->dc->state != DC_STATE_ESTABLISHED && slplink->dc->slpcall == slpcall) + || (slplink->slp_calls == NULL)) { + /* The DC is not established and its corresponding slpcall is dead, + * or the slplink has no slpcalls in it and no longer needs the DC. + */ + slplink->dc->slplink = NULL; + msn_dc_destroy(slplink->dc); + slplink->dc = NULL; + } } }