2004-12-02 Matthias Clasen * === Released 2.4.14 === * NEWS: Updates 2004-12-02 Matthias Clasen * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_should_respond): Reinstate the previous behavior for clicking Ok after activating a bookmark or path bar button in folder modes. (#160044, Dennis Cranston) 2004-12-02 Federico Mena Quintero Fix #159656: * gtk/gtkfilechooserdefault.c (PendingOp): New enumeration for the pending operation to perform when finishing loading a folder. (struct _GtkFileChooserDefault): New fields 'pending_op' and 'pending_select_path'. (pending_op_queue): New utility function. (pending_op_process): New utility function. (gtk_file_chooser_default_select_path): Don't select the path immediately; delay it until the folder is finished loading. (browse_files_model_finished_loading_cb): Process the pending operation. (browse_files_select_first_row): New utility function. (gtk_file_chooser_default_initial_focus): Use browse_files_select_first_row(). (gtk_file_chooser_default_should_respond): Queue an operation to select the first row once we load the child folder. (up_folder_handler): Queue an operation to select the current folder once we load the parent folder. (gtk_file_chooser_default_finalize): Free the pending_select_path. 2004-12-02 Sven Neumann * gtk/gtkaccelmap.c (_gtk_accel_path_is_valid): added parentheses around && within ||. 2004-11-30 Dwayne Bailey * configure.in: Added "nso" to ALL_LINGUAS. 2004-11-30 Matthias Clasen * NEWS: Updates 2004-11-29 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (trap_activate_cb): Don't handle Enter if we are in SELECT_FOLDER or CREATE_FOLDER actions. This lets us navigate thei file system more easily. (gtk_file_chooser_default_should_respond): If we are in SELECT_FOLDER or CREATE_FOLDER modes, return TRUE if something is selected. 2004-11-26 Matthias Clasen * gdk/x11/gdkselection-x11.c (gdk_text_property_to_utf8_list_for_display): Don't crash if Xlib fails to return UTF-8. (#159373, Kristian Høgsberg) 2004-11-20 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (list_icon_data_func): Set an empty icon if we are on the editable row: if we don't set the cell renderer at all, it will reuse the last thing it painted. 2004-11-19 Federico Mena Quintero Fix #158475: * gtk/gtkpathbar.c (make_directory_button): Make the button a drag source. (button_drag_data_get_cb): New callback to let us drag the button's path as a text/uri-list. 2004-11-19 Federico Mena Quintero Fix #141077. Based on a patch by Christian Neumair : * gtk/gtkfilechooserdefault.c (new_folder_button_clicked): Desensitize the "new folder" button. (edited_idle_cb): Sensitize the button back. 2004-11-19 Federico Mena Quintero Fix #158477: * gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault): Remove the "save_extra_align" and "browse_extra_align" fields; use a single "extra_align" field. (save_widgets_create): Don't create the save_extra_align. (browse_widgets_create): Don't create the browse_extra_align. (gtk_file_chooser_default_constructor): Create the extra_align here. (set_extra_widget): Add the extra widget to the alignment here, and remove the old one if necessary. (update_appearance): No need to frob the extra widget's alignments anymore. (gtk_file_chooser_default_set_property): No need to call update_appearance() anymore when we set the extra widget. 2004-11-19 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_initial_focus): Don't set the cursor if we are still loading. 2004-11-18 Federico Mena Quintero Fixes #155744: Try to load the whole file system model within a specified time. * gtk/gtkfilechooserdefault.c (set_list_model): Don't create and set the sort model here. Instead, set up a timer in which we'll try to load the file system model. (load_set_model): Create and set the sort model here. (load_setup_timer): New function to set up a timer and switch to the LOAD_LOADING state. (load_remove_timer): New function to unset the timer and switch to the LOAD_FINISHED state. (browse_files_model_finished_loading_cb): Remove the timer if needed and set the file system and sort model; switch to the LOAD_FINISHED state. (gtk_file_chooser_default_finalize): Remove the load timer. (gtk_file_chooser_default_init): Start in the LOAD_FINISHED state. 2004-11-17 Sven Neumann * gtk/gtktreeselection.c: include for memset(). * gtk/gtkmenu.c (menu_change_screen): added missing casts. Merged from HEAD branch: * gtk/gtkcellrenderertext.c (get_layout): Don't use the foreground color for selected cells, Don't use the background color in unfocused selected cells. Also avoid creating two PangoLayouts per render call. (#154615, #154611, Billy Biggs) 2004-11-15 Matthias Clasen * gtk/gtkbutton.c: * gtk/gtkimagemenuitem.c: Don't use one signal handler per instance to track changes to the gtk-menu-images and gtk-button-images settings. Instead use a single handler which iterates over the widget hierarchy. (#143668) Mon Nov 15 14:25:21 2004 Jonathan Blandford * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_cell_set_dirty): Patch from Gavin Romig-Koch to no longer reset the resized_width when marking a column dirty. 2004-11-15 Matthias Clasen * gtk/gtktreemodel.c (gtk_tree_path_prev): Return FALSE if depth is 0 (noticed by Tim Janik) Thu Nov 11 17:22:45 2004 Manish Singh * gtk/gtkuimanager.c: gtkalias.h doesn't exist on this branch. Remove reference. 2004-11-11 Tor Lillqvist Fix for #137551, by Robert Ögren: * gdk/win32/gdkevents-win32.c (generate_focus_event): New function. (gdk_keyboard_grab, gdk_keyboard_ungrab): Generate focus change events. (gdk_event_translate): Check for keyboard grabs and not pointer grabs when handling WM_{SET,KILL}FOCUS. Use generate_focus_event(). 2004-11-11 Matthias Clasen * gtk/gtkuimanager.c (update_node): Remove two more places where we were unconditionally setting "visible", causing unnecessary notifications. (update_node): Fix some C99isms. 2004-11-11 Matthias Clasen Considerably speed up GtkUIManager, by changing the semantics of the dirty flag. It is now propagated up the tree, and update_node() doesn't descend into clean subtrees. (#143668, Dave Neary, Michael Natterer, Sven Neumann, fix proposed by Soeren Sandmann) * gtk/gtkuimanager.c (node_prepend_ui_reference): Only prepend a new node reference if the merge_id is different. Take a GNode, so we can walk up the tree, adjust all callers. (node_remove_ui_reference): Only mark a node dirty if the first ui reference is removed. Take a GNode here as well for consistency. (update_node): Don't descend into clean subtrees. (mark_node_dirty): New function to mark a node and its predecessors dirty. 2004-11-10 Tor Lillqvist * gdk/win32/gdkevents-win32.c (_gdk_win32_get_next_tick): Event timestamps don't have to be unique. As long as they are nondecreasing we should be fine. Solves problems with for instance long menus not staying up on first click. (#152035, Robert Ögren) 2004-11-08 Matthias Clasen * gtk/gtkaction.c (_gtk_action_sync_menu_visible): Use gtk_widget_{hide,show} instead of g_object_set (..."visible"...). 2004-11-06 Matthias Clasen * gtk/gtkcombobox.c (gtk_combo_box_cell_layout_pack_end): Add the ComboCellInfo to the list. (#157528, Carlos Garnacho Parro) 2004-11-03 Matthias Clasen * gtk/gtkfilechooserdefault.c (new_folder_button_clicked): Don't leak the path. (#157301, Carlos Garnacho Parro) * gtk/gtkliststore.c (gtk_list_store_move): Take into account that a can be NULL even if position is not. This fixes the inability of gtk_list_store_move() to move rows to the very beginning. (#155545, John Finlay) 2004-11-01 Matthias Clasen * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't crash on broken ClientMessage events. (#157056, Owen Taylor) 2004-10-31 Matthias Clasen * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup): Don't force the height of the action area, we don't scroll it anyway, and the current way of calculating the height can lead to broken display. (#156573, Christian Persch) 2004-10-29 Robert Ögren * gdk/win32/gdkwindow-win32.c (gdk_window_begin_resize_drag), (gdk_window_begin_move_drag): Implement these on win32, currently only for button 1. Fixes the resize grip of GtkStatusbar on win32. (#143285) 2004-10-29 Matthias Clasen * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_finalize): Drop the reference to the pixbuf, regardless whether it is a stock pixbuf. (#156863, Philip Langdale) 2004-10-23 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_size_allocate): Invalidate the window if the tree is empty, to avoid resizing artifacts from the focus rectangle. (#155881, Vincent Noel, patch by Billy Biggs) 2004-10-22 Anders Carlsson * gtk/gtktexttag.c: (gtk_text_tag_get_property): GdkBitmap is a GObject, not a boxed type. 2004-10-18 Matthias Clasen Fix #155658, Sebastien Bacher: * gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Add a new is_leader flag. * gdk/x11/gdkwindow-x11.c (update_wm_hints): Set wm hints on leader windows even if they are withdrawn. (gdk_window_set_group): Mark the new leader window as such. We never remove the flag again, but that should a) be vanishingly rare and b) not a problem, since the flag just turns off an optimization. * gdk/x11/gdkdisplay-x11.c (gdk_display_open): Mark the default leader window as such. 2004-10-15 Matthias Clasen * gtk/gtkcellview.c (gtk_cell_view_get_size_of_row): Restore the size info for the current row after measuring another row. (#154945, William Jon McCann) 2004-10-14 Matthias Clasen * gtk/gtkfilechooserdefault.c (shortcuts_add_current_folder): Don't leak volume. (#155400, Morten Welinder) 2004-10-13 Crispin Flowerday * NEWS: Fix a typo in my name (it's Crispin, not Chrispin)