pidgin/pidgin

Make signal and property enums and initializers consistent

3 months ago, Elliott Sales de Andrade
687260353985
Parents 8a8c571eb98c
Children 0e752027f115
Make signal and property enums and initializers consistent

Using empty braces `{}` as initializer breaks on MSVC, and some places didn't
even have an initializer.

Testing Done:
Compiled only.

Reviewed at https://reviews.imfreedom.org/r/2935/
  • +6 -5
    finch/gntmedia.c
  • +1 -1
    finch/gntplugin.c
  • +9 -12
    libpurple/blistnode.c
  • +2 -2
    libpurple/buddy.c
  • +3 -3
    libpurple/chat.c
  • +4 -4
    libpurple/circularbuffer.c
  • +3 -3
    libpurple/connection.c
  • +3 -3
    libpurple/contact.c
  • +3 -3
    libpurple/countingnode.c
  • +10 -10
    libpurple/group.c
  • +3 -3
    libpurple/image.c
  • +55 -53
    libpurple/media.c
  • +13 -17
    libpurple/media/backend-iface.c
  • +2 -1
    libpurple/media/candidate.c
  • +4 -4
    libpurple/media/codec.c
  • +16 -23
    libpurple/mediamanager.c
  • +3 -3
    libpurple/protocols/jabber/jingle/content.c
  • +3 -3
    libpurple/protocols/jabber/jingle/iceudp.c
  • +3 -3
    libpurple/protocols/jabber/jingle/rawudp.c
  • +3 -3
    libpurple/protocols/jabber/jingle/rtp.c
  • +3 -3
    libpurple/protocols/jabber/jingle/session.c
  • +1 -1
    libpurple/purpleaccount.c
  • +2 -2
    libpurple/purpleaccountpresence.c
  • +1 -1
    libpurple/purpleaddcontactrequest.c
  • +1 -1
    libpurple/purpleattachment.c
  • +1 -1
    libpurple/purpleauthorizationrequest.c
  • +2 -2
    libpurple/purplebuddypresence.c
  • +4 -4
    libpurple/purplechatconversation.c
  • +1 -1
    libpurple/purplecontact.c
  • +1 -1
    libpurple/purplecontactinfo.c
  • +2 -2
    libpurple/purpleconversation.c
  • +1 -1
    libpurple/purpleconversationmember.c
  • +1 -1
    libpurple/purplefiletransfermanager.c
  • +1 -1
    libpurple/purpleimconversation.c
  • +2 -2
    libpurple/purplemessage.c
  • +1 -1
    libpurple/purplenotification.c
  • +3 -3
    libpurple/purplenotificationmanager.c
  • +1 -1
    libpurple/purpleperson.c
  • +1 -1
    libpurple/purpleplugininfo.c
  • +2 -2
    libpurple/purplepresence.c
  • +1 -1
    libpurple/purpleprotocol.c
  • +1 -1
    libpurple/purpleproxyinfo.c
  • +1 -1
    libpurple/purpleroomlistroom.c
  • +2 -2
    libpurple/purplesavedpresence.c
  • +1 -1
    libpurple/purpletags.c
  • +1 -1
    libpurple/purpleui.c
  • +1 -1
    libpurple/purplewhiteboard.c
  • +3 -3
    libpurple/roomlist.c
  • +3 -3
    libpurple/status.c
  • +5 -5
    libpurple/xfer.c
  • +2 -1
    pidgin/gtkmedia.c
  • +3 -3
    pidgin/pidginaccountchooser.c
  • +3 -3
    pidgin/pidginaccountdisplay.c
  • +2 -2
    pidgin/pidginaccountfilterprotocol.c
  • +2 -2
    pidgin/pidginaccountmanagerrow.c
  • +1 -1
    pidgin/pidginaccountrow.c
  • +1 -1
    pidgin/pidginconversation.c
  • +1 -1
    pidgin/pidgindisplayitem.c
  • +2 -2
    pidgin/pidgininvitedialog.c
  • +1 -1
    pidgin/pidginkeypad.c
  • +1 -1
    pidgin/pidginnotificationaddcontact.c
  • +1 -1
    pidgin/pidginnotificationauthorizationrequest.c
  • +1 -1
    pidgin/pidginnotificationconnectionerror.c
  • +2 -2
    pidgin/pidginpresenceicon.c
  • +1 -1
    pidgin/pidginprotocolchooser.c
  • +3 -3
    pidgin/plugins/disco/xmppdiscoservice.c
  • --- a/finch/gntmedia.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/finch/gntmedia.c Fri Jan 26 02:33:19 2024 -0600
    @@ -74,14 +74,15 @@
    static void finch_media_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
    enum {
    - MESSAGE,
    - LAST_SIGNAL
    + SIG_MESSAGE,
    + N_SIGNALS,
    };
    -static guint finch_media_signals[LAST_SIGNAL] = {0};
    +static guint finch_media_signals[N_SIGNALS] = {0, };
    enum {
    PROP_0,
    PROP_MEDIA,
    + N_PROPERTIES,
    };
    G_DEFINE_TYPE(FinchMedia, finch_media, GNT_TYPE_BOX);
    @@ -102,7 +103,7 @@
    PURPLE_TYPE_MEDIA,
    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
    - finch_media_signals[MESSAGE] = g_signal_new("message", G_TYPE_FROM_CLASS(klass),
    + finch_media_signals[SIG_MESSAGE] = g_signal_new("message", G_TYPE_FROM_CLASS(klass),
    G_SIGNAL_RUN_LAST, 0, NULL, NULL,
    g_cclosure_marshal_VOID__STRING,
    G_TYPE_NONE, 1, G_TYPE_STRING);
    @@ -134,7 +135,7 @@
    static void
    finch_media_emit_message(FinchMedia *gntmedia, const char *msg)
    {
    - g_signal_emit(gntmedia, finch_media_signals[MESSAGE], 0, msg);
    + g_signal_emit(gntmedia, finch_media_signals[SIG_MESSAGE], 0, msg);
    }
    static void
    --- a/finch/gntplugin.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/finch/gntplugin.c Fri Jan 26 02:33:19 2024 -0600
    @@ -39,7 +39,7 @@
    {
    PROP_0,
    PROP_GNT_PREF_FRAME_CB,
    - PROP_LAST
    + N_PROPERTIES,
    };
    static struct
    --- a/libpurple/blistnode.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/blistnode.c Fri Jan 26 02:33:19 2024 -0600
    @@ -35,12 +35,12 @@
    /* Blist node property enums */
    enum
    {
    - BLNODE_PROP_0,
    - BLNODE_PROP_TRANSIENT,
    - BLNODE_PROP_LAST
    + PROP_0,
    + PROP_TRANSIENT,
    + N_PROPERTIES,
    };
    -static GParamSpec *bn_properties[BLNODE_PROP_LAST];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE(PurpleBlistNode, purple_blist_node,
    G_TYPE_OBJECT);
    @@ -123,8 +123,7 @@
    priv = purple_blist_node_get_instance_private(node);
    priv->transient = transient;
    - g_object_notify_by_pspec(G_OBJECT(node),
    - bn_properties[BLNODE_PROP_TRANSIENT]);
    + g_object_notify_by_pspec(G_OBJECT(node), properties[PROP_TRANSIENT]);
    }
    gboolean
    @@ -314,7 +313,7 @@
    PurpleBlistNode *node = PURPLE_BLIST_NODE(obj);
    switch (param_id) {
    - case BLNODE_PROP_TRANSIENT:
    + case PROP_TRANSIENT:
    purple_blist_node_set_transient(node, g_value_get_boolean(value));
    break;
    default:
    @@ -331,7 +330,7 @@
    PurpleBlistNode *node = PURPLE_BLIST_NODE(obj);
    switch (param_id) {
    - case BLNODE_PROP_TRANSIENT:
    + case PROP_TRANSIENT:
    g_value_set_boolean(value, purple_blist_node_is_transient(node));
    break;
    default:
    @@ -375,12 +374,10 @@
    obj_class->get_property = purple_blist_node_get_property;
    obj_class->set_property = purple_blist_node_set_property;
    - bn_properties[BLNODE_PROP_TRANSIENT] = g_param_spec_boolean("transient",
    + properties[PROP_TRANSIENT] = g_param_spec_boolean("transient",
    "Transient",
    "Whether node should not be saved with the buddy list.",
    FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
    - g_object_class_install_properties(obj_class, BLNODE_PROP_LAST,
    - bn_properties);
    + g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
    }
    -
    --- a/libpurple/buddy.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/buddy.c Fri Jan 26 02:33:19 2024 -0600
    @@ -54,10 +54,10 @@
    PROP_ACCOUNT,
    PROP_PRESENCE,
    PROP_MEDIA_CAPS,
    - N_PROPERTIES
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES] = { NULL, };
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_TYPE_WITH_PRIVATE(PurpleBuddy, purple_buddy, PURPLE_TYPE_BLIST_NODE)
    --- a/libpurple/chat.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/chat.c Fri Jan 26 02:33:19 2024 -0600
    @@ -44,13 +44,13 @@
    PROP_ALIAS,
    PROP_ACCOUNT,
    PROP_COMPONENTS,
    - PROP_LAST
    + N_PROPERTIES,
    };
    /******************************************************************************
    * Globals
    *****************************************************************************/
    -static GParamSpec *properties[PROP_LAST];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_TYPE_WITH_PRIVATE(PurpleChat, purple_chat, PURPLE_TYPE_BLIST_NODE);
    @@ -288,7 +288,7 @@
    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS
    );
    - g_object_class_install_properties(obj_class, PROP_LAST, properties);
    + g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
    }
    PurpleChat *
    --- a/libpurple/circularbuffer.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/circularbuffer.c Fri Jan 26 02:33:19 2024 -0600
    @@ -50,18 +50,18 @@
    * Enums
    *****************************************************************************/
    enum {
    - PROP_ZERO,
    + PROP_0,
    PROP_GROW_SIZE,
    PROP_BUFFER_USED,
    PROP_INPUT,
    PROP_OUTPUT,
    - PROP_LAST,
    + N_PROPERTIES,
    };
    /******************************************************************************
    * Globals
    *****************************************************************************/
    -static GParamSpec *properties[PROP_LAST];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_TYPE_WITH_PRIVATE(PurpleCircularBuffer, purple_circular_buffer,
    G_TYPE_OBJECT);
    @@ -329,7 +329,7 @@
    "The output pointer of the buffer",
    G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
    - g_object_class_install_properties(obj_class, PROP_LAST, properties);
    + g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
    }
    /******************************************************************************
    --- a/libpurple/connection.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/connection.c Fri Jan 26 02:33:19 2024 -0600
    @@ -90,10 +90,10 @@
    PROP_ACCOUNT,
    PROP_PASSWORD,
    PROP_DISPLAY_NAME,
    - PROP_LAST
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[PROP_LAST] = {NULL, };
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    static GList *connections = NULL;
    static GList *connections_connected = NULL;
    @@ -947,7 +947,7 @@
    "Your name that appears to other people.", NULL,
    G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS);
    - g_object_class_install_properties(obj_class, PROP_LAST, properties);
    + g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
    }
    gboolean
    --- a/libpurple/contact.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/contact.c Fri Jan 26 02:33:19 2024 -0600
    @@ -41,13 +41,13 @@
    PROP_0,
    PROP_ALIAS,
    PROP_PRIORITY_BUDDY,
    - PROP_LAST
    + N_PROPERTIES,
    };
    /******************************************************************************
    * Globals
    *****************************************************************************/
    -static GParamSpec *properties[PROP_LAST];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_TYPE_WITH_PRIVATE(PurpleMetaContact, purple_meta_contact,
    PURPLE_TYPE_COUNTING_NODE);
    @@ -345,7 +345,7 @@
    G_PARAM_READABLE | G_PARAM_STATIC_STRINGS
    );
    - g_object_class_install_properties(obj_class, PROP_LAST, properties);
    + g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
    }
    PurpleMetaContact *
    --- a/libpurple/countingnode.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/countingnode.c Fri Jan 26 02:33:19 2024 -0600
    @@ -40,10 +40,10 @@
    PROP_TOTAL_SIZE,
    PROP_CURRENT_SIZE,
    PROP_ONLINE_COUNT,
    - PROP_LAST
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[PROP_LAST];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE(PurpleCountingNode, purple_counting_node,
    PURPLE_TYPE_BLIST_NODE);
    @@ -244,6 +244,6 @@
    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS
    );
    - g_object_class_install_properties(obj_class, PROP_LAST, properties);
    + g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
    }
    --- a/libpurple/group.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/group.c Fri Jan 26 02:33:19 2024 -0600
    @@ -41,15 +41,15 @@
    /* Group property enums */
    enum
    {
    - GROUP_PROP_0,
    - GROUP_PROP_NAME,
    - GROUP_PROP_LAST
    + PROP_0,
    + PROP_NAME,
    + N_PROPERTIES,
    };
    /******************************************************************************
    * Globals
    *****************************************************************************/
    -static GParamSpec *properties[GROUP_PROP_LAST];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_TYPE_WITH_PRIVATE(PurpleGroup, purple_group,
    PURPLE_TYPE_COUNTING_NODE);
    @@ -176,7 +176,7 @@
    old_name = priv->name;
    priv->name = new_name;
    - g_object_notify_by_pspec(G_OBJECT(source), properties[GROUP_PROP_NAME]);
    + g_object_notify_by_pspec(G_OBJECT(source), properties[PROP_NAME]);
    }
    /* Save our changes */
    @@ -236,7 +236,7 @@
    g_list_free(moved_buddies);
    g_free(old_name);
    - g_object_notify_by_pspec(G_OBJECT(source), properties[GROUP_PROP_NAME]);
    + g_object_notify_by_pspec(G_OBJECT(source), properties[PROP_NAME]);
    }
    const char *purple_group_get_name(PurpleGroup *group) {
    @@ -260,7 +260,7 @@
    PurpleGroupPrivate *priv = purple_group_get_instance_private(group);
    switch (param_id) {
    - case GROUP_PROP_NAME:
    + case PROP_NAME:
    if (priv->is_constructed)
    purple_group_set_name(group, g_value_get_string(value));
    else
    @@ -281,7 +281,7 @@
    PurpleGroup *group = PURPLE_GROUP(obj);
    switch (param_id) {
    - case GROUP_PROP_NAME:
    + case PROP_NAME:
    g_value_set_string(value, purple_group_get_name(group));
    break;
    default:
    @@ -332,7 +332,7 @@
    obj_class->get_property = purple_group_get_property;
    obj_class->set_property = purple_group_set_property;
    - properties[GROUP_PROP_NAME] = g_param_spec_string(
    + properties[PROP_NAME] = g_param_spec_string(
    "name",
    "Name",
    "Name of the group.",
    @@ -340,7 +340,7 @@
    G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS
    );
    - g_object_class_install_properties(obj_class, GROUP_PROP_LAST, properties);
    + g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
    }
    PurpleGroup *
    --- a/libpurple/image.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/image.c Fri Jan 26 02:33:19 2024 -0600
    @@ -39,10 +39,10 @@
    PROP_PATH,
    PROP_CONTENTS,
    PROP_SIZE,
    - PROP_LAST
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[PROP_LAST];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_TYPE_WITH_PRIVATE(PurpleImage, purple_image, G_TYPE_OBJECT);
    @@ -165,7 +165,7 @@
    G_PARAM_READABLE | G_PARAM_STATIC_STRINGS
    );
    - g_object_class_install_properties(gobj_class, PROP_LAST, properties);
    + g_object_class_install_properties(gobj_class, N_PROPERTIES, properties);
    }
    /******************************************************************************
    --- a/libpurple/media.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/media.c Fri Jan 26 02:33:19 2024 -0600
    @@ -91,17 +91,17 @@
    enum {
    - S_ERROR,
    - CANDIDATES_PREPARED,
    - CODECS_CHANGED,
    - LEVEL,
    - NEW_CANDIDATE,
    - STATE_CHANGED,
    - STREAM_INFO,
    - CANDIDATE_PAIR_ESTABLISHED,
    - LAST_SIGNAL
    + SIG_ERROR,
    + SIG_CANDIDATES_PREPARED,
    + SIG_CODECS_CHANGED,
    + SIG_LEVEL,
    + SIG_NEW_CANDIDATE,
    + SIG_STATE_CHANGED,
    + SIG_STREAM_INFO,
    + SIG_CANDIDATE_PAIR_ESTABLISHED,
    + N_SIGNALS,
    };
    -static guint purple_media_signals[LAST_SIGNAL] = {0};
    +static guint signals[N_SIGNALS] = {0, };
    enum {
    PROP_0,
    @@ -111,6 +111,7 @@
    PROP_CONFERENCE_TYPE,
    PROP_INITIATOR,
    PROP_PROTOCOL_DATA,
    + N_PROPERTIES,
    };
    G_DEFINE_TYPE_WITH_PRIVATE(PurpleMedia, purple_media, G_TYPE_OBJECT);
    @@ -174,33 +175,40 @@
    "Data the protocol set on the media session.",
    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
    - purple_media_signals[S_ERROR] = g_signal_new("error", G_TYPE_FROM_CLASS(klass),
    + signals[SIG_ERROR] = g_signal_new("error", G_TYPE_FROM_CLASS(klass),
    G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
    G_TYPE_NONE, 1, G_TYPE_STRING);
    - purple_media_signals[CANDIDATES_PREPARED] = g_signal_new("candidates-prepared", G_TYPE_FROM_CLASS(klass),
    + signals[SIG_CANDIDATES_PREPARED] = g_signal_new("candidates-prepared",
    + G_TYPE_FROM_CLASS(klass),
    G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
    G_TYPE_NONE, 2, G_TYPE_STRING,
    G_TYPE_STRING);
    - purple_media_signals[CODECS_CHANGED] = g_signal_new("codecs-changed", G_TYPE_FROM_CLASS(klass),
    + signals[SIG_CODECS_CHANGED] = g_signal_new("codecs-changed",
    + G_TYPE_FROM_CLASS(klass),
    G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
    G_TYPE_NONE, 1, G_TYPE_STRING);
    - purple_media_signals[LEVEL] = g_signal_new("level", G_TYPE_FROM_CLASS(klass),
    + signals[SIG_LEVEL] = g_signal_new("level",
    + G_TYPE_FROM_CLASS(klass),
    G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
    G_TYPE_NONE, 3, G_TYPE_STRING,
    G_TYPE_STRING, G_TYPE_DOUBLE);
    - purple_media_signals[NEW_CANDIDATE] = g_signal_new("new-candidate", G_TYPE_FROM_CLASS(klass),
    + signals[SIG_NEW_CANDIDATE] = g_signal_new("new-candidate",
    + G_TYPE_FROM_CLASS(klass),
    G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
    G_TYPE_NONE, 3, G_TYPE_POINTER,
    G_TYPE_POINTER, PURPLE_MEDIA_TYPE_CANDIDATE);
    - purple_media_signals[STATE_CHANGED] = g_signal_new("state-changed", G_TYPE_FROM_CLASS(klass),
    + signals[SIG_STATE_CHANGED] = g_signal_new("state-changed",
    + G_TYPE_FROM_CLASS(klass),
    G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
    G_TYPE_NONE, 3, PURPLE_MEDIA_TYPE_STATE,
    G_TYPE_STRING, G_TYPE_STRING);
    - purple_media_signals[STREAM_INFO] = g_signal_new("stream-info", G_TYPE_FROM_CLASS(klass),
    + signals[SIG_STREAM_INFO] = g_signal_new("stream-info",
    + G_TYPE_FROM_CLASS(klass),
    G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
    G_TYPE_NONE, 4, PURPLE_MEDIA_TYPE_INFO_TYPE,
    G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN);
    - purple_media_signals[CANDIDATE_PAIR_ESTABLISHED] = g_signal_new("candidate-pair-established", G_TYPE_FROM_CLASS(klass),
    + signals[SIG_CANDIDATE_PAIR_ESTABLISHED] = g_signal_new("candidate-pair-established",
    + G_TYPE_FROM_CLASS(klass),
    G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
    G_TYPE_NONE, 4, G_TYPE_POINTER, G_TYPE_POINTER,
    PURPLE_MEDIA_TYPE_CANDIDATE, PURPLE_MEDIA_TYPE_CANDIDATE);
    @@ -520,7 +528,7 @@
    va_end(args);
    purple_debug_error("media", "%s\n", message);
    - g_signal_emit(media, purple_media_signals[S_ERROR], 0, message);
    + g_signal_emit(media, signals[SIG_ERROR], 0, message);
    g_free(message);
    }
    @@ -539,7 +547,7 @@
    for (; iter; iter = g_list_delete_link(iter, iter)) {
    PurpleMediaStream *stream = iter->data;
    - g_signal_emit(media, purple_media_signals[STATE_CHANGED],
    + g_signal_emit(media, signals[SIG_STATE_CHANGED],
    0, PURPLE_MEDIA_STATE_END,
    stream->session->id, stream->participant);
    @@ -573,7 +581,7 @@
    for (; sessions; sessions = g_list_delete_link(sessions, sessions)) {
    PurpleMediaSession *session = sessions->data;
    - g_signal_emit(media, purple_media_signals[STATE_CHANGED],
    + g_signal_emit(media, signals[SIG_STATE_CHANGED],
    0, PURPLE_MEDIA_STATE_END,
    session->id, NULL);
    @@ -604,7 +612,7 @@
    GList *link = g_list_find_custom(media->priv->participants,
    participant, (GCompareFunc)strcmp);
    - g_signal_emit(media, purple_media_signals[STATE_CHANGED],
    + g_signal_emit(media, signals[SIG_STATE_CHANGED],
    0, PURPLE_MEDIA_STATE_END,
    NULL, participant);
    @@ -620,7 +628,7 @@
    /* Free the conference if no sessions left */
    if (media->priv->sessions != NULL &&
    g_hash_table_size(media->priv->sessions) == 0) {
    - g_signal_emit(media, purple_media_signals[STATE_CHANGED],
    + g_signal_emit(media, signals[SIG_STATE_CHANGED],
    0, PURPLE_MEDIA_STATE_END,
    NULL, NULL);
    g_object_unref(media);
    @@ -648,8 +656,7 @@
    stream->accepted = TRUE;
    - g_signal_emit(media,
    - purple_media_signals[STREAM_INFO],
    + g_signal_emit(media, signals[SIG_STREAM_INFO],
    0, type, stream->session->id,
    stream->participant, local);
    @@ -671,9 +678,8 @@
    PurpleMediaSession *session = sessions->data;
    if (purple_media_accepted(media, session->id, NULL)) {
    - g_signal_emit(media, purple_media_signals[
    - STREAM_INFO], 0,
    - PURPLE_MEDIA_INFO_ACCEPT,
    + g_signal_emit(media, signals[SIG_STREAM_INFO],
    + 0, PURPLE_MEDIA_INFO_ACCEPT,
    session->id, NULL, local);
    }
    }
    @@ -684,9 +690,8 @@
    gchar *participant = participants->data;
    if (purple_media_accepted(media, NULL, participant)) {
    - g_signal_emit(media, purple_media_signals[
    - STREAM_INFO], 0,
    - PURPLE_MEDIA_INFO_ACCEPT,
    + g_signal_emit(media, signals[SIG_STREAM_INFO],
    + 0, PURPLE_MEDIA_INFO_ACCEPT,
    NULL, participant, local);
    }
    @@ -695,8 +700,7 @@
    /* Emit conference acceptance */
    if (purple_media_accepted(media, NULL, NULL)) {
    - g_signal_emit(media,
    - purple_media_signals[STREAM_INFO],
    + g_signal_emit(media, signals[SIG_STREAM_INFO],
    0, PURPLE_MEDIA_INFO_ACCEPT,
    NULL, NULL, local);
    }
    @@ -714,8 +718,7 @@
    for (; streams; streams = g_list_delete_link(streams, streams)) {
    PurpleMediaStream *stream = streams->data;
    - g_signal_emit(media,
    - purple_media_signals[STREAM_INFO],
    + g_signal_emit(media, signals[SIG_STREAM_INFO],
    0, type, stream->session->id,
    stream->participant, local);
    }
    @@ -737,8 +740,8 @@
    sessions, sessions)) {
    PurpleMediaSession *session = sessions->data;
    - g_signal_emit(media, purple_media_signals[
    - STREAM_INFO], 0, type,
    + g_signal_emit(media, signals[SIG_STREAM_INFO],
    + 0, type,
    session->id, NULL, local);
    }
    @@ -747,14 +750,13 @@
    g_list_next(participants)) {
    gchar *participant = participants->data;
    - g_signal_emit(media, purple_media_signals[
    - STREAM_INFO], 0, type,
    + g_signal_emit(media, signals[SIG_STREAM_INFO],
    + 0, type,
    NULL, participant, local);
    }
    /* Emit for conference */
    - g_signal_emit(media,
    - purple_media_signals[STREAM_INFO],
    + g_signal_emit(media, signals[SIG_STREAM_INFO],
    0, type, NULL, NULL, local);
    } else if (session_id != NULL) {
    /* Emit just the specific session */
    @@ -767,8 +769,8 @@
    "Couldn't find session"
    " to hangup/reject.\n");
    } else {
    - g_signal_emit(media, purple_media_signals[
    - STREAM_INFO], 0, type,
    + g_signal_emit(media, signals[SIG_STREAM_INFO],
    + 0, type,
    session->id, NULL, local);
    }
    } else if (participant != NULL) {
    @@ -779,8 +781,8 @@
    "Couldn't find participant"
    " to hangup/reject.\n");
    } else {
    - g_signal_emit(media, purple_media_signals[
    - STREAM_INFO], 0, type, NULL,
    + g_signal_emit(media, signals[SIG_STREAM_INFO],
    + 0, type, NULL,
    participant, local);
    }
    }
    @@ -789,7 +791,7 @@
    return;
    }
    - g_signal_emit(media, purple_media_signals[STREAM_INFO],
    + g_signal_emit(media, signals[SIG_STREAM_INFO],
    0, type, session_id, participant, local);
    }
    @@ -839,7 +841,7 @@
    purple_media_insert_local_candidate(session, participant,
    purple_media_candidate_copy(candidate));
    - g_signal_emit(session->media, purple_media_signals[NEW_CANDIDATE],
    + g_signal_emit(session->media, signals[SIG_NEW_CANDIDATE],
    0, session->id, participant, candidate);
    }
    @@ -854,7 +856,7 @@
    stream_data = purple_media_get_stream(media, sess_id, name);
    stream_data->candidates_prepared = TRUE;
    - g_signal_emit(media, purple_media_signals[CANDIDATES_PREPARED],
    + g_signal_emit(media, signals[SIG_CANDIDATES_PREPARED],
    0, sess_id, name);
    }
    @@ -910,7 +912,7 @@
    purple_media_candidate_copy(
    remote_candidate));
    - g_signal_emit(media, purple_media_signals[CANDIDATE_PAIR_ESTABLISHED],
    + g_signal_emit(media, signals[SIG_CANDIDATE_PAIR_ESTABLISHED],
    0, sess_id, name, local_candidate, remote_candidate);
    purple_debug_info("media", "candidate pair established\n");
    }
    @@ -919,7 +921,7 @@
    purple_media_codecs_changed_cb(G_GNUC_UNUSED PurpleMediaBackend *backend,
    const gchar *sess_id, PurpleMedia *media)
    {
    - g_signal_emit(media, purple_media_signals[CODECS_CHANGED], 0, sess_id);
    + g_signal_emit(media, signals[SIG_CODECS_CHANGED], 0, sess_id);
    }
    gboolean
    @@ -948,7 +950,7 @@
    session->initiator = initiator;
    purple_media_add_session(media, session);
    - g_signal_emit(media, purple_media_signals[STATE_CHANGED],
    + g_signal_emit(media, signals[SIG_STATE_CHANGED],
    0, PURPLE_MEDIA_STATE_NEW,
    session->id, NULL);
    }
    @@ -958,14 +960,14 @@
    media->priv->participants = g_list_prepend(
    media->priv->participants, g_strdup(who));
    - g_signal_emit(media, purple_media_signals[STATE_CHANGED], 0,
    + g_signal_emit(media, signals[SIG_STATE_CHANGED], 0,
    PURPLE_MEDIA_STATE_NEW, NULL, who);
    }
    if (purple_media_get_stream(media, sess_id, who) == NULL) {
    purple_media_insert_stream(session, who, initiator);
    - g_signal_emit(media, purple_media_signals[STATE_CHANGED],
    + g_signal_emit(media, signals[SIG_STATE_CHANGED],
    0, PURPLE_MEDIA_STATE_NEW,
    session->id, who);
    }
    --- a/libpurple/media/backend-iface.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/media/backend-iface.c Fri Jan 26 02:33:19 2024 -0600
    @@ -22,15 +22,15 @@
    #include "backend-iface.h"
    enum {
    - S_ERROR,
    - CANDIDATES_PREPARED,
    - CODECS_CHANGED,
    - NEW_CANDIDATE,
    - ACTIVE_CANDIDATE_PAIR,
    - LAST_SIGNAL
    + SIG_ERROR,
    + SIG_CANDIDATES_PREPARED,
    + SIG_CODECS_CHANGED,
    + SIG_NEW_CANDIDATE,
    + SIG_ACTIVE_CANDIDATE_PAIR,
    + N_SIGNALS,
    };
    -static guint purple_media_backend_signals[LAST_SIGNAL] = {0};
    +static guint signals[N_SIGNALS] = {0, };
    static void
    purple_media_backend_base_init(gpointer iface)
    @@ -56,29 +56,25 @@
    PURPLE_TYPE_MEDIA,
    G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE |
    G_PARAM_STATIC_STRINGS));
    - purple_media_backend_signals[S_ERROR] =
    - g_signal_new("error", G_TYPE_FROM_CLASS(iface),
    + signals[SIG_ERROR] = g_signal_new("error",
    + G_TYPE_FROM_CLASS(iface),
    G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
    G_TYPE_NONE, 1, G_TYPE_STRING);
    - purple_media_backend_signals[CANDIDATES_PREPARED] =
    - g_signal_new("candidates-prepared",
    + signals[SIG_CANDIDATES_PREPARED] = g_signal_new("candidates-prepared",
    G_TYPE_FROM_CLASS(iface),
    G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
    G_TYPE_NONE, 2, G_TYPE_STRING,
    G_TYPE_STRING);
    - purple_media_backend_signals[CODECS_CHANGED] =
    - g_signal_new("codecs-changed",
    + signals[SIG_CODECS_CHANGED] = g_signal_new("codecs-changed",
    G_TYPE_FROM_CLASS(iface),
    G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
    G_TYPE_NONE, 1, G_TYPE_STRING);
    - purple_media_backend_signals[NEW_CANDIDATE] =
    - g_signal_new("new-candidate",
    + signals[SIG_NEW_CANDIDATE] = g_signal_new("new-candidate",
    G_TYPE_FROM_CLASS(iface),
    G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
    G_TYPE_NONE, 3, G_TYPE_POINTER,
    G_TYPE_POINTER, PURPLE_MEDIA_TYPE_CANDIDATE);
    - purple_media_backend_signals[ACTIVE_CANDIDATE_PAIR] =
    - g_signal_new("active-candidate-pair",
    + signals[SIG_ACTIVE_CANDIDATE_PAIR] = g_signal_new("active-candidate-pair",
    G_TYPE_FROM_CLASS(iface),
    G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
    G_TYPE_NONE, 4, G_TYPE_STRING, G_TYPE_STRING,
    --- a/libpurple/media/candidate.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/media/candidate.c Fri Jan 26 02:33:19 2024 -0600
    @@ -49,7 +49,7 @@
    } PurpleMediaCandidatePrivate;
    enum {
    - PROP_CANDIDATE_0,
    + PROP_0,
    PROP_FOUNDATION,
    PROP_COMPONENT_ID,
    PROP_IP,
    @@ -62,6 +62,7 @@
    PROP_USERNAME,
    PROP_PASSWORD,
    PROP_TTL,
    + N_PROPERTIES,
    };
    G_DEFINE_FINAL_TYPE_WITH_PRIVATE(PurpleMediaCandidate, purple_media_candidate,
    --- a/libpurple/media/codec.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/media/codec.c Fri Jan 26 02:33:19 2024 -0600
    @@ -37,17 +37,17 @@
    } PurpleMediaCodecPrivate;
    enum {
    - PROP_CODEC_0,
    + PROP_0,
    PROP_ID,
    PROP_ENCODING_NAME,
    PROP_MEDIA_TYPE,
    PROP_CLOCK_RATE,
    PROP_CHANNELS,
    PROP_OPTIONAL_PARAMS,
    - PROP_LAST
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[PROP_LAST];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_FINAL_TYPE_WITH_PRIVATE(PurpleMediaCodec, purple_media_codec,
    G_TYPE_OBJECT)
    @@ -194,7 +194,7 @@
    "A list of optional parameters for the codec.",
    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
    - g_object_class_install_properties(gobject_class, PROP_LAST, properties);
    + g_object_class_install_properties(gobject_class, N_PROPERTIES, properties);
    }
    PurpleMediaCodec *
    --- a/libpurple/mediamanager.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/mediamanager.c Fri Jan 26 02:33:19 2024 -0600
    @@ -112,13 +112,13 @@
    enum {
    - INIT_MEDIA,
    - INIT_PRIVATE_MEDIA,
    - UI_CAPS_CHANGED,
    - ELEMENTS_CHANGED,
    - LAST_SIGNAL
    + SIG_INIT_MEDIA,
    + SIG_INIT_PRIVATE_MEDIA,
    + SIG_UI_CAPS_CHANGED,
    + SIG_ELEMENTS_CHANGED,
    + N_SIGNALS,
    };
    -static guint purple_media_manager_signals[LAST_SIGNAL] = {0};
    +static guint signals[N_SIGNALS] = {0, };
    G_DEFINE_FINAL_TYPE_WITH_PRIVATE(PurpleMediaManager, purple_media_manager,
    G_TYPE_OBJECT);
    @@ -130,30 +130,28 @@
    gobject_class->finalize = purple_media_manager_finalize;
    - purple_media_manager_signals[INIT_MEDIA] = g_signal_new ("init-media",
    + signals[SIG_INIT_MEDIA] = g_signal_new("init-media",
    G_TYPE_FROM_CLASS (klass),
    G_SIGNAL_RUN_LAST,
    0, NULL, NULL, NULL,
    G_TYPE_BOOLEAN, 3, PURPLE_TYPE_MEDIA,
    G_TYPE_POINTER, G_TYPE_STRING);
    - purple_media_manager_signals[INIT_PRIVATE_MEDIA] =
    - g_signal_new ("init-private-media",
    + signals[SIG_INIT_PRIVATE_MEDIA] = g_signal_new("init-private-media",
    G_TYPE_FROM_CLASS (klass),
    G_SIGNAL_RUN_LAST,
    0, NULL, NULL, NULL,
    G_TYPE_BOOLEAN, 3, PURPLE_TYPE_MEDIA,
    G_TYPE_POINTER, G_TYPE_STRING);
    - purple_media_manager_signals[UI_CAPS_CHANGED] = g_signal_new ("ui-caps-changed",
    + signals[SIG_UI_CAPS_CHANGED] = g_signal_new("ui-caps-changed",
    G_TYPE_FROM_CLASS (klass),
    G_SIGNAL_RUN_LAST,
    0, NULL, NULL, NULL,
    G_TYPE_NONE, 2, PURPLE_MEDIA_TYPE_CAPS,
    PURPLE_MEDIA_TYPE_CAPS);
    - purple_media_manager_signals[ELEMENTS_CHANGED] =
    - g_signal_new("elements-changed",
    + signals[SIG_ELEMENTS_CHANGED] = g_signal_new("elements-changed",
    G_TYPE_FROM_CLASS(klass),
    G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED,
    0, NULL, NULL, NULL,
    @@ -296,8 +294,8 @@
    NULL));
    signal_id = private ?
    - purple_media_manager_signals[INIT_PRIVATE_MEDIA] :
    - purple_media_manager_signals[INIT_MEDIA];
    + signals[SIG_INIT_PRIVATE_MEDIA] :
    + signals[SIG_INIT_MEDIA];
    if (g_signal_has_handler_pending(manager, signal_id, 0, FALSE)) {
    gboolean signal_ret;
    @@ -1195,9 +1193,7 @@
    detail = element_info_to_detail(info);
    if (detail != 0) {
    - g_signal_emit(manager,
    - purple_media_manager_signals[ELEMENTS_CHANGED],
    - detail);
    + g_signal_emit(manager, signals[SIG_ELEMENTS_CHANGED], detail);
    }
    return TRUE;
    @@ -1239,9 +1235,7 @@
    g_object_unref(info);
    if (detail != 0) {
    - g_signal_emit(manager,
    - purple_media_manager_signals[ELEMENTS_CHANGED],
    - detail);
    + g_signal_emit(manager, signals[SIG_ELEMENTS_CHANGED], detail);
    }
    return TRUE;
    @@ -1529,9 +1523,7 @@
    manager->priv->ui_caps = caps;
    if (caps != oldcaps) {
    - g_signal_emit(manager,
    - purple_media_manager_signals[UI_CAPS_CHANGED],
    - 0, caps, oldcaps);
    + g_signal_emit(manager, signals[SIG_UI_CAPS_CHANGED], 0, caps, oldcaps);
    }
    }
    @@ -2238,6 +2230,7 @@
    PROP_NAME,
    PROP_TYPE,
    PROP_CREATE_CB,
    + N_PROPERTIES,
    };
    G_DEFINE_FINAL_TYPE_WITH_PRIVATE(PurpleMediaElementInfo,
    --- a/libpurple/protocols/jabber/jingle/content.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/protocols/jabber/jingle/content.c Fri Jan 26 02:33:19 2024 -0600
    @@ -52,10 +52,10 @@
    PROP_SENDERS,
    PROP_TRANSPORT,
    PROP_PENDING_TRANSPORT,
    - PROP_LAST
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[PROP_LAST];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_DYNAMIC_TYPE_EXTENDED(
    JingleContent,
    @@ -296,7 +296,7 @@
    JINGLE_TYPE_TRANSPORT,
    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
    - g_object_class_install_properties(obj_class, PROP_LAST, properties);
    + g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
    }
    /******************************************************************************
    --- a/libpurple/protocols/jabber/jingle/iceudp.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/protocols/jabber/jingle/iceudp.c Fri Jan 26 02:33:19 2024 -0600
    @@ -46,10 +46,10 @@
    PROP_0,
    PROP_LOCAL_CANDIDATES,
    PROP_REMOTE_CANDIDATES,
    - PROP_LAST
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[PROP_LAST];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_DYNAMIC_TYPE_EXTENDED(
    JingleIceUdp,
    @@ -416,7 +416,7 @@
    "The remote candidates for this transport.",
    G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
    - g_object_class_install_properties(obj_class, PROP_LAST, properties);
    + g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
    }
    /******************************************************************************
    --- a/libpurple/protocols/jabber/jingle/rawudp.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/protocols/jabber/jingle/rawudp.c Fri Jan 26 02:33:19 2024 -0600
    @@ -46,9 +46,9 @@
    PROP_0,
    PROP_LOCAL_CANDIDATES,
    PROP_REMOTE_CANDIDATES,
    - PROP_LAST
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[PROP_LAST];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_DYNAMIC_TYPE_EXTENDED(
    JingleRawUdp,
    @@ -318,7 +318,7 @@
    "The remote candidates for this transport.",
    G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
    - g_object_class_install_properties(obj_class, PROP_LAST, properties);
    + g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
    }
    /******************************************************************************
    --- a/libpurple/protocols/jabber/jingle/rtp.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/protocols/jabber/jingle/rtp.c Fri Jan 26 02:33:19 2024 -0600
    @@ -58,10 +58,10 @@
    PROP_0,
    PROP_MEDIA_TYPE,
    PROP_SSRC,
    - PROP_LAST
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[PROP_LAST];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_DYNAMIC_TYPE_EXTENDED(
    JingleRtp,
    @@ -776,7 +776,7 @@
    NULL,
    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
    - g_object_class_install_properties(obj_class, PROP_LAST, properties);
    + g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
    }
    /******************************************************************************
    --- a/libpurple/protocols/jabber/jingle/session.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/protocols/jabber/jingle/session.c Fri Jan 26 02:33:19 2024 -0600
    @@ -59,10 +59,10 @@
    PROP_STATE,
    PROP_CONTENTS,
    PROP_PENDING_CONTENTS,
    - PROP_LAST
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[PROP_LAST];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_DYNAMIC_TYPE_EXTENDED(
    JingleSession,
    @@ -303,7 +303,7 @@
    "The pending contents contained within this session",
    G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
    - g_object_class_install_properties(obj_class, PROP_LAST, properties);
    + g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
    }
    /******************************************************************************
    --- a/libpurple/purpleaccount.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purpleaccount.c Fri Jan 26 02:33:19 2024 -0600
    @@ -108,7 +108,7 @@
    SIG_SETTING_CHANGED,
    SIG_CONNECTED,
    SIG_DISCONNECTED,
    - N_SIGNALS
    + N_SIGNALS,
    };
    static guint signals[N_SIGNALS] = {0, };
    --- a/libpurple/purpleaccountpresence.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purpleaccountpresence.c Fri Jan 26 02:33:19 2024 -0600
    @@ -36,9 +36,9 @@
    enum {
    PROP_0,
    PROP_ACCOUNT,
    - N_PROPERTIES
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    /******************************************************************************
    * Helpers
    --- a/libpurple/purpleaddcontactrequest.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purpleaddcontactrequest.c Fri Jan 26 02:33:19 2024 -0600
    @@ -33,7 +33,7 @@
    enum {
    SIG_ADD,
    - N_SIGNALS
    + N_SIGNALS,
    };
    static guint signals[N_SIGNALS] = {0, };
    --- a/libpurple/purpleattachment.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purpleattachment.c Fri Jan 26 02:33:19 2024 -0600
    @@ -46,7 +46,7 @@
    PROP_SIZE,
    N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    /******************************************************************************
    * Private Setters
    --- a/libpurple/purpleauthorizationrequest.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purpleauthorizationrequest.c Fri Jan 26 02:33:19 2024 -0600
    @@ -35,7 +35,7 @@
    enum {
    SIG_ACCEPTED,
    SIG_DENIED,
    - N_SIGNALS
    + N_SIGNALS,
    };
    static guint signals[N_SIGNALS] = {0, };
    --- a/libpurple/purplebuddypresence.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purplebuddypresence.c Fri Jan 26 02:33:19 2024 -0600
    @@ -38,9 +38,9 @@
    enum {
    PROP_0,
    PROP_BUDDY,
    - N_PROPERTIES
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    /******************************************************************************
    * Helpers
    --- a/libpurple/purplechatconversation.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purplechatconversation.c Fri Jan 26 02:33:19 2024 -0600
    @@ -44,16 +44,16 @@
    PROP_0,
    PROP_CHAT_ID,
    PROP_LEFT,
    - N_PROPERTIES
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES] = { NULL, };
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    enum {
    SIG_USER_JOINED,
    SIG_USER_LEFT,
    - N_SIGNALS
    + N_SIGNALS,
    };
    -static guint signals[N_SIGNALS] = { 0, };
    +static guint signals[N_SIGNALS] = {0, };
    G_DEFINE_TYPE_WITH_PRIVATE(PurpleChatConversation, purple_chat_conversation,
    PURPLE_TYPE_CONVERSATION);
    --- a/libpurple/purplecontact.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purplecontact.c Fri Jan 26 02:33:19 2024 -0600
    @@ -29,7 +29,7 @@
    enum {
    PROP_0,
    PROP_ACCOUNT,
    - N_PROPERTIES
    + N_PROPERTIES,
    };
    static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    --- a/libpurple/purplecontactinfo.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purplecontactinfo.c Fri Jan 26 02:33:19 2024 -0600
    @@ -65,7 +65,7 @@
    PROP_PERMISSION,
    PROP_SID,
    PROP_NAME_FOR_DISPLAY,
    - N_PROPERTIES
    + N_PROPERTIES,
    };
    static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    --- a/libpurple/purpleconversation.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purpleconversation.c Fri Jan 26 02:33:19 2024 -0600
    @@ -86,9 +86,9 @@
    PROP_TAGS,
    PROP_MEMBERS,
    PROP_MESSAGES,
    - N_PROPERTIES
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES] = { NULL, };
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    enum {
    SIG_MEMBER_ADDED,
    --- a/libpurple/purpleconversationmember.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purpleconversationmember.c Fri Jan 26 02:33:19 2024 -0600
    @@ -35,7 +35,7 @@
    PROP_CONTACT_INFO,
    PROP_TAGS,
    PROP_TYPING_STATE,
    - N_PROPERTIES
    + N_PROPERTIES,
    };
    static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    --- a/libpurple/purplefiletransfermanager.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purplefiletransfermanager.c Fri Jan 26 02:33:19 2024 -0600
    @@ -25,7 +25,7 @@
    SIG_TRANSFER_CHANGED,
    N_SIGNALS,
    };
    -static guint signals[N_SIGNALS] = {};
    +static guint signals[N_SIGNALS] = {0, };
    struct _PurpleFileTransferManager {
    GObject parent;
    --- a/libpurple/purpleimconversation.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purpleimconversation.c Fri Jan 26 02:33:19 2024 -0600
    @@ -45,7 +45,7 @@
    PROP_TYPING_STATE,
    N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    #define SEND_TYPED_TIMEOUT_SECONDS 5
    --- a/libpurple/purplemessage.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purplemessage.c Fri Jan 26 02:33:19 2024 -0600
    @@ -66,9 +66,9 @@
    PROP_DELIVERED_AT,
    PROP_EDITED,
    PROP_EDITED_AT,
    - N_PROPERTIES
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_FINAL_TYPE(PurpleMessage, purple_message, G_TYPE_OBJECT)
    --- a/libpurple/purplenotification.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purplenotification.c Fri Jan 26 02:33:19 2024 -0600
    @@ -43,7 +43,7 @@
    enum {
    SIG_DELETED,
    - N_SIGNALS
    + N_SIGNALS,
    };
    static guint signals[N_SIGNALS] = {0, };
    --- a/libpurple/purplenotificationmanager.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purplenotificationmanager.c Fri Jan 26 02:33:19 2024 -0600
    @@ -23,11 +23,11 @@
    #include "purpleprivate.h"
    enum {
    - PROP_ZERO,
    + PROP_0,
    PROP_UNREAD_COUNT,
    N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES] = { NULL, };
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    enum {
    SIG_ADDED,
    @@ -36,7 +36,7 @@
    SIG_UNREAD,
    N_SIGNALS,
    };
    -static guint signals[N_SIGNALS] = { 0, };
    +static guint signals[N_SIGNALS] = {0, };
    struct _PurpleNotificationManager {
    GObject parent;
    --- a/libpurple/purpleperson.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purpleperson.c Fri Jan 26 02:33:19 2024 -0600
    @@ -47,7 +47,7 @@
    PROP_TAGS,
    PROP_NAME_FOR_DISPLAY,
    PROP_PRIORITY_CONTACT_INFO,
    - N_PROPERTIES
    + N_PROPERTIES,
    };
    static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    --- a/libpurple/purpleplugininfo.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purpleplugininfo.c Fri Jan 26 02:33:19 2024 -0600
    @@ -45,7 +45,7 @@
    PROP_ACTION_MENU,
    N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES] = { NULL, };
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_TYPE_WITH_PRIVATE(PurplePluginInfo, purple_plugin_info,
    GPLUGIN_TYPE_PLUGIN_INFO);
    --- a/libpurple/purplepresence.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purplepresence.c Fri Jan 26 02:33:19 2024 -0600
    @@ -55,9 +55,9 @@
    PROP_EMOJI,
    PROP_MOBILE,
    PROP_NOTIFICATIONS_DISABLED,
    - N_PROPERTIES
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_TYPE_WITH_PRIVATE(PurplePresence, purple_presence, G_TYPE_OBJECT)
    --- a/libpurple/purpleprotocol.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purpleprotocol.c Fri Jan 26 02:33:19 2024 -0600
    @@ -38,7 +38,7 @@
    PROP_OPTIONS,
    N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES] = { NULL, };
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    typedef struct {
    gchar *id;
    --- a/libpurple/purpleproxyinfo.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purpleproxyinfo.c Fri Jan 26 02:33:19 2024 -0600
    @@ -37,7 +37,7 @@
    PROP_PORT,
    PROP_USERNAME,
    PROP_PASSWORD,
    - N_PROPERTIES
    + N_PROPERTIES,
    };
    static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    --- a/libpurple/purpleroomlistroom.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purpleroomlistroom.c Fri Jan 26 02:33:19 2024 -0600
    @@ -33,7 +33,7 @@
    PROP_DESCRIPTION,
    PROP_CATEGORY,
    PROP_USER_COUNT,
    - N_PROPERTIES
    + N_PROPERTIES,
    };
    static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    --- a/libpurple/purplesavedpresence.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purplesavedpresence.c Fri Jan 26 02:33:19 2024 -0600
    @@ -52,9 +52,9 @@
    PROP_PRIMITIVE,
    PROP_MESSAGE,
    PROP_EMOJI,
    - N_PROPERTIES
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_FINAL_TYPE(PurpleSavedPresence, purple_saved_presence, G_TYPE_OBJECT)
    --- a/libpurple/purpletags.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purpletags.c Fri Jan 26 02:33:19 2024 -0600
    @@ -29,7 +29,7 @@
    SIG_REMOVED,
    N_SIGNALS,
    };
    -static guint signals[N_SIGNALS];
    +static guint signals[N_SIGNALS] = {0, };
    struct _PurpleTags {
    GObject parent;
    --- a/libpurple/purpleui.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purpleui.c Fri Jan 26 02:33:19 2024 -0600
    @@ -37,7 +37,7 @@
    PROP_CLIENT_TYPE,
    N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES] = {NULL,};
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE(PurpleUi, purple_ui, G_TYPE_OBJECT)
    --- a/libpurple/purplewhiteboard.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/purplewhiteboard.c Fri Jan 26 02:33:19 2024 -0600
    @@ -51,7 +51,7 @@
    PROP_DRAW_LIST,
    N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES] = { NULL, };
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_TYPE_WITH_PRIVATE(PurpleWhiteboard, purple_whiteboard, G_TYPE_OBJECT)
    --- a/libpurple/roomlist.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/roomlist.c Fri Jan 26 02:33:19 2024 -0600
    @@ -43,10 +43,10 @@
    PROP_0,
    PROP_ACCOUNT,
    PROP_IN_PROGRESS,
    - PROP_LAST
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[PROP_LAST];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    static PurpleRoomlistUiOps *ops = NULL;
    G_DEFINE_FINAL_TYPE_WITH_PRIVATE(PurpleRoomlist, purple_roomlist,
    @@ -284,7 +284,7 @@
    "Whether the room list is being fetched.", FALSE,
    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
    - g_object_class_install_properties(obj_class, PROP_LAST, properties);
    + g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
    }
    PurpleRoomlist *purple_roomlist_new(PurpleAccount *account)
    --- a/libpurple/status.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/status.c Fri Jan 26 02:33:19 2024 -0600
    @@ -87,10 +87,10 @@
    PROP_STATUS_TYPE,
    PROP_PRESENCE,
    PROP_ACTIVE,
    - PROP_LAST
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[PROP_LAST];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_FINAL_TYPE(PurpleStatus, purple_status, G_TYPE_OBJECT)
    @@ -1123,7 +1123,7 @@
    "Whether the status is active or not.", FALSE,
    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
    - g_object_class_install_properties(obj_class, PROP_LAST, properties);
    + g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
    }
    PurpleStatus *
    --- a/libpurple/xfer.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/libpurple/xfer.c Fri Jan 26 02:33:19 2024 -0600
    @@ -132,10 +132,10 @@
    PROP_STATUS,
    PROP_PROGRESS,
    PROP_VISIBLE,
    - PROP_LAST
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[PROP_LAST];
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    /* GObject signal enums */
    enum
    @@ -146,9 +146,9 @@
    SIG_WRITE_LOCAL,
    SIG_DATA_NOT_SENT,
    SIG_ADD_THUMBNAIL,
    - SIG_LAST
    + N_SIGNALS,
    };
    -static guint signals[SIG_LAST] = {0};
    +static guint signals[N_SIGNALS] = {0, };
    G_DEFINE_TYPE_WITH_PRIVATE(PurpleXfer, purple_xfer, G_TYPE_OBJECT);
    @@ -2279,7 +2279,7 @@
    "Hint for UIs whether this transfer should be visible.", FALSE,
    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
    - g_object_class_install_properties(obj_class, PROP_LAST, properties);
    + g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
    /* Signals */
    --- a/pidgin/gtkmedia.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/pidgin/gtkmedia.c Fri Jan 26 02:33:19 2024 -0600
    @@ -109,7 +109,8 @@
    enum {
    PROP_0,
    PROP_MEDIA,
    - PROP_SCREENNAME
    + PROP_SCREENNAME,
    + N_PROPERTIES,
    };
    static gboolean
    --- a/pidgin/pidginaccountchooser.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/pidgin/pidginaccountchooser.c Fri Jan 26 02:33:19 2024 -0600
    @@ -38,10 +38,10 @@
    PROP_0,
    PROP_ACCOUNT,
    PROP_FILTER,
    - PROP_LAST
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[PROP_LAST] = {NULL};
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    /******************************************************************************
    * Callbacks
    @@ -120,7 +120,7 @@
    GTK_TYPE_FILTER,
    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
    - g_object_class_install_properties(obj_class, PROP_LAST, properties);
    + g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
    /* Widget template */
    gtk_widget_class_set_template_from_resource(
    --- a/pidgin/pidginaccountdisplay.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/pidgin/pidginaccountdisplay.c Fri Jan 26 02:33:19 2024 -0600
    @@ -37,10 +37,10 @@
    enum {
    PROP_0,
    PROP_ACCOUNT,
    - PROP_LAST
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[PROP_LAST] = {NULL};
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    /******************************************************************************
    * Callbacks
    @@ -151,7 +151,7 @@
    PURPLE_TYPE_ACCOUNT,
    G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
    - g_object_class_install_properties(obj_class, PROP_LAST, properties);
    + g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
    /* Widget template */
    gtk_widget_class_set_template_from_resource(
    --- a/pidgin/pidginaccountfilterprotocol.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/pidgin/pidginaccountfilterprotocol.c Fri Jan 26 02:33:19 2024 -0600
    @@ -33,9 +33,9 @@
    enum {
    PROP_0,
    PROP_PROTOCOL_ID,
    - N_PROPERTIES
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES] = { NULL, };
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    /******************************************************************************
    * Helpers
    --- a/pidgin/pidginaccountmanagerrow.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/pidgin/pidginaccountmanagerrow.c Fri Jan 26 02:33:19 2024 -0600
    @@ -40,9 +40,9 @@
    enum {
    PROP_0,
    PROP_ACCOUNT,
    - N_PROPERTIES
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES] = { NULL, };
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    /******************************************************************************
    * Helpers
    --- a/pidgin/pidginaccountrow.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/pidgin/pidginaccountrow.c Fri Jan 26 02:33:19 2024 -0600
    @@ -38,7 +38,7 @@
    PROP_FILTER,
    N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES] = { NULL, };
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_FINAL_TYPE(PidginAccountRow, pidgin_account_row, ADW_TYPE_COMBO_ROW)
    --- a/pidgin/pidginconversation.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/pidgin/pidginconversation.c Fri Jan 26 02:33:19 2024 -0600
    @@ -37,7 +37,7 @@
    PROP_CONVERSATION,
    N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES] = {NULL,};
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    struct _PidginConversation {
    GtkBox parent;
    --- a/pidgin/pidgindisplayitem.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/pidgin/pidgindisplayitem.c Fri Jan 26 02:33:19 2024 -0600
    @@ -50,7 +50,7 @@
    PROP_CHILDREN,
    N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES] = {NULL,};
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_FINAL_TYPE(PidginDisplayItem, pidgin_display_item, G_TYPE_OBJECT)
    --- a/pidgin/pidgininvitedialog.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/pidgin/pidgininvitedialog.c Fri Jan 26 02:33:19 2024 -0600
    @@ -29,14 +29,14 @@
    };
    enum {
    - PROP_ZERO,
    + PROP_0,
    PROP_CONTACT,
    PROP_MESSAGE,
    PROP_CONVERSATION,
    N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES] = {0, };
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_FINAL_TYPE(PidginInviteDialog, pidgin_invite_dialog, GTK_TYPE_DIALOG)
    --- a/pidgin/pidginkeypad.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/pidgin/pidginkeypad.c Fri Jan 26 02:33:19 2024 -0600
    @@ -30,7 +30,7 @@
    enum {
    SIG_PRESSED,
    - N_SIGNALS
    + N_SIGNALS,
    };
    static guint signals[N_SIGNALS] = {0, };
    --- a/pidgin/pidginnotificationaddcontact.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/pidgin/pidginnotificationaddcontact.c Fri Jan 26 02:33:19 2024 -0600
    @@ -43,7 +43,7 @@
    PROP_NOTIFICATION,
    N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES] = { NULL, };
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_FINAL_TYPE(PidginNotificationAddContact,
    pidgin_notification_add_contact, ADW_TYPE_ACTION_ROW)
    --- a/pidgin/pidginnotificationauthorizationrequest.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/pidgin/pidginnotificationauthorizationrequest.c Fri Jan 26 02:33:19 2024 -0600
    @@ -44,7 +44,7 @@
    PROP_NOTIFICATION,
    N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES] = { NULL, };
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_FINAL_TYPE(PidginNotificationAuthorizationRequest,
    pidgin_notification_authorization_request,
    --- a/pidgin/pidginnotificationconnectionerror.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/pidgin/pidginnotificationconnectionerror.c Fri Jan 26 02:33:19 2024 -0600
    @@ -42,7 +42,7 @@
    PROP_NOTIFICATION,
    N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES] = { NULL, };
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_FINAL_TYPE(PidginNotificationConnectionError,
    pidgin_notification_connection_error, ADW_TYPE_ACTION_ROW)
    --- a/pidgin/pidginpresenceicon.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/pidgin/pidginpresenceicon.c Fri Jan 26 02:33:19 2024 -0600
    @@ -38,9 +38,9 @@
    PROP_PRESENCE,
    PROP_FALLBACK,
    PROP_ICON_SIZE,
    - N_PROPERTIES
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[N_PROPERTIES] = { NULL, };
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    G_DEFINE_FINAL_TYPE(PidginPresenceIcon, pidgin_presence_icon, GTK_TYPE_BOX)
    --- a/pidgin/pidginprotocolchooser.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/pidgin/pidginprotocolchooser.c Fri Jan 26 02:33:19 2024 -0600
    @@ -24,7 +24,7 @@
    #include "pidginprotocolchooser.h"
    enum {
    - PROP_ZERO,
    + PROP_0,
    PROP_PROTOCOL,
    N_PROPERTIES,
    };
    --- a/pidgin/plugins/disco/xmppdiscoservice.c Tue Jan 23 01:38:28 2024 -0600
    +++ b/pidgin/plugins/disco/xmppdiscoservice.c Fri Jan 26 02:33:19 2024 -0600
    @@ -55,10 +55,10 @@
    PROP_EXPANDED,
    PROP_ICON_NAME,
    PROP_CHILD_MODEL,
    - PROP_LAST
    + N_PROPERTIES,
    };
    -static GParamSpec *properties[PROP_LAST] = {NULL};
    +static GParamSpec *properties[N_PROPERTIES] = {NULL, };
    /******************************************************************************
    * Helpers
    @@ -274,7 +274,7 @@
    G_TYPE_LIST_MODEL,
    G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
    - g_object_class_install_properties(obj_class, PROP_LAST, properties);
    + g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
    }
    static void