From 6df9b4bb7c81423285308224a17c364d57ba14e4 2018-11-06 17:19:05 From: Vitaly Takmazov Date: 2018-11-06 17:19:05 Subject: [PATCH] libpurple: load saved plugins from prefs.xml --- diff --git a/backends/libpurple/main.cpp b/backends/libpurple/main.cpp index 858adfc7159ae0606e92e4965f8959e31417b0bf..86425673c2dcb20b921e287cff4fe6a9dcdc744b 100644 --- a/backends/libpurple/main.cpp +++ b/backends/libpurple/main.cpp @@ -2253,6 +2253,7 @@ static bool initPurple() { purple_prefs_set_bool_wrapped("/purple/logging/log_chats", false); purple_prefs_set_bool_wrapped("/purple/logging/log_system", false); + purple_plugins_load_saved_wrapped("/spectrum/plugins/loaded"); // purple_signal_connect_wrapped(purple_conversations_get_handle_wrapped(), "received-im-msg", &conversation_handle, PURPLE_CALLBACK(newMessageReceived), NULL); purple_signal_connect_wrapped(purple_conversations_get_handle_wrapped(), "buddy-typing", &conversation_handle, PURPLE_CALLBACK(buddyTyping), NULL); diff --git a/backends/libpurple/purple_defs.cpp b/backends/libpurple/purple_defs.cpp index 626201c6a52b7274f75c126e88dbbebd662304e1..bb58301247ed7ce9d4ed4814a9dd1bd50a72bdce 100644 --- a/backends/libpurple/purple_defs.cpp +++ b/backends/libpurple/purple_defs.cpp @@ -115,6 +115,7 @@ purple_notify_user_info_entry_get_label_wrapped_fnc purple_notify_user_info_entr purple_notify_user_info_entry_get_value_wrapped_fnc purple_notify_user_info_entry_get_value_wrapped = NULL; purple_notify_set_ui_ops_wrapped_fnc purple_notify_set_ui_ops_wrapped = NULL; purple_plugins_add_search_path_wrapped_fnc purple_plugins_add_search_path_wrapped = NULL; +purple_plugins_load_saved_wrapped_fnc purple_plugins_load_saved_wrapped = NULL; purple_plugin_action_free_wrapped_fnc purple_plugin_action_free_wrapped = NULL; purple_prefs_load_wrapped_fnc purple_prefs_load_wrapped = NULL; purple_prefs_set_bool_wrapped_fnc purple_prefs_set_bool_wrapped = NULL; @@ -606,6 +607,10 @@ bool resolvePurpleFunctions() { purple_plugins_add_search_path_wrapped = (purple_plugins_add_search_path_wrapped_fnc)GetProcAddress(f_hPurple, "purple_plugins_add_search_path"); if (!purple_plugins_add_search_path_wrapped) return false; + + purple_plugins_load_saved_wrapped = (purple_plugins_load_saved_wrapped_fnc)GetProcAddress(f_hPurple, "purple_plugins_load_saved"); + if (!purple_plugins_load_saved_wrapped) + return false; purple_plugin_action_free_wrapped = (purple_plugin_action_free_wrapped_fnc)GetProcAddress(f_hPurple, "purple_plugin_action_free"); if (!purple_plugin_action_free_wrapped) diff --git a/backends/libpurple/purple_defs.h b/backends/libpurple/purple_defs.h index 89ee094792b5d65ef05388b1326808575784b3ac..c138a6a93deb87cc634585b992e84114dab81d00 100644 --- a/backends/libpurple/purple_defs.h +++ b/backends/libpurple/purple_defs.h @@ -362,6 +362,9 @@ extern purple_notify_set_ui_ops_wrapped_fnc purple_notify_set_ui_ops_wrapped; typedef void (_cdecl * purple_plugins_add_search_path_wrapped_fnc)(const char *path); extern purple_plugins_add_search_path_wrapped_fnc purple_plugins_add_search_path_wrapped; +typedef void (_cdecl * purple_plugins_load_saved_wrapped_fnc)(const char *key); +extern purple_plugins_load_saved_wrapped_fnc purple_plugins_load_saved_wrapped; + typedef void (_cdecl * purple_plugin_action_free_wrapped_fnc)(PurplePluginAction *action); extern purple_plugin_action_free_wrapped_fnc purple_plugin_action_free_wrapped; @@ -594,6 +597,7 @@ extern wpurple_g_io_channel_win32_new_socket_wrapped_fnc wpurple_g_io_channel_wi #define purple_notify_user_info_entry_get_value_wrapped purple_notify_user_info_entry_get_value #define purple_notify_set_ui_ops_wrapped purple_notify_set_ui_ops #define purple_plugins_add_search_path_wrapped purple_plugins_add_search_path +#define purple_plugins_load_saved_wrapped purple_plugins_load_saved #define purple_plugin_action_free_wrapped purple_plugin_action_free #define purple_prefs_load_wrapped purple_prefs_load #define purple_prefs_set_bool_wrapped purple_prefs_set_bool