View | Details | Raw Unified | Return to bug 14694
Collapse All | Expand All

(-)gnucash-2.2.3/src/gnome-utils/gnc-file.c.orig (-3 / +12 lines)
Lines 129-137 Link Here
129
    gtk_dialog_add_button(GTK_DIALOG(file_box),
129
    gtk_dialog_add_button(GTK_DIALOG(file_box),
130
			  okbutton, GTK_RESPONSE_ACCEPT);
130
			  okbutton, GTK_RESPONSE_ACCEPT);
131
131
132
  if (starting_dir)
132
  if (starting_dir) {
133
    char *local_starting_dir = g_filename_from_utf8(starting_dir, -1, NULL, NULL, NULL);
133
    gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER (file_box),
134
    gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER (file_box),
134
					starting_dir);
135
					local_starting_dir);
136
    g_free(local_starting_dir);
137
  }
135
138
136
  gtk_window_set_modal(GTK_WINDOW(file_box), TRUE);
139
  gtk_window_set_modal(GTK_WINDOW(file_box), TRUE);
137
  /*
140
  /*
Lines 172-178 Link Here
172
      /* nope, a local file name */
175
      /* nope, a local file name */
173
      internal_name = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER (file_box));
176
      internal_name = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER (file_box));
174
    }
177
    }
175
    file_name = g_strdup(internal_name);
178
    if (!g_utf8_validate(internal_name, -1, NULL)) {
179
      file_name = g_filename_to_utf8(internal_name, -1, NULL, NULL, NULL);
180
      if(!file_name)
181
        g_warning("Some characters in the filename is neither UTF-8 nor your local encoding\n");
182
    }
183
    if(!file_name)
184
      file_name = g_strdup(internal_name);
176
  }
185
  }
177
  gtk_widget_destroy(GTK_WIDGET(file_box));
186
  gtk_widget_destroy(GTK_WIDGET(file_box));
178
  LEAVE("%s", file_name ? file_name : "(null)");
187
  LEAVE("%s", file_name ? file_name : "(null)");

Return to bug 14694