2006-09-04 Matthias Clasen * === Released 2.10.3 === * NEWS: Updates 2006-09-04 Kristian Rietveld Merged from HEAD: * gtk/gtkfilechooserdefault.c (update_current_folder_get_info_cb): if setting the given folder failed, try setting the parent folder until we succeed; display an error box at the end. 2006-09-04 Kristian Rietveld Merged from HEAD: * gtk/gtkpathbar.c (gtk_path_bar_dispose): don't cancel the operations spawned by buttons here, (set_button_image_get_info_cb): bail out if button is NULL, but do free button_data, (button_data_free): only free the data if non NULL (since this function can be called multiple times for the same data), cancel handle if pending but don't free button_data in this case (will happen in the callback). 2006-09-04 Kristian Rietveld Merged from HEAD: * gtk/gtkfilechooserdefault.c (save_entry_get_info_cb), (file_exists_get_info_cb), (gtk_file_chooser_default_should_respond): change file_exists_and_is_not_folder checks to get the file info for the path directly instead of querying the current file folder of the save entry. * gtk/gtkfilechooserprivate.h (struct _GtkFileChooserDefault): add new field. * tests/autotestfilechooser.c (wait_for_idle_idle), (wait_for_idle), (test_reload_sequence), (test_button_folder_states_for_action): wait for idle after setting a folder to ensure the async operations to load the folder are finished, (test_confirm_overwrite), (test_confirm_overwrite_for_path): factor out test_confirm_overwrite code so we can add tests for more paths more easily. 2006-09-04 Kristian Rietveld Merged from HEAD: First part of file chooser fixes. * gtk/gtkfilechooserbutton.c (model_add_special): also set the handle in the model for the desktopdir case. * gtk/gtkfilechooserdefault.c (shortcuts_add_current_folder): free volume in case we retrieved it but don't pass it on to insert_path, (shortcuts_model_create): change the column type for the handles to pointer instead of GObject so our handle ref counting is not disturbed, (show_and_select_paths_finished_loading): don't forget to unref the dialog. * gtk/gtkfilesystemunix.c (gtk_file_system_unix_class_init), (gtk_file_system_unix_init), (gtk_file_system_unix_dispose): remove pending execute_callbacks_idle during dispose, also execute all callbacks waiting to be run in the next idle, (queue_*callback), (execute_callbacks_idle): refactor to maintain a list of callbacks to call per file system instead of globally, guard the file system during callback invocation, (gtk_file_system_unix_get_folder): only add load folder idle if none has been added yet. 2006-09-04 Michael Natterer Merged from HEAD: * gtk/gtkrc.c (rc_parse_token_or_compound) (gtk_rc_parse_assignment): serialize floating point values using locale-independent functions. (#346751, Frederic Crozat) 2006-09-03 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_class_init): Fix a typo. (#354035, Mariano Suárez-Alvarez) * gtk/gtkmain.c (post_parse_hook): * gdk/gdk.c (gdk_init): Handle display_name being NULL. (#354004, Chris Wilson) 2006-09-01 Abel Cheung * configure.in: Added 'ang' 'dz' to ALL_LINGUAS. 2006-08-31 Matthias Clasen * modules/printbackends/cups/gtkprintbackendcups.c (cups_request_printer_list_cb): Send printer-list-done on error. 2006-08-29 Emmanuele Bassi Backport from HEAD * gtk/gtkrecentchoosermenu.c (gtk_recent_chooser_menu_set_current_uri): Break when an item is found and activated. (#353449, based on a patch from Jan Arne Petersen) 2006-08-29 Paolo Borelli * tests/autotestfilesystem.c: add this file from HEAD to fix the build. 2006-08-28 Matthias Clasen * modules/printbackend/cups/gtkprintbackendcups.c: Use a resonable timeout of 3 seconds when polling for printer list updates, instead of 300000 seconds... 2006-08-28 Michael Natterer Merged from HEAD: * gtk/gtktextbufferserialize.c (serialize_text): don't write out for tags that have already been closed by the logic which turns overlapping spans into XML-able trees. Fixes broken XML when there are overlapping tags in the buffer. Also free two leaked GLists and did some cleanup. * tests/Makefile.am * tests/testrichtext.c: new test which creates randomly tagged GtkTextBuffers and serializes/deserializes them. 2006-08-26 Matthias Clasen * gtk/gtkstatusicon.c (gtk_status_icon_reset_image_data): Don't leak pixbufs. (#352264, Ross Burton) * gtk/gtklinkbutton.c (set_link_underline): Don't leak PangoAttributes. (#352391, Paolo Borelli) 2006-08-25 Matthias Clasen * demos/gtk-demo/Makefile.am: * demos/gtk-demo/textscroll.c: Add an example of automatic scrolling, thanks to Yevgen Muntyan. (#351206) 2006-08-23 Federico Mena Quintero * gtk/gtkfilesystem.[ch] (_gtk_file_system_create): Renamed to gtk_file_system_create() so that it will get exported and we can use it in the test program. * gtk/gtk.symbols: Added gtk_file_system_create. * gtk/gtkfilechooserdefault.c (set_file_system_backend): Use gtk_file_system_create(). * tests/autotestfilesystem.c: New file with automatic tests for the async callbacks and cancelation policy of GtkFileSystem. * tests/Makefile.am: Added autotestfilesystem. 2006-08-23 Matthias Clasen * gtk/gtkprinteroptionwidget.[hc]: Fix confusion about names and values in comboboxes, and clean up some coding style issues. 2006-08-23 Tor Lillqvist * gtk/gtkfilesystemwin32.c (gtk_file_system_win32_make_path): Revert unintended translatable string addition. Use same string in GError as in gtkfilesystemunix.c. * gtk/gtkfilesystemwin32.c (_gtk_file_system_win32_path_compare): Fix logic at the end of strings. * gtk/gtkfilesystemwin32.c: Maintain a hash table of live handles and check that we have no outstanding handles at finalization time. (Copying what Matthias did for gtkfilesystemunix.c) 2006-08-23 Matthias Clasen * gtk/gtkfilesystemunix.c: Maintain a hash table of live handles and check that we have no outstanding handles at finalization time. (Copying what Federico did for gtkfilesystemgnomevfs.c) 2006-08-22 Matthias Clasen * Branch for 2.10 2006-08-23 Tor Lillqvist * gtk/gtkfilesystemwin32.c: Remove dead code. Reduce spurious differences between this file and gtkfilesystemunix.c so that it is easier to compare them and check if differences are intentional. I will later factor out the common functions and code snippets from these two files. 2006-08-23 Tor Lillqvist Fix several problems with the file chooser on Windows, for instance prevent duplicated directory entries from appearing. * gtk/gtkfilesystem.c (gtk_file_paths_sort): Use _gtk_file_system_win32_path_compare() on Windows for casefolded sorting. * gtk/gtkfilesystemwin32.c (casefolded_hash, casefolded_equal): case-independent hash and equality functions. Scan the UTF-8 strings gunichar by gunichar, and ignore special casing rules, to more closely match NTFS behaviour. (gtk_file_system_win32_init): Use casefolded_hash() and casefolded_equal() for the folder hash table. (remove_trailing_slash): Don't remove the slash of a drive or share root. (get_mime_type_for_file): Take also a WIN32_FILE_ATTRIBUTE_DATA as argument, and use that to recognize directories. Don't call g_file_test() to check for executables, just look at the file name extension directly. (gtk_file_system_win32_make_path): Check illegal chars in file name, like in gtkfilesystemunix.c. (create_file_info): Drop unused basename parameter. Call g_filename_display_name() directly for roots, as g_filename_display_basename() mishandles those. (gtk_file_folder_win32_get_info): Skip sanity check for now, as it fails for server share roots. Construct basename only in the if branch that uses it. (fill_in_names): Use casefolded_hash() and casefolded_equal() for the folder's stat_info hash table, too. (_gtk_file_system_win32_path_compare): Scan the strings gunichar by gunichar and ignore special casing here, too, instead of using g_utf8_casefold(). Match slash and backslash. 2006-08-23 Tor Lillqvist * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_mask) (gdk_window_input_shape_combine_mask) (gdk_window_shape_combine_region) (gdk_window_input_shape_combine_region): Add Win32 detail to doc comments. 2006-08-22 Paolo Borelli * gtk/gtktextview.c: do not scroll on copy. Bug #329604. 2006-08-18 Matthias Clasen * gtk/gtkrecentchooser.c (gtk_recent_chooser_get_uris): Behave as documented and always return a NULL-terminated array. * gtk/gtkrecentmanager.c (gtk_recent_manager_real_changed): Make sure to reset write_in_progress.