2005-02-16 Matthias Clasen Fixes for #143829, Tommi Komulainen, Christian Persch: * gtk/gtktreeview.c (gtk_tree_view_destroy): Remove the typeselect_flush_timeout when destroying the widgets it is operating on. (gtk_tree_view_ensure_interactive_directory): Add the popup to the window group of the toplevel it belongs to. * gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget) (gtk_combo_box_popup): Do the same here. 2005-02-11 Matthias Clasen * gtk/gtkpathbar.c (gtk_path_bar_finalize): Stop scrolling when the pathbar goes away. (#167094, Rodney Dawes) (change_icon_theme): Use GTK_ICON_SIZE_MENU here as well (Vincent Noel) 2005-02-11 Matthias Clasen Complete the fix for #165770, Vincent Noel: * gtk/gtkfilechooserbutton.c (FALLBACK_ICON_SIZE): Make the fallback size be 16, to be equal to the default for GTK_ICON_SIZE_MENU (in gtkiconfactory.c:init_icon_sizes()). (gtk_file_chooser_button_init): (change_icon_theme): Use GTK_ICON_SIZE_MENU instead of GTK_ICON_SIZE_SMALL_TOOLBAR. 2005-02-09 Matthias Clasen * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): Fix RTL keynav for going from menubar to menu. 2005-02-08 Christian Rose * configure.in: Added "xh" to ALL_LINGUAS. 2005-02-04 Matthias Clasen * configure.in: Post-release version bump. * === Released 2.6.2 === * NEWS: Updates 2005-02-04 Matthias Clasen * gtk/gtkpaned.c (gtk_paned_compute_position): Work better when there is not enough space. This avoids a nasty size allocation loop in the file chooser. (#154007, reported by Milosz Derezynski, patch by Robert Ögren) 2005-02-04 Matthias Clasen * gtk/gtkentry.c (gtk_entry_create_layout): Avoid spurious selection of RTL direction if the widget does not have focus. (#164125, Frederic Crozat) 2005-02-03 Tor Lillqvist * modules/input/gtkimcontextime.c (get_pango_attr_list): Use the wide character version of ImmGetCompositionString() here, too. (#165278, Takuro Ashie) 2005-02-03 Mark McLoughlin * gtk/gtkicontheme.c: (load_themes): remove debug spew. 2005-02-03 Matthias Clasen * gtk/gtkmenu.c (gtk_menu_handle_scrolling): Don't do one roundtrip per motion event. (#166173, pointed out by Chris Lee, patch by Søren Sandmann) 2005-02-03 Matthias Clasen * gdk/gdkkeynames.c: Make the gdk_key array const (#166075, Tommi Komulainen) 2005-02-02 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (pending_select_paths_process): Don't select the first row if the chooser is not mapped. This happens when it's acting on behalf of GtkFileChooserButton. Also, don't select the first row if we are in SAVE or CREATE_FOLDER modes --- I had missed that (see the ChangeLog entry from 2005-01-18). Fixes #165264. 2005-02-02 Tor Lillqvist Implement lazy extended input initialization on Win32, by Robert Ögren. Fixes #163163, possibly #162334. Lazy initialization would be a good idea in any case even if it didn't fix any visible problems, though. The Wacom tablet driver seems to get confused if Wintab is initialized but no window is shown before the process exits. This is the case for some GIMP plug-ins, for instance. * gdk/win32/gdkinput-win32.c (_gdk_input_wintab_init_check): Made non-static (and renamed). (_gdk_input_init): Don't call _gdk_input_wintab_init_check(). * gdk/win32/gdkinput-win32.h: Declare _gdk_input_wintab_init_check(). * gdk/win32/gdkinput.c (gdk_devices_list, gdk_display_list_devices, gdk_input_set_extension_events): Call _gdk_input_wintab_init_check() here instead. 2005-02-02 Ivan, Wong Yat Cheung * gdk/win32/gdkselection.c: Use a FIFO list for storing GdkSelProp of a single window so that gtk_clipboard_request_contents() can be called inside a GtkClipboardReceivedFunc(). (#163844) 2005-02-02 Matthias Clasen * NEWS: Updates 2005-02-01 Matthias Clasen * gtk/gtkicontheme.c (gtk_icon_theme_init): Look for icons in XDG_DATA_DIRS/pixmaps. (#165950, Thomas Zajic) * gtk/gtkwindow.c (gtk_window_set_icon_name): Set info->icon_list to NULL after freeing it. (#165800, Damon Chaplin) 2005-02-01 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (browse_files_model_finished_loading_cb): Don't g_assert_not_reached() if we are in any other state. Another code path may have triggered a folder reload. Fixes #165556. 2005-02-01 Michael Natterer * configure.in: depend on stable pango-1.8, not unstable 1.7 2005-02-01 Federico Mena Quintero Fix #165770: * gtk/gtkfilechooserdefault.c (FALLBACK_ICON_SIZE): Make the fallback size be 16, to be equal to the default for GTK_ICON_SIZE_MENU (in gtkiconfactory.c:init_icon_sizes()). (change_icon_theme): Use GTK_ICON_SIZE_MENU instead of GTK_ICON_SIZE_SMALL_TOOLBAR. 2005-02-01 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Remove debug printf. (#165877, Carlos Garnacho Parro) * */*.c: Fix many instances of "the the" in docs and comments. (#165815, Masao Mutoh) * gtk/updateiconcache.c (main): Add a --quiet option. 2005-02-01 Tor Lillqvist * gdk/win32/gdkkeys-win32.c (handle_special, set_shift_vks, reset_after_dead, handle_dead): New functions, code blocks refactored out of update_keymap(). No functionality change. (update_keymap): Use ToUnicodeEx() when available (on NT-based Windows) instead of ToAsciiEx(). Makes keyboard input work in Unicode-only input locales that don't have any ANSI codepage, for instance Hindi and Bengali. Use _gdk_input_codepage only on Win9x. (#165723) * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_INPUTLANGCHANGE, use GetLocaleInfo() instead of TranslateCharsetInfo() to get the input locale's corresponding codepage, if any. 2005-01-31 Matthias Clasen * modules/input/gtkimcontextxim.c: Use NULL, not 0 to terminate NULL-terminated va lists. (#165683) Thu Jan 27 14:25:45 2005 Manish Singh * README.cvs-commits: update ancient IRC info. 2005-01-27 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_select_path): Oops, don't assert that we can't reach the end of the function; this happens if we are still loading but don't need a path change. Fixes #165213. 2005-01-27 Matthias Clasen * gtk/gtkaboutdialog.c: Some visual tweaks to the about dialog, obey HIG spacing a bit more, add a hand cursor when over the link button. (#163979, Jorn Baayen) 2005-01-26 Matthias Clasen * gtk/gtkentrycompletion.c (gtk_entry_completion_class_init): Don't allow -1 as minimum-key-length. (gtk_entry_completion_set_model): Add missing notification. (gtk_entry_completion_set_minimum_key_length): Add missing notification, allow setting minimum-key-length to 0. (#165194, Vincent Ladeuil) 2005-01-26 Matthias Clasen * gtk/gtkaboutdialog.c (display_license_dialog): Make sure the license dialog is initially displayed without a horizontal scrollbar. (gtk_about_dialog_class_init): Document the fact that the license text is not wrapped. (#165012, Christian Rose) 2005-01-25 Matthias Clasen * gtk/gtkbutton.c (gtk_button_set_image): Fix docs. (#165180, Jeff Franks) * gdk/x11/gdkwindow-x11.c (gdk_window_configure_finished): Fix docs. (#165163, Jeff Franks) * gtk/gtkimage.c (gtk_image_get_property): Use the correct setter for a string GValue. (#165203, Damon Chaplin) 2005-01-24 Matthias Clasen * gdk/x11/gdkdisplay-x11.c (_gdk_windowing_set_default_display): Initialize user_time from DESKTOP_STARTUP_ID. (#165131, Elijah Newren) 2005-01-24 Federico Mena Quintero * gtk/gtkfilechooserdefault.c: Removed leftover comments. 2005-01-24 Federico Mena Quintero Fix #147785 and clean up the loading code: * gtk/gtkfilechooserdefault.c (LoadState): Make the set of states be EMPTY, PRELOAD, LOADING, FINISHED. (gtk_file_chooser_default_init): Start in the LOAD_EMPTY state. (struct _GtkFileChooserDefault): Added a pending_select_paths field. (load_remove_timer): Add the new states. (load_setup_timer): Likewise. (load_timeout_cb): Likewise. Switch to the LOAD_LOADING state. (browse_files_model_finished_loading_cb): Switch to the LOAD_FINISHED state. (enum PendingOp): Removed. (struct _GtkFileChooserDefault): Removed the pending_op and pending_select_path fields. (pending_select_paths_free): New utility function. (pending_select_paths_add): New utility function. (gtk_file_chooser_default_finalize): Call pending_select_paths_free(). (pending_op_queue): Removed. (pending_op_process): Removed. (pending_select_paths_process): New function. (browse_files_model_finished_loading_cb): Call pending_select_paths_process(). (center_selected_row_foreach_cb): Handle multiple selection by only centering the first row. (get_is_file_filtered): Constify. (gtk_file_chooser_default_select_path): Queue into a list of paths to select if we are not finished loading. (show_and_select_paths): New utility function. (up_folder_handler): Use pending_select_paths_add(). (gtk_file_chooser_default_should_respond): Do not call pending_op_queue(); free the pending_selected_paths instead. (gtk_file_chooser_default_initial_focus): Don't queue a pending operation, and don't select the first row unconditionally --- this will happen when the folder is done loading. (shortcuts_row_activated_cb): Free the pending_select_paths. (pending_select_paths_store_selection): New utility function. (gtk_file_chooser_default_map): Call pending_select_paths_store_selection() to save the selection before reloading the folder. (select_func): Umm? Call gtk_tree_selection_select_iter(). Don't move the cursor here; it will be done when processing the pending paths. * tests/testfilechooser.c (main): Add a button to the command window to unmap and remap the file chooser. 2005-01-24 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_class_init): Document GtkWidget::style-set. (#164222, Alex Graveley) 2005-01-22 Matthias Clasen * gdk/gdkdisplay.h (gdk_display_add_client_message_filter_full): Remove the accidentally added prototype for this unimplemented function. (#164893, Jeff Franks) * gtk/gtktreeview.c (gtk_tree_view_leave_notify): Avoid spurious drags. (#164884) 2005-01-23 Tor Lillqvist Merged from HEAD: Fix for #162790, by Iwan Wong: * gdk/win32/gdkdrawable-win32.c: Implement dashed lines correctly. Simplify the interface to render_line_horizontal() and render_line_vertical(). Need to draw lines "manually" also on NT-based Windowses if we have a dash offset or are drawing double-dashed lines. * gdk/win32/gdkprivate-win32.h: Keep also the dash offset, double-dash flag, and a brush for the background colour (used by the odd dashes in the double-dash line style) in the GdkGCWin32 struct. * gdk/win32/gdkgc-win32.c: Set up above new fields. 2005-01-23 Tor Lillqvist * gdk/win32/gdkkeys-win32.c (update_keymap): Handle Greek tonos dead accent key. (#164859, reported and fix verified by Daniel Atallah.) * gtk/gtkimcontextsimple.c (gtk_compose_seqs): Handle GDK_Greek_accentdieresis (tonos and dialytika) combining with iota and upsilon. * gtk/gtkfilesystemwin32.c (gtk_file_system_win32_volume_get_display_name): Don't call GetVolumeInformation() for network drives. They might be disconnected, and calling GetVolumeInformation() will then cause long delays. (#164448, reported by Dave Neary.) It seems to be very hard to reliably find out whether a network drive is connected or not, so it's easier to just not try getting the volume name for them. See the bug report for discussion. Fix for #163702, from Ivan Wong: * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkglobals-win32.c: New flag _ignore_destroy_clipboard. * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle WM_DESTROYCLIPBOARD. Unless _ignore_destroy_clipboard, generate a GDK_SELECTION_CLEAR event. * gdk/win32/gdkselection-win32.c (gdk_selection_owner_set_for_display): Set _ignore_destroy_clipboard when emptying the clipboard ourselves. (gdk_selection_send_notify_for_display): Remove the artifical GDK_SELECTION_CLEAR event generation. 2005-01-20 Matthias Clasen * gtk/gtkdialog.c (gtk_dialog_map): Don't loop forever here, even if the only focusable widgets are labels. * gtk/gtkmodules.c (load_module): Don't reverse the order of modules when putting them in gtk_modules. (#162676, Dennis Cranston, patch by Remus Draica) * gtk/gtktreeview.c (gtk_tree_view_search_move): Don't crash if the tree is empty. (#164669, Priit Laes) Wed Jan 19 18:57:02 2005 Manish Singh * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): Call GDK_DISPLAY_XDISPLAY with a display, not a window. Clean up the function a bit too. Wed Jan 19 17:17:31 2005 Manish Singh * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): Squash strict aliasing warning in _NET_VIRTUAL_ROOTS code. 2005-01-19 Tor Lillqvist * gdk/win32/gdkkeys-win32.c (update_keymap, gdk_keymap_translate_keyboard_state): Handle keyboards with ShiftLock (and not CapsLock) correctly. (#161814) 2005-01-19 Matthias Clasen * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_should_respond): In save mode, don't return paths containing nonexisting directories. (#162443, Jean Marie Favreau) * gtk/gtkobject.c (gtk_object_add_arg_type): Use GLib limit macros to avoid sparse warnings. Pointed out by Kjartan Maraas. * gdk/x11/gdkdisplay-x11.c: Precache the _NET_VIRTUAL_ROOTS atom. * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): Support _NET_VIRTUAL_ROOTS. (#163910, Carsten Haitzler) Tue Jan 18 13:56:09 2005 Manish Singh * gtk/gtkfilechooserdefault.c (pending_op_queue): Actually assign PENDING_OP_NONE. Tue Jan 18 13:46:46 2005 Manish Singh * gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render_with_trapezoids): disambiguate nested if/else. 2005-01-18 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (pending_op_queue): Don't queue an operation to select the first file if we are in SAVE or CREATE_FOLDER modes. Executing that operation would overwrite the contents of the save-name entry. 2005-01-18 Matthias Clasen * gtk/gtkstyle.c (gtk_default_draw_check) (gtk_default_draw_option, gtk_default_draw_handle): Add some more NULL checks, patch by Michael Natterer. Tue Jan 18 10:55:47 2005 Søren Sandmann * gtk/gtkstyle.c (gtk_default_draw_handle): Check for NULL detail and NULL widget. * gtk/gtkstyle.c (gtk_default_draw_box): Check for NULL detail and NULL widget. (#164477, Michael Natterer) 2005-01-18 Matthias Clasen Avoid X errors when running against servers which implement XRender < 0.4. (#164427, Albert Chin) * gdk/x11/gdkprivate-x11.h: * gdk/x11/gdkdrawable-x11.c (_gdk_x11_have_render_with_trapezoids): New function to check for trapezoid support in XRender. (gdk_x11_draw_trapezoids, _gdk_x11_drawable_draw_xtrapezoids): Use it here. * gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add a separate have_render_with_trapezoids field. * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Initialize it. 2005-01-17 Matthias Clasen * gtk/gtkiconview.c: Remove debug output. (#164376, Jens Finke) 2005-01-17 Federico Mena Quintero Merged from HEAD: Fix #162617. * gtk/gtkfilesystemunix.c (STAT_NEEDED_MASK): Take out GTK_FILE_INFO_IS_HIDDEN; we don't need to stat() to know this. (gtk_file_system_unix_get_folder): Make error reporting more accurate. Don't bail out if we can't read the directory. (fill_in_stats): Don't return an error; just assume we don't have stat info for this folder's files. (fill_in_names): Don't create the hash table for the names if we can't open the directory. (gtk_file_folder_unix_list_children): Don't emit the "finished-loading" signal --- we don't do asynchronous loads, so we are always finished loading. (gtk_file_folder_unix_get_info): Use helper functions; handle the case where we can't stat '/'. (get_icon_type_from_path): Don't call fill_in_stats() here; only use the info we have. (fill_in_mime_type): Don't return an error. Don't do anything if we don't have the stat info. 2005-01-17 Matthias Clasen * gtk/gtkfilechooserdefault.c (shortcuts_add_bookmarks): Save and restore the selected row in the bookmark list and the save folder combo. (#164290) 2005-01-16 Matthias Clasen * gtk/gtkfilechooserdialog.c (gtk_file_chooser_dialog_new_with_backend): Fix argument order in docs. 2005-01-15 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_check_keymap_direction): * gtk/gtkentry.c (gtk_entry_create_layout): Prefer LTR over RTL if the keymap is neutral. (#164125, Phil Blundell) 2005-01-13 Matthias Clasen * configure.in: Add an OS_LINUX conditional. * gdk/Makefile.am (TESTS): * gdk-pixbuf/Makefile.am (TESTS): * gtk/Makefile.am (TESTS): Only run abicheck on Linux. (#163917, Roger Leigh) 2005-01-13 Matthias Clasen * gtk/gtktreeview.c: (gtk_tree_view_class_init), (gtk_tree_view_set_headers_clickable): Make the headers-visible property readwrite instead of just writable, and remove the g_return_if_fail check that there is a model when setting this property. (#163851, Richard Hult) 2005-01-10 Owen Taylor * Makefile.am (EXTRA_DIST): Adding missing ChangeLog.pre* to EXTRA_DIST. 2005-01-10 Matthias Clasen * gtk/gtkaccelgroup.c (gtk_accel_group_class_init): Document signals. (#163319, Murray Cumming) 2005-01-09 Tor Lillqvist * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Set current cursor also when changing the cursor of a window that is the first ancestor of the window containing the pointer that has a cursor defined. (#163035, Ivan Wong) 2005-01-09 Anders Carlsson * gtk/gtkcellrenderertext.c: (get_size): * gtk/gtklabel.c: (gtk_label_size_request): * gtk/gtkprogressbar.c: (gtk_progress_bar_size_request): Don't pass NULL to pango_context_get_metrics. Use pango_context_get_language instead, which is way faster. 2005-01-08 Matthias Clasen * configure.in: Bump version * === Released 2.6.1 === * gdk-pixbuf-2.0.pc.in: Require gmodule-no-export-2.0 2005-01-07 Tor Lillqvist * gdk/win32/gdkselection-win32.c (_gdk_selection_property_store): Fix braino. (#163232, Arnaud Charlet) 2005-01-06 Matthias Clasen * gtk/gtkiconview.c: Make markup_column work, and fix some layout issues when either icon or text is missing. (#163065) 2005-01-06 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (file_list_build_popup_menu): Add an "Open _Location" item. Fixes #148839. 2005-01-06 Matthias Clasen * README.in: Fix a typo. (#163128, kentaro fukuchi) 2005-01-06 James M. Cape * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_new) (gtk_file_chooser_button_new_with_backend): Use default title if NULL is passed. * docs/reference/gtk/tmpl/gtkfilechooserbutton.sgml: Make examples match API. 2005-01-05 Federico Mena Quintero Fix #161409: * gtk/gtkfilechooserdefault.c (shortcuts_row_activated_cb): Queue a pending operation to select the first row. 2005-01-05 Federico Mena Quintero * gtk/gtkpathbar.c (_gtk_path_bar_set_path): Don't call button_data_free() explicitly; the button is weak-reffed and the callback will free the button data. Fixes #163010. (_gtk_path_bar_set_path): Don't ref/sink the button. And for the failure case, call gtk_widget_destroy() on it. * gtk/gtkfilechooserdefault.c (check_is_folder): Use gtk_file_system_get_folder() again (see the ChangeLog entry from 2004-08-25). We can't first get the parent folder and then request the info for the path in question, as the parent folder may not be readable. See bug #162617. (gtk_file_chooser_default_set_current_folder): Assert that the passed-in path is not null. (shortcuts_find_current_folder): Likewise. (shortcuts_add_current_folder): Likewise. (set_list_model): Likewise. (gtk_file_chooser_default_map): Only reload the current folder if it exists. (bookmarks_check_add_sensitivity): Check for the current folder being NULL. (browse_files_select_first_row): Don't set the cursor if there is no model loaded. 2005-01-05 Matthias Clasen * gtk/gtkfilechooserdefault.c: Don't construct errors from the GTK_FILE_SYSTEM_ERROR domain. Partial fix for #162911. (get_file_info, check_is_folder): Translate errors from the filesystem into the GTK_FILE_CHOOSER_ERROR domain. Rest of the fix for #162911, noticed by Murray Cumming. Wed Jan 5 11:42:49 2005 Søren Sandmann * gtk/gtkviewport.c (gtk_viewport_realize): * gtk/gtktextview.c ((text_window_realize): Set the background of the windows to None instead of adding EXPOSURE_MASK, as suggested by Owen in #162112. * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Update the user time when receiving a WM_DELETE message. (#162980, Elijah Newren) Tue Jan 4 16:52:14 2005 Jonathan Blandford * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_event): only reorder on button 1, part of #141937 Tue Jan 4 11:36:43 2005 Søren Sandmann Bug 162112. * gtk/gtktextview.c (text_window_realize): Add GDK_EXPOSURE_MASK to win->window's event_mask * gtk/gtkviewport.c (gtk_viewport_realize): Add GDK_EXPOSURE_MASK to viewport->view_window. 2005-01-04 Matthias Clasen * demos/testpixbuf.c (main): Remove the size_prepared callback, to test incremental display. (new_testrgb_window): Return the drawing area, not the window, since we want to queue draws on the drawing area. 2005-01-03 Matthias Clasen * examples/*: Re-extract. * docs/tutorial/gtk-tut.sgml: Small corrections. * docs/tutorial/gtk-tut.sgml: Some updates for the drawing section. (#161414, Robert Ancell) * docs/tutorial/gtk-tut.sgml: Make it build. * gtk/gtkdialog.c (gtk_dialog_run): Some clarification regarding modality. (#112903, Dave Bordoley) * gtk/gtkfixed.c (gtk_fixed_set_has_window): Add a little motivation. (#145556, Tommi Komulainen) * docs/tutorial/gtk-tut.sgml: Clarify section on g_signal_connect_swapped. (#120543, David Bourguignon) Make gtk_icon_theme_load_icon() work independent of icon factory initialization. (#162791, Tristan Van Berkom) * gtk/gtkiconfactory.[hc]: Rename ensure_default_icons to _gtk_icon_factory_ensure_default_icons, and make it non-static. * gtk/gtkicontheme.c (find_builtin_icon): ..and call it here. 2005-01-02 Matthias Clasen * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_remove_shortcut_folder): Don't add a shortcut here. (#162752, Tor Lillqvist) 2005-01-02 Tor Lillqvist * gtk/Makefile.am (libgtk_target_ldflags): Add -lole32, needed for CoTaskMemFree in get_special_folder() below. * gtk/gtkfilesystem.h: Implement case-insensitive path compare on Win32 using _gtk_file_system_win32_path_compare(). * gtk/gtk.symbols: Add _gtk_file_system_win32_path_compare. * gtk/gtkfilechooserbutton.c (model_add_special) * gtk/gtkfilechooserdefault.c (shortcuts_append_desktop): Use _gtk_file_system_win32_get_desktop() to get correct Desktop folder on Win32. (#144003) * gtk/gtkfilesystemwin32.c: Remove unnecessary includes. Do consider all drives "mounted", including floppies. Trying to inspect the contents of a nonexistent floppy will cause errors later that are handled normally, no need to avoid them completely. Keep the drive type in the GtkFileSystemVolume. Support UNC paths. (#161797, #137874) Fix error message capitalizations as in gtkfilesystemunix.c. (gtk_file_system_win32_init): Start one timeout per GtkFileSystemWin32. (gtk_file_system_win32_finalize): Remove the timeout. (get_special_folder): Copied from GLib. (_gtk_file_system_win32_get_desktop): New function, uses get_special_folder(). (gtk_file_system_win32_list_volumes): Don't start a timeout at each call to this function. Don't assume A: and B: are floppies. (gtk_file_system_win32_get_volume_for_path): Don't assume all volumes are drive roots, i.e. support share roots of UNC paths (\\server\share). (gtk_file_system_win32_get_folder): Don't assume errno is set after g_file_test() returns FALSE. It isn't on Win32 (and even on Unix I don't think one should assume anything about errno after g_file_test()). (gtk_file_system_win32_volume_get_is_mounted): Always return TRUE. (gtk_file_system_win32_volume_get_display_name): Don't call GetVolumeInformation() on drives A: or B: if they are removable, as they might then be floppies, causing an unnecessary delay. (#157820) (gtk_file_system_win32_volume_render_icon): Use network icon for unrecognized drive types. (canonicalize_filename, gtk_file_system_win32_parse): Don't get confused by UNC paths. (bookmarks_serialize): Use _gtk_file_system_win32_path_compare() for case-insensitive UTF-8 path comparison. (extract_icon): Use SHGetFileInfo() which is faster than ExtractAssociatedIcon(). Icon extraction is still slow, though, needs work. (win32_pseudo_mime_lookup): Don't use the same icon for all shortcuts or executables. Cache only other file type icons. (gtk_file_system_win32_render_icon): Use network stock icon for remote drives and UNC server share roots. Compare home directory case-insensitively. Do lookup icons also for executable files, after all, it's these files that can have individual icons in the first place. Yes, it can be slow. Needs work. (filename_is_drive_root): Require also the slash after the colon. (filename_is_server_share): New function. (_gtk_file_system_win32_path_compare): New function, does case-folded UTF-8 comparison. * gtk/gtkfilesystemwin32.h: Declare _gtk_file_system_win32_path_compare(). 2005-01-01 Matthias Clasen * gtk/gtkbutton.c (gtk_button_set_image): Allow unsetting the custom image by passing NULL. (gtk_button_init): Initialize image_is_stock to TRUE, fixing a problem with changing stock labels. (#162273, Marcin Krzyzanowski) 2005-01-01 Tor Lillqvist * gtk/gtkmodules.c (get_module_path) * gtk/gtkrc.c (gtk_rc_make_default_dir, gtk_rc_get_im_module_file, gtk_rc_get_theme_dir, gtk_rc_add_initial_default_files): With g_getenv() now returning UTF-8 on Win32, no need to call g_locale_to_utf8(). 2004-12-31 Matthias Clasen * gtk/gtkkeyhash.c (_gtk_key_hash_lookup_keyval) (_gtk_key_hash_lookup): Don't sort a list of values as if it was a list of entries. This fixes crashes during mnemonic activation in the presence of multiple keymaps. (#162488, Christian Persch) 2004-12-30 Matthias Clasen * gtk/gtkcombobox.c (gtk_combo_box_button_state_changed): Fix state propagation when making an insensitive combo box sensitive again. (#162524, Carlos Garnacho Parro) * gtk/gtkfilechooserdefault.c: Use secondary text for error dialogs. * gtk/gtkfilesystemunix.c: Clean up some cases of errno handling (#162496, noted by Tor Lillqvist), and use g_filename_display_name() for error messages. Also mark some error messages for translation, fix capitalization of error messages. * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property): Use g_value_get_boolean() for ellipsize_set. (#162447, Brian Tarricone) 2004-12-30 Tor Lillqvist * gtk/gtkicontheme.c (gtk_icon_theme_init): Use /usr/share/pixmaps only on Unix. 2004-12-28 Matthias Clasen * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Inherit submenu direction from the parent menu. * gtk/gtkmenushell.c (gtk_menu_shell_select_submenu_first): Return a boolean indicating whether an item in the submenu was selected. (gtk_real_menu_shell_move_current): When going in child direction, don't get stuck at completely insensitive submenus. (#162055, Billy Biggs) 2004-12-27 Matthias Clasen Make the clipboard image API more robust (#162357, Torsten Schoenfeld): * gtk/gtkclipboard.c (clipboard_image_received_func): Don't ref the pixbuf if it is NULL. * gtk/gtkselection.c (gtk_selection_data_set_pixbuf): NULL-terminate the varargs in the call to gdk_pixbuf_save_to_buffer(). (gtk_selection_data_get_pixbuf): Only use a pixbuf loader if there is data to load. 2004-12-27 Matthias Clasen * gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event): Set x_root and y_root in button and motion events from extended input devices. (#148715, Robert Ögren) * gtk/gtktreeview.c (gtk_tree_view_class_init): Fix a typo. (#162339, Alessio Dessi) * gtk/gtkadjustment.c (gtk_adjustment_class_init): Document properties as new since 2.4. (#156101, Billy Biggs) * configure.in: Add a warning about the linux-fb target. (#155488, Zeeshan Ali) * gtk/gtkmain.c (gtk_init_with_args): Typo fix. (#162278, Torsten Schoenfeld) 2004-12-26 Matthias Clasen * gtk/gtkfilechooser.c (gtk_file_chooser_set_action): Typo fix. (#162219, Masao Mutoh) (gtk_file_chooser_set_preview_widget_active): Another typo. (#162218, Masao Mutoh) 2004-12-23 Matthias Clasen * gtk/gtkliststore.c (gtk_list_store_iter_children): Return TRUE if there are children. (#162134, Iñigo Serna, patch by John Finlay) * gtk/gtkcombobox.c (gtk_combo_box_button_state_changed): Transfer state from the button to the cell view to get prelighting right. (#156327, Ricardo Veguilla) Wed Dec 22 14:22:19 2004 Søren Sandmann * tests/testtoolbar.c (timeout_cb): Add sensitivity-changing timeout. Written by Christian Persch. Wed Dec 22 14:14:02 2004 Søren Sandmann Bug #161561 * gdk/x11/gdkwindow-x11.c (tmp_{re,un}set_bg): Only set/reset the background for windows that get expose events. * gdk/gdkwindow.c (gdk_window_process_updates_internal): Remove hack to repaint !expose windows. Wed Dec 22 11:35:41 2004 Søren Sandmann Bug #147497, make menu items activate immediately when you release the button. * gtk/gtkmenu.c (gtk_menu_enter_notify, menu_motion_notify): Make items activate immediately. * gtk/gtkmenu.c (definitely_within_item): New function * gtk/gtkmenu.c (check_threshold): New function 2004-12-22 Matthias Clasen * gtk/gtklabel.c (gtk_label_setup_mnemonic): Don't forget to null the mnemonic_menu when unsetting a mnemonic, reported by Owen Taylor. 2004-12-21 Matthias Clasen * gtk/gtkliststore.c (generate_order): Generate the order the way it is supposed to be, order[new_pos] == old_pos. (gtk_list_store_reorder): Invert the order before using it. 2004-12-22 Matthias Clasen Fix sorting of list stores. (#161886, Marcin Krzyzanowski) * gtk/gtkliststore.c (generate_order): Generate the order the way it is supposed to be, order[new_pos] == old_pos. (gtk_list_store_reorder): Invert the order before using it. * gtk/gtkiconview.c (gtk_icon_view_rows_reordered): Adapt to the list store fix. Wed Dec 22 01:24:01 2004 Jonathan Blandford * gtk/queryimmodules.c (main): print out the version and binary name in the header comment. Problem reported by Seth Nickell. 2004-12-20 Matthias Clasen * gtk/gtkliststore.c (gtk_list_store_sort_iter_changed): Pass a root path to gtk_tree_model_rows_reordered(). (#161720, Marcin Krzyzanowski) * gtk/gtkactiongroup.c (gtk_action_group_translate_string): Don't translate NULL messages. (#161789, Morten Welinder) * gtk/gtkmessagedialog.c (setup_primary_label_font): Don't show the secondary label on show_all(). (#161707, Christian Persch) 2004-12-19 Tor Lillqvist * gdk/win32/gdkdnd-win32.c (resolve_link, gdk_dropfiles_filter): Use wide character API when available. Use UTF-8 for filenames. * gdk/win32/gdkselection-win32.c (_gdk_dropfiles_store): Include the string's trailing zero byte in the property's length, just for safety. 2004-12-18 Matthias Clasen * gtk/gtkfilechooserentry.c (check_completion_callback) (load_directory_callback): Add missing GDK_THREADS_ENTER/LEAVE. * gtk/gtkfilechooserdefault.c (edited_idle_cb) (shortcuts_drag_outside_idle_cb): Add missing GDK_THREADS_ENTER/LEAVE. (#161604) * gtk/gtkfilechooserdefault.c (selection_check_foreach_cb): (list_select_func): Don't call gtk_file_info_get_is_folder() on NULL. * gtk/gtkaboutdialog.c (gtk_about_dialog_get_logo_icon_name): (gtk_about_dialog_init): Add missing initializations. (#161646, Torsten Schoenfeld)