diff options
-rw-r--r-- | libpurple/action.c | 21 | ||||
-rw-r--r-- | libpurple/action.h | 17 | ||||
-rw-r--r-- | libpurple/meson.build | 4 |
3 files changed, 15 insertions, 27 deletions
diff --git a/libpurple/action.c b/libpurple/action.c index bfa0a5757f..72b35d4249 100644 --- a/libpurple/action.c +++ b/libpurple/action.c @@ -49,12 +49,14 @@ void purple_action_menu_free(PurpleActionMenu *act) { g_return_if_fail(act != NULL); + purple_action_menu_set_children(act, NULL); + g_free(act->stock_icon); g_free(act->label); g_free(act); } -gchar * +const gchar * purple_action_menu_get_label(const PurpleActionMenu *act) { g_return_val_if_fail(act != NULL, NULL); @@ -83,10 +85,12 @@ purple_action_menu_get_children(const PurpleActionMenu *act) { } void -purple_action_menu_set_label(PurpleActionMenu *act, gchar *label) { +purple_action_menu_set_label(PurpleActionMenu *act, const gchar *label) { g_return_if_fail(act != NULL); - act-> label = label; + g_free(act->label); + + act->label = g_strdup(label); } void @@ -107,16 +111,9 @@ void purple_action_menu_set_children(PurpleActionMenu *act, GList *children) { g_return_if_fail(act != NULL); - act->children = children; -} + g_list_free_full(act->children, purple_action_menu_free); -void -purple_action_menu_set_stock_icon(PurpleActionMenu *act, const gchar *stock) { - g_return_if_fail(act != NULL); - - g_free(act->stock_icon); - - act->stock_icon = g_strdup(stock); + act->children = children; } const gchar * diff --git a/libpurple/action.h b/libpurple/action.h index 36b4ceb6b3..1450c38216 100644 --- a/libpurple/action.h +++ b/libpurple/action.h @@ -35,8 +35,8 @@ typedef void (*PurpleProtocolActionCallback)(PurpleProtocolAction *action); /** * PurpleActionMenu: * - * A generic structure that contains information about an "action." One - * place this is is used is by protocols to tell the core the list of available + * A generic structure that contains information about an "action". One + * place this is used is by protocols to tell the core the list of available * right-click actions for a buddy list row. */ typedef struct _PurpleActionMenu PurpleActionMenu; @@ -93,7 +93,7 @@ void purple_action_menu_free(PurpleActionMenu *act); * * Returns: The label string. */ -gchar *purple_action_menu_get_label(const PurpleActionMenu *act); +const gchar *purple_action_menu_get_label(const PurpleActionMenu *act); /** * purple_action_menu_get_callback: @@ -132,7 +132,7 @@ GList* purple_action_menu_get_children(const PurpleActionMenu *act); * * Set the label to the PurpleActionMenu. */ -void purple_action_menu_set_label(PurpleActionMenu *act, gchar *label); +void purple_action_menu_set_label(PurpleActionMenu *act, const gchar *label); /** * purple_action_menu_set_callback: @@ -162,15 +162,6 @@ void purple_action_menu_set_data(PurpleActionMenu *act, gpointer data); void purple_action_menu_set_children(PurpleActionMenu *act, GList *children); /** - * purple_action_menu_set_stock_icon: - * @act: The menu action. - * @stock: The stock icon identifier. - * - * Sets the icon for the PurpleActionMenu. - */ -void purple_action_menu_set_stock_icon(PurpleActionMenu *act, const gchar *stock); - -/** * purple_action_menu_get_stock_icon: * @act: The menu action. * diff --git a/libpurple/meson.build b/libpurple/meson.build index 9bb02ab820..dd5c06815d 100644 --- a/libpurple/meson.build +++ b/libpurple/meson.build @@ -2,8 +2,8 @@ purple_coresources = [ 'account.c', 'accounts.c', 'accountopt.c', - 'attention.c', 'action.c', + 'attention.c', 'blistnode.c', 'buddy.c', 'buddylist.c', @@ -85,8 +85,8 @@ purple_coreheaders = [ 'account.h', 'accounts.h', 'accountopt.h', - 'attention.h', 'action.h', + 'attention.h', 'blistnode.h', 'buddy.h', 'buddylist.h', |