From: Charles Kerr Date: Tue, 3 Aug 2010 03:16:21 +0000 (+0000) Subject: (trunk) #3478 "Display bug when magnet links without display names are added" --... X-Git-Tag: 2.10~170 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5624840ac4029609a193b1064710f97bb1d293dc;p=transmission (trunk) #3478 "Display bug when magnet links without display names are added" -- fixed in trunk --- diff --git a/gtk/tr-core.c b/gtk/tr-core.c index ef1f5a94b..52e2114a8 100644 --- a/gtk/tr-core.c +++ b/gtk/tr-core.c @@ -362,7 +362,7 @@ compareByName( GtkTreeModel * model, gtk_tree_model_get( model, a, MC_NAME_COLLATED, &ca, -1 ); gtk_tree_model_get( model, b, MC_NAME_COLLATED, &cb, -1 ); - ret = strcmp( ca, cb ); + ret = gtr_strcmp0( ca, cb ); g_free( cb ); g_free( ca ); @@ -893,11 +893,11 @@ tr_core_add_torrent( TrCore * self, { const tr_info * inf = tr_torrent_info( gtor ); const tr_stat * st = tr_torrent_stat( gtor ); - tr_torrent * tor = tr_torrent_handle( gtor ); - char * collated = g_utf8_strdown( inf->name, -1 ); - char * trackers = torrentTrackerString( tor ); + tr_torrent * tor = tr_torrent_handle( gtor ); + char * collated = g_utf8_strdown( inf->name ? inf->name : "", -1 ); + char * trackers = torrentTrackerString( tor ); GtkListStore * store = GTK_LIST_STORE( tr_core_model( self ) ); - GtkTreeIter unused; + GtkTreeIter unused; gtk_list_store_insert_with_values( store, &unused, 0, MC_NAME, inf->name, diff --git a/libtransmission/metainfo.c b/libtransmission/metainfo.c index 352646ecd..7b33241c1 100644 --- a/libtransmission/metainfo.c +++ b/libtransmission/metainfo.c @@ -438,10 +438,14 @@ tr_metainfoParseImpl( const tr_session * session, escape( inf->hashEscaped, inf->hash, SHA_DIGEST_LENGTH ); /* maybe get the display name */ + if( tr_bencDictFindStr( d, "display-name", &str ) ) { tr_free( inf->name ); inf->name = tr_strdup( str ); } + + if( !inf->name ) + inf->name = tr_strdup( inf->hashString ); } else /* not a magnet link and has no info dict... */ {