From 3dcb64a7c140e44fe67ea3f7c4cb756ac9eca73b Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Thu, 5 Mar 2009 02:40:58 +0000 Subject: [PATCH] (trunk gtk) #1773: First run - error in Properties --- gtk/main.c | 9 ++++++++- gtk/tr-prefs.c | 5 ++--- gtk/tr-prefs.h | 4 ++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/gtk/main.c b/gtk/main.c index edd5b2bb7..6d782e929 100644 --- a/gtk/main.c +++ b/gtk/main.c @@ -406,7 +406,7 @@ main( int argc, tr_notify_init( ); didinit = cf_init( configDir, NULL ); /* must come before actions_init */ - tr_prefs_init_global( ); + tr_prefs_init_defaults( ); myUIManager = gtk_ui_manager_new ( ); actions_init ( myUIManager, cbdata ); @@ -438,9 +438,16 @@ main( int argc, if( didlock && ( didinit || cf_init( configDir, &err ) ) ) { + const char * str; GtkWindow * win; tr_session * session; + /* ensure the directories are created */ + if(( str = pref_string_get( PREF_KEY_DIR_WATCH ))) + mkdir_p( str, 0777 ); + if(( str = pref_string_get( TR_PREFS_KEY_DOWNLOAD_DIR ))) + mkdir_p( str, 0777 ); + /* initialize the libtransmission session */ session = tr_sessionInit( "gtk", configDir, TRUE, pref_get_all( ) ); cbdata->core = tr_core_new( session ); diff --git a/gtk/tr-prefs.c b/gtk/tr-prefs.c index 4b89cba39..aeec1c719 100644 --- a/gtk/tr-prefs.c +++ b/gtk/tr-prefs.c @@ -33,7 +33,7 @@ * If you add a new preferences key, you /must/ add a default value here. */ void -tr_prefs_init_global( void ) +tr_prefs_init_defaults( void ) { const char * str; @@ -42,8 +42,8 @@ tr_prefs_init_global( void ) #ifdef HAVE_GIO str = NULL; if( !str ) str = g_get_user_special_dir( G_USER_DIRECTORY_DESKTOP ); + if( !str ) str = g_get_user_special_dir( G_USER_DIRECTORY_DOWNLOAD ); if( !str ) str = tr_getDefaultDownloadDir( ); - mkdir_p( str, 0777 ); pref_string_set_default ( PREF_KEY_DIR_WATCH, str ); pref_flag_set_default ( PREF_KEY_DIR_WATCH_ENABLED, FALSE ); #endif @@ -79,7 +79,6 @@ tr_prefs_init_global( void ) if( !str ) str = g_get_user_special_dir( G_USER_DIRECTORY_DOWNLOAD ); #endif if( !str ) str = tr_getDefaultDownloadDir( ); - mkdir_p( str, 0777 ); pref_string_set_default ( TR_PREFS_KEY_DOWNLOAD_DIR, str ); pref_flag_set_default ( PREF_KEY_ASKQUIT, TRUE ); diff --git a/gtk/tr-prefs.h b/gtk/tr-prefs.h index d9850630d..4c874254c 100644 --- a/gtk/tr-prefs.h +++ b/gtk/tr-prefs.h @@ -19,7 +19,7 @@ GtkWidget * tr_prefs_dialog_new( GObject * core, GtkWindow * parent ); /* if you add a key here, you /must/ add its - * default in tr_prefs_init_global( void ) */ + * default in tr_prefs_init_defaults( void ) */ #define PREF_KEY_SCHED_LIMIT_ENABLED "sched-limit-enabled" #define PREF_KEY_SCHED_BEGIN "sched-begin" @@ -50,6 +50,6 @@ GtkWidget * tr_prefs_dialog_new( GObject * core, #define PREF_KEY_MAIN_WINDOW_X "main-window-x" #define PREF_KEY_MAIN_WINDOW_Y "main-window-y" -void tr_prefs_init_global( void ); +void tr_prefs_init_defaults( void ); #endif