Dzięki saji89 za linkowanie do dotkniętych plików. Na wypadek, gdyby ktokolwiek nadal się tym przejmował (także dla mnie, ponieważ ostatnie uaktualnienie pozwoliło mu na powrót), stworzyłem łatkę ( http://pastebin.com/VE4STB6M ), aby naprawić tę irytującą pomyłkę. Poprawione gtk nadal będzie wyświetlać „Ostatnio używane” w oknach dialogowych, ale nie będzie domyślnie zaznaczone w oknach dialogowych (domyślnie będzie to katalog ostatnio używany lub katalog domowy). Dla mnie to rozwiązuje problem, ponieważ moim głównym problemem było wyskakiwanie mi w twarz, zwłaszcza gdy próbowałem coś uratować.
Instrukcje krok po kroku:
1) Otwórz okno terminala i wprowadź następujące polecenia:
mkdir recently_used_fix
cd recently_used_fix/
sudo apt-get build-dep gtk+2.0
apt-get source gtk+2.0
wget -O deselect_recently_used.patch http://pastebin.com/download.php?i=VE4STB6M
patch -p0 < deselect_recently_used.patch
cd gtk+2.0-2.24.10/
echo jlj | dpkg-source --commit
sudo dpkg-buildpackage
cd ..
2) Zamknij dowolne menedżery pakietów (takie jak Synaptic) i wprowadź następujące polecenie w oknie terminala:
sudo dpkg -i *.deb
3) Jeśli dpkg -i
polecenie zawiera błędy dotyczące zastępowania garści istniejących plików (dzienniki zmian itp.), Użyj, aby usunąć każdy plik, na który skarżyłeś się, a następnie powtórz krok 2. Zauważyłem, że nie działa z tego powodu, z jakiegokolwiek powodu.sudo rm FILENAME
--force-overwrite
4) Opcjonalnie: Po pomyślnym zainstalowaniu pakietów, użyj Synaptic do przypięcia / przytrzymania ( Package > Lock Version
) każdego zainstalowanego pakietu, aby uniknąć konieczności ponownego przechodzenia przez to wszystko (oczywiście nie byłoby żadnych aktualizacji zabezpieczeń).
5) Zamknij i ponownie otwórz wszystkie aplikacje, na które ma to wpływ (pluma, gedit, gimp itp.) I ciesz się bezproblemowymi dialogami otwierania / zapisywania!
6) Opcjonalnie: Wpisz następujące polecenia w oknie terminala, aby usunąć utworzone przez nas pliki i katalogi (poprawka pozostanie zainstalowana):
cd ..
sudo rm -rf recently_used_fix/
Jeśli poprawki nie można pobrać, oto kopia zapasowa:
--- gtk + 2.0-2.24.10 / gtk / gtkfilechooserdefault.c 2011-11-08 10: 20: 20.000000000 -0700
+++ Pobieranie / gtk / gtk + 2.0-2.24.10 / gtk / gtkfilechooserdefault.c 2012-07-10 17: 20: 38.000000000 -0700
@@ -5971,10 +5971,18 @@ gtk_file_chooser_default_map (GtkWidget
if (impl-> tryb_operacji == OPERATION_MODE_BROWSE)
{
+ Folder GFile *;
+
przełącznik (impl-> reload_state)
{
sprawa RELOAD_EMPTY:
- latest_shortcut_handler (impl);
+ / * Użytkownik nie dał nam wyraźnie folderu do wyświetlenia, więc zrobimy to
+ * użyj zapisanego z ostatniego wywołania selektora plików
+ * /
+ folder = get_file_for_last_folder_opened (impl);
+ gtk_file_chooser_set_current_folder_file (GTK_FILE_CHOOSER (impl), folder, NULL);
+ g_object_unref (folder);
+ / * latest_shortcut_handler (impl); * /
złamać;
sprawa RELOAD_HAS_FOLDER:
@@ -6005,8 +6013,8 @@ gtk_file_chooser_default_unmap (GtkWidge
settings_save (impl);
- cancel_all_operations (impl);
- impl-> reload_state = RELOAD_EMPTY;
+ / * cancel_all_operations (impl);
+ impl-> reload_state = RELOAD_EMPTY; * /
GTK_WIDGET_CLASS (_gtk_file_chooser_default_parent_class) -> unmap (widget);
}