diff options
Diffstat (limited to 'source/l/gtk+/gtk+-1.2.10-deletedir.patch')
-rw-r--r-- | source/l/gtk+/gtk+-1.2.10-deletedir.patch | 188 |
1 files changed, 188 insertions, 0 deletions
diff --git a/source/l/gtk+/gtk+-1.2.10-deletedir.patch b/source/l/gtk+/gtk+-1.2.10-deletedir.patch new file mode 100644 index 00000000..7a1151c9 --- /dev/null +++ b/source/l/gtk+/gtk+-1.2.10-deletedir.patch @@ -0,0 +1,188 @@ +--- gtk+-1.2.10/gtk/gtkfilesel.c.deletedir Thu Feb 15 23:36:19 2001 ++++ gtk+-1.2.10/gtk/gtkfilesel.c Wed Apr 17 20:36:25 2002 +@@ -325,7 +325,8 @@ + + static void gtk_file_selection_populate (GtkFileSelection *fs, + gchar *rel_path, +- gint try_complete); ++ gboolean try_complete, ++ gboolean reset_entry); + static void gtk_file_selection_abort (GtkFileSelection *fs); + + static void gtk_file_selection_update_history_menu (GtkFileSelection *fs, +@@ -522,7 +523,7 @@ + } + else + { +- gtk_file_selection_populate (filesel, "", FALSE); ++ gtk_file_selection_populate (filesel, "", FALSE, TRUE); + } + + gtk_widget_grab_focus (filesel->selection_entry); +@@ -637,7 +638,7 @@ + name = last_slash + 1; + } + +- gtk_file_selection_populate (filesel, buf, FALSE); ++ gtk_file_selection_populate (filesel, buf, FALSE, TRUE); + + if (filesel->selection_entry) + gtk_entry_set_text (GTK_ENTRY (filesel->selection_entry), name); +@@ -673,7 +674,7 @@ + + if (filesel->selection_entry) + gtk_entry_set_text (GTK_ENTRY (filesel->selection_entry), pattern); +- gtk_file_selection_populate (filesel, (gchar*) pattern, TRUE); ++ gtk_file_selection_populate (filesel, (gchar*) pattern, TRUE, TRUE); + } + + static void +@@ -806,7 +807,7 @@ + g_free (full_path); + + gtk_widget_destroy (fs->fileop_dialog); +- gtk_file_selection_populate (fs, "", FALSE); ++ gtk_file_selection_populate (fs, "", FALSE, FALSE); + } + + static void +@@ -903,7 +904,7 @@ + g_free (full_path); + + gtk_widget_destroy (fs->fileop_dialog); +- gtk_file_selection_populate (fs, "", FALSE); ++ gtk_file_selection_populate (fs, "", FALSE, TRUE); + } + + static void +@@ -1009,8 +1010,9 @@ + g_free (new_filename); + g_free (old_filename); + ++ gtk_file_selection_populate (fs, "", FALSE, FALSE); ++ gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), file); + gtk_widget_destroy (fs->fileop_dialog); +- gtk_file_selection_populate (fs, "", FALSE); + } + + static void +@@ -1112,7 +1114,7 @@ + + text = g_strdup (text); + +- gtk_file_selection_populate (fs, text, TRUE); ++ gtk_file_selection_populate (fs, text, TRUE, TRUE); + + g_free (text); + +@@ -1124,7 +1126,6 @@ + return FALSE; + } + +- + static void + gtk_file_selection_history_callback (GtkWidget *widget, gpointer data) + { +@@ -1142,7 +1143,7 @@ + + if (callback_arg->menu_item == widget) + { +- gtk_file_selection_populate (fs, callback_arg->directory, FALSE); ++ gtk_file_selection_populate (fs, callback_arg->directory, FALSE, FALSE); + break; + } + +@@ -1272,7 +1273,7 @@ + gpointer user_data) + { + GtkFileSelection *fs = NULL; +- gchar *filename, *temp = NULL; ++ gchar *filename = NULL; + + g_return_if_fail (GTK_IS_CLIST (widget)); + +@@ -1280,39 +1281,23 @@ + g_return_if_fail (fs != NULL); + g_return_if_fail (GTK_IS_FILE_SELECTION (fs)); + +- gtk_clist_get_text (GTK_CLIST (fs->dir_list), row, 0, &temp); +- filename = g_strdup (temp); +- +- if (filename) +- { +- if (bevent) +- switch (bevent->type) +- { +- case GDK_2BUTTON_PRESS: +- gtk_file_selection_populate (fs, filename, FALSE); +- break; +- +- default: +- gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), filename); +- break; +- } +- else +- gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), filename); +- +- g_free (filename); +- } ++ gtk_clist_get_text (GTK_CLIST (fs->dir_list), row, 0, &filename); ++ ++ if (filename && bevent && bevent->type == GDK_2BUTTON_PRESS) ++ gtk_file_selection_populate (fs, filename, FALSE, FALSE); + } + + static void + gtk_file_selection_populate (GtkFileSelection *fs, + gchar *rel_path, +- gint try_complete) ++ gboolean try_complete, ++ gboolean reset_entry) + { + CompletionState *cmpl_state; + PossibleCompletion* poss; + gchar* filename; + gint row; +- gchar* rem_path = rel_path; ++ gchar* rem_path; + gchar* sel_text; + gchar* text[2]; + gint did_recurse = FALSE; +@@ -1323,6 +1308,8 @@ + + g_return_if_fail (fs != NULL); + g_return_if_fail (GTK_IS_FILE_SELECTION (fs)); ++ ++ rem_path = rel_path = g_strdup (rel_path); + + cmpl_state = (CompletionState*) fs->cmpl_state; + poss = cmpl_completion_matches (rel_path, &rem_path, cmpl_state); +@@ -1422,7 +1409,7 @@ + + did_recurse = TRUE; + +- gtk_file_selection_populate (fs, dir_name, TRUE); ++ gtk_file_selection_populate (fs, dir_name, TRUE, TRUE); + + g_free (dir_name); + } +@@ -1441,7 +1428,7 @@ + gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), rem_path); + } + } +- else ++ else if (reset_entry) + { + if (fs->selection_entry) + gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), ""); +@@ -1466,8 +1453,9 @@ + { + gtk_file_selection_update_history_menu (fs, cmpl_reference_position (cmpl_state)); + } +- + } ++ ++ g_free (rel_path); + } + + static void |