]> granicus.if.org Git - transmission/commitdiff
(trunk gtk) #3554 "turtle speed button doesn't update when toggled via RPC" -- fix...
authorCharles Kerr <charles@transmissionbt.com>
Fri, 24 Sep 2010 14:21:08 +0000 (14:21 +0000)
committerCharles Kerr <charles@transmissionbt.com>
Fri, 24 Sep 2010 14:21:08 +0000 (14:21 +0000)
gtk/main.c

index 4735a4416ac81eced3583d17dc6ef3cac62f1acc..9551ff8d29b1d6455c82ec8797e16bc2178c60c5 100644 (file)
@@ -452,6 +452,8 @@ onRPCChanged( tr_session            * session,
             tr_benc * newval;
             tr_benc * oldvals = pref_get_all( );
             const char * key;
+            GSList * l;
+            GSList * changed_keys = NULL;
             tr_bencInitDict( &tmp, 100 );
             tr_sessionGetSettings( session, &tmp );
             for( i=0; tr_bencDictChild( &tmp, i, &key, &newval ); ++i )
@@ -469,9 +471,14 @@ onRPCChanged( tr_session            * session,
                 }
 
                 if( changed )
-                    prefschanged( cbdata->core, key, cbdata );
+                    changed_keys = g_slist_append( changed_keys, key );
             }
             tr_sessionGetSettings( session, oldvals );
+
+            for( l=changed_keys; l!=NULL; l=l->next )
+                prefschanged( cbdata->core, key, cbdata );
+
+            g_slist_free( changed_keys );
             tr_bencFree( &tmp );
             break;
         }