]> cgit.babelmonkeys.de Git - jubjub.git/commitdiff
Use nodepart in roster, if no other name exists
authorFlorian Zeitz <florob@babelmonkeys.de>
Wed, 26 Dec 2012 01:25:08 +0000 (02:25 +0100)
committerFlorian Zeitz <florob@babelmonkeys.de>
Wed, 26 Dec 2012 01:25:08 +0000 (02:25 +0100)
src/gui/gtk/JubGtkRosterUI.m

index c5163e1ff0c8387619eb6e54b8458e8fb8087a2d..06ffd28b4edf8523c919bb01d20f6c4a6c5fbcc8 100644 (file)
@@ -133,7 +133,7 @@ static gboolean refilter_roster(gpointer data)
 struct add_roster_item_param {
        OFString *group;
        OFString *name;
-       OFString *jid;
+       XMPPJID *jid;
        OFMapTable *groupMap;
        OFMapTable *contactRows;
        GtkTreeStore *roster_model;
@@ -173,8 +173,14 @@ static gboolean add_roster_item(gpointer user_data)
 
        // Create new contact row
        gtk_tree_store_append(params->roster_model, &contact_iter, &group_iter);
-       gtk_tree_store_set(params->roster_model, &contact_iter,
-           0, [params->name UTF8String], 1, [params->jid UTF8String], -1);
+       if (params->name)
+               gtk_tree_store_set(params->roster_model, &contact_iter,
+                   0, [params->name UTF8String],
+                   1, [[params->jid bareJID] UTF8String], -1);
+       else
+               gtk_tree_store_set(params->roster_model, &contact_iter,
+                   0, [params->jid.node UTF8String],
+                   1, [[params->jid bareJID] UTF8String], -1);
 
        contact_path = gtk_tree_model_get_path(GTK_TREE_MODEL(
                params->roster_model), &contact_iter);
@@ -264,7 +270,7 @@ static gboolean remove_roster_item(gpointer user_data)
                            malloc(sizeof(*params));
                        params->group = [group retain];
                        params->name = [item.name retain];
-                       params->jid = [bareJID retain];
+                       params->jid = [item.JID retain];
                        params->groupMap = [groupMap retain];
                        params->contactRows = [contactRows retain];
                        params->roster_model = g_object_ref(roster_model);
@@ -318,7 +324,7 @@ static gboolean remove_roster_item(gpointer user_data)
                            malloc(sizeof(*params));
                        params->group = [group retain];
                        params->name = [item.name retain];
-                       params->jid = [[item.JID bareJID] retain];
+                       params->jid = [item.JID retain];
                        params->groupMap = [groupMap retain];
                        params->contactRows = [contactRows retain];
                        params->roster_model = g_object_ref(roster_model);