pidgin/pidgin

Make sure we remove all the files we install.
release-2.x.y
2021-04-11, Gary Kramlich
5407cbf3c5dd
Make sure we remove all the files we install.

Patch was provided by Johann Lochner.

Testing Done:
Build and ran the installer and uninstaller and verified that `C:\Program Files (x86)\Pidgin` was empty and therefore removed.

Bugs closed: PIDGIN-17515

Reviewed at https://reviews.imfreedom.org/r/612/
TYPEMAP
guint T_IV
gint T_IV
const gint * T_PTR
const guint * T_PTR
const guint8 * T_PTR
guint8 T_IV
guint8 * T_PTR
time_t T_IV
gboolean T_BOOL
gpointer T_PurpleObj
gconstpointer T_PTR
const gchar * T_PV
const char * T_PV
const char ** T_PTR
char ** T_PTR
gchar T_IV
gchar * T_PV
gchar_own * T_GCHAR_OWN
guchar T_IV
guchar * T_PV
guchar ** T_PTR
const guchar * T_PV
char * T_PV
int * T_PTR
long * T_PTR
size_t * T_PTR
GCallback T_PTR
va_list T_PTR
GString * T_PTR
GData * T_PTR
GData ** T_PTR
const unsigned char * T_PV
struct tm * T_PTR
const struct tm * T_PTR
xmlnode * T_PTR
const xmlnode * T_PTR
gssize T_IV
const void * T_PTR
Purple::Account T_PurpleObj
Purple::Account::Option T_PurpleObj
Purple::Account::UserSplit T_PurpleObj
Purple::Buddy::Icon T_PurpleObj
Purple::Buddy::Icon::Spec T_PurpleObj
Purple::BuddyList T_PurpleObj
Purple::BuddyList::Buddy T_PurpleObj
Purple::BuddyList::Chat T_PurpleObj
Purple::BuddyList::Contact T_PurpleObj
Purple::BuddyList::Group T_PurpleObj
Purple::BuddyList::Node T_PurpleObj
Purple::BuddyList::NodeFlags T_IV
Purple::BuddyList::NodeType T_IV
Purple::Cipher T_PurpleObj
Purple::CipherCaps T_IV
Purple::Cipher::Ops T_PurpleObj
Purple::Cipher::Context T_PurpleObj
Purple::Cmd::Flag T_IV
Purple::Cmd::Id T_IV
Purple::Cmd::Priority T_IV
Purple::Cmd::Ret T_IV
Purple::Connection T_PurpleObj
Purple::Conversation T_PurpleObj
Purple::Conversation::Chat T_PurpleObj
Purple::Conversation::ChatBuddy T_PurpleObj
Purple::Conversation::IM T_PurpleObj
Purple::Core T_PurpleObj
Purple::Desktop::Item T_PurpleObj
Purple::DesktopItemType T_IV
Purple::Handle T_PurpleObj
Purple::IconScaleRules T_IV
Purple::Log T_PurpleObj
Purple::LogType T_IV
Purple::Log::CommonLoggerData T_PurpleObj
Purple::Log::Logger T_PurpleObj
Purple::Log::ReadFlags T_PurpleObj
Purple::Log::Set T_PurpleObj
Purple::Menu::Action T_PurpleObj
Purple::NetworkListenData T_PurpleObj
Purple::NetworkListenCallback T_PTR
Purple::NotifyCloseCallback T_PTR
Purple::NotifyMsgType T_IV
Purple::NotifySearchButtonType T_IV
Purple::NotifySearchResults T_PurpleObj
Purple::NotifySearchColumn T_PurpleObj
Purple::NotifySearchButton T_PurpleObj
Purple::NotifyType T_IV
Purple::NotifyUserInfo T_PurpleObj
Purple::NotifyUserInfoEntry T_PurpleObj
Purple::Plugin T_PurpleObj
Purple::PluginType T_IV
Purple::PluginUiInfo T_PurpleObj
Purple::Plugin::Action T_PurpleObj
Purple::Plugin::Info T_PurpleObj
Purple::Plugin::Loader::Info T_PurpleObj
Purple::Plugin::Protocol::Info T_PurpleObj
Purple::PrefType T_IV
Purple::PluginPref T_PurpleObj
Purple::PluginPrefType T_IV
Purple::PluginPref::Frame T_PurpleObj
Purple::Pounce T_PurpleObj
Purple::PounceEvent T_IV
Purple::Presence T_PurpleObj
Purple::PrivacyType T_IV
Purple::ProtocolOptions T_IV
Purple::ProxyInfo T_PurpleObj
Purple::ProxyType T_IV
Purple::RequestFieldType T_IV
Purple::RequestType T_IV
Purple::Request::Field T_PurpleObj
Purple::Request::Fields T_PurpleObj
Purple::Request::Field::Group T_PurpleObj
Purple::Roomlist T_PurpleObj
Purple::Roomlist::Room T_PurpleObj
Purple::Roomlist::Field T_PurpleObj
Purple::RoomlistFieldType T_IV
Purple::RoomlistRoomType T_IV
Purple::SavedStatus T_PurpleObj
const Purple::SavedStatus T_PurpleObj
Purple::SavedStatus::Sub T_PurpleObj
const Purple::SavedStatus::Sub T_PurpleObj
Purple::SoundEventID T_IV
Purple::Input::Condition T_PurpleObj
Purple::SslErrorType T_IV
Purple::Ssl::Connection T_PurpleObj
Purple::Ssl::Ops T_PurpleObj
Purple::Presence T_PurpleObj
Purple::PresenceContext T_IV
Purple::Smiley T_PurpleObj
Purple::Status T_PurpleObj
Purple::StatusAttr T_PurpleObj
Purple::StatusPrimitive T_IV
Purple::StatusType T_PurpleObj
const Purple::StatusType T_PurpleObj
Purple::StoredImage T_PurpleObj
Purple::String::Format::Type T_IV
Purple::Stringref T_PurpleObj
Purple::Util::FetchUrlData T_PTR
Purple::Util::InfoFieldFormatCallback T_PTR
Purple::Value T_PurpleObj
Purple::Xfer T_PurpleObj
Purple::XferType T_IV
Purple::XferStatusType T_IV
Purple::XMLNode T_PurpleObj
XMLNode::Type T_IV
/* enums */
/* certificate.h */
Purple::Certificate T_PurpleObj
Purple::Certificate::Pool T_PurpleObj
Purple::Certificate::Scheme T_PurpleObj
Purple::Certificate::Verifier T_PurpleObj
Purple::Certificate::VerificationRequest T_PurpleObj
Purple::Certificate::VerificationStatus T_IV
/* cipher.h */
Purple::Cipher::BatchMode T_IV
/* blist.h */
/* debug.h */
Purple::DebugLevel T_IV
/* conversation.h */
Purple::ConvChatBuddyFlags T_IV
Purple::ConvUpdateType T_IV
Purple::ConversationType T_IV
Purple::MessageFlags T_IV
Purple::TypingState T_IV
Purple::UnseenState T_IV
/* connection.h */
Purple::ConnectionFlags T_IV
Purple::ConnectionState T_IV
/* whiteboard.h */
Purple::Whiteboard T_PurpleObj
INPUT
T_PurpleObj
$var = purple_perl_ref_object($arg)
OUTPUT
T_PurpleObj
$arg = purple_perl_bless_object($var, \"$type\");
T_GCHAR_OWN
/* used when we can directly own the returned string. */
/* we have to copy in the case when perl's malloc != gtk's malloc,
* so best copy all the time. */
sv_setpv ((SV*)$arg, $var);
SvUTF8_on ($arg);
g_free ($var);