2005-02-04 Matthias Clasen * === 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.