pidgin/pidgin

Fix a crash on shutdown in kwallet if the wallet was never opened.

The wallet instance variable was not initialized so if the wallet was never opened we were trying to delete and invalid pointer.

Also update the dispose method of the provider to close the wallet as the
tasks in the queue hold a reference to the provider instance as the source
object in their tasks.

Testing Done:
Ran locally with both the kwallet and secret service providers.

Reviewed at https://reviews.imfreedom.org/r/581/
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<bookinfo>
<title>Purple Reference Manual</title>
<abstract>
<title>Libpurple &version;</title>
<para>
libpurple is intended to be the core of an IM program. Pidgin is a GTK+
frontend to libpurple, and Finch is an ncurses frontend built using
libgnt (GLib Ncurses Toolkit).
</para>
</abstract>
</bookinfo>
<part id="development">
<title>Development</title>
<xi:include href="mercurial.xml" />
<xi:include href="code_contributions.xml" />
</part>
<part id="tutorial">
<title>Tutorials</title>
<xi:include href="tut_c_plugins.xml" />
<xi:include href="tut_signals.xml" />
</part>
<part id="API">
<title>API Reference</title>
<xi:include href="xml/account.xml" />
<xi:include href="xml/accounts.xml" />
<xi:include href="xml/action.xml" />
<xi:include href="xml/blistnode.xml" />
<xi:include href="xml/buddy.xml" />
<xi:include href="xml/buddylist.xml" />
<xi:include href="xml/buddyicon.xml" />
<xi:include href="xml/chat.xml" />
<xi:include href="xml/circularbuffer.xml" />
<xi:include href="xml/contact.xml" />
<xi:include href="xml/connection.xml" />
<xi:include href="xml/conversation.xml" />
<xi:include href="xml/conversationtypes.xml" />
<xi:include href="xml/conversations.xml" />
<xi:include href="xml/countingnode.xml" />
<xi:include href="xml/debug.xml" />
<xi:include href="xml/eventloop.xml" />
<xi:include href="xml/group.xml" />
<xi:include href="xml/xfer.xml" />
<xi:include href="xml/idle.xml" />
<xi:include href="xml/keyring.xml" />
<xi:include href="xml/memorypool.xml" />
<xi:include href="xml/nat-pmp.xml" />
<xi:include href="xml/network.xml" />
<xi:include href="xml/notify.xml" />
<xi:include href="xml/plugins.xml" />
<xi:include href="xml/prefs.xml" />
<xi:include href="xml/pluginpref.xml" />
<xi:include href="xml/protocol.xml" />
<xi:include href="xml/protocols.xml" />
<xi:include href="xml/proxy.xml" />
<xi:include href="xml/purple-gio.xml" />
<xi:include href="xml/purpleaccountoption.xml" />
<xi:include href="xml/purpleaccountpresence.xml" />
<xi:include href="xml/purpleaccountusersplit.xml" />
<xi:include href="xml/purpleattentiontype.xml" />
<xi:include href="xml/purplebuddypresence.xml" />
<xi:include href="xml/purplechatuser.xml" />
<xi:include href="xml/purplecredentialmanager.xml" />
<xi:include href="xml/purplecredentialprovider.xml" />
<xi:include href="xml/purpleimconversation.xml" />
<xi:include href="xml/purplekeyvaluepair.xml" />
<xi:include href="xml/purplemarkup.xml" />
<xi:include href="xml/purplenoopcredentialprovider.xml" />
<xi:include href="xml/purpleoptions.xml" />
<xi:include href="xml/purplepresence.xml" />
<xi:include href="xml/purpleprotocolattention.xml" />
<xi:include href="xml/purpleprotocolchat.xml" />
<xi:include href="xml/purpleprotocolclient.xml" />
<xi:include href="xml/purpleprotocolfactory.xml" />
<xi:include href="xml/purpleprotocolim.xml" />
<xi:include href="xml/purpleprotocolmanager.xml" />
<xi:include href="xml/purpleprotocolmedia.xml" />
<xi:include href="xml/purpleprotocolprivacy.xml" />
<xi:include href="xml/purpleprotocolserver.xml" />
<xi:include href="xml/purplewhiteboard.xml" />
<xi:include href="xml/purplewhiteboardops.xml" />
<xi:include href="xml/purplewhiteboarduiops.xml" />
<xi:include href="xml/purpleuiinfo.xml" />
<xi:include href="xml/queuedoutputstream.xml" />
<xi:include href="xml/signals.xml" />
<xi:include href="xml/request.xml" />
<xi:include href="xml/request-datasheet.xml" />
<xi:include href="xml/roomlist.xml" />
<xi:include href="xml/savedstatuses.xml" />
<xi:include href="xml/server.xml" />
<xi:include href="xml/core.xml" />
<xi:include href="xml/status.xml" />
<xi:include href="xml/stun.xml" />
<xi:include href="xml/theme.xml" />
<xi:include href="xml/theme-loader.xml" />
<xi:include href="xml/theme-manager.xml" />
<xi:include href="xml/trie.xml" />
<xi:include href="xml/upnp.xml" />
<xi:include href="xml/xmlnode.xml" />
<xi:include href="xml/version.xml" />
<xi:include href="xml/util.xml" />
<xi:include href="xml/enums.xml" />
</part>
<part id="Submodules">
<title>Submodules</title>
<chapter id="messages">
<title>Messaging</title>
<xi:include href="xml/purplemessage.xml" />
<xi:include href="xml/purpleattachment.xml" />
<xi:include href="xml/log.xml" />
<xi:include href="xml/cmds.xml" />
</chapter>
<chapter id="smiley">
<title>Smiley APIs</title>
<xi:include href="xml/smiley.xml" />
<xi:include href="xml/smiley-custom.xml" />
<xi:include href="xml/smiley-list.xml" />
<xi:include href="xml/smiley-theme.xml" />
<xi:include href="xml/smiley-parser.xml" />
</chapter>
<chapter id="image">
<title>Graphics</title>
<xi:include href="xml/image.xml" />
<xi:include href="xml/image-store.xml" />
</chapter>
<chapter id="media">
<title>Media APIs</title>
<xi:include href="xml/media.xml" />
<xi:include href="xml/media-gst.xml" />
<xi:include href="xml/mediamanager.xml" />
<xi:include href="xml/candidate.xml" />
<xi:include href="xml/codec.xml" />
<xi:include href="xml/backend-iface.xml" />
<xi:include href="xml/enum-types.xml" />
</chapter>
</part>
<part id="signals">
<title>Purple-signals Reference</title>
<xi:include href="signals_account.xml" />
<xi:include href="signals_blist.xml" />
<xi:include href="signals_certificate.xml" />
<xi:include href="signals_cmd.xml" />
<xi:include href="signals_connection.xml" />
<xi:include href="signals_conversation.xml" />
<xi:include href="signals_core.xml" />
<xi:include href="signals_xfer.xml" />
<xi:include href="signals_log.xml" />
<xi:include href="signals_notify.xml" />
<xi:include href="signals_plugin.xml" />
<xi:include href="signals_protocol.xml" />
<xi:include href="signals_savedstatus.xml" />
<xi:include href="signals_jabber.xml" />
</part>
<xi:include href="plugin_ids.xml" />
<xi:include href="plugin_i18n.xml" />
<xi:include href="ui_ops.xml" />
<part>
<title>Appendices</title>
<index id="api-index-full">
<title>API Index</title>
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
</index>
<index id="api-deprecated">
<title>Index of deprecated symbols</title>
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
<index id="api-3.0.0">
<title>Index of new symbols in 3.0.0</title>
<xi:include href="xml/api-index-3.0.0.xml"><xi:fallback /></xi:include>
</index>
<index id="api-2.14.0">
<title>Index of new symbols in 2.14.0</title>
<xi:include href="xml/api-index-2.14.0.xml"><xi:fallback /></xi:include>
</index>
<index id="api-2.13.0">
<title>Index of new symbols in 2.13.0</title>
<xi:include href="xml/api-index-2.13.0.xml"><xi:fallback /></xi:include>
</index>
<index id="api-2.11.0">
<title>Index of new symbols in 2.11.0</title>
<xi:include href="xml/api-index-2.11.0.xml"><xi:fallback /></xi:include>
</index>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
</part>
</book>