2004-11-12 Matthias Clasen * === Released 2.5.5 === * gtk/gtkwindow.c (gtk_window_activate_key_after): Add parentheses around comparison in operand of &. * gtk/gtkcalendar.c: Replace a non-ASCII character in a comment. 2004-11-12 Matthias Clasen * tests/Makefile.am (pixbuf_threads_LDADD): Make pixbuf-threads link. * NEWS: Updates 2004-11-12 Matthias Clasen * tests/Makefile.am: Add pixbuf-threads * tests/pixbuf-threads.c: Test loading images in multiple threads. 2004-11-11 Matthias Clasen * configure.in: Check for uxtheme.h (#157967, J. Ali Harlow) * modules/engines/ms-windows/xp_theme.c: Use HAVE_UXTHEME_H to protect the #include * docs/tools/Makefile.am: Don't try to build doc-shooter on Windows. (#157979, J. Ali Harlow) * gtk/gtkfilefilter.c: Don't try to use xdgmime on Windows where we don't build it. (#157944, J. Ali Harlow) * gtk/gtkstatusbar.c (gtk_statusbar_size_allocate): Also reserve space for the resize grip if the grip_window is not realized yet. (#158010, Christian Persch) (gtk_statusbar_button_press): Only start a resize if the button press comes from the grip_window. (#158011, Christian Persch) 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. * gtk/gtkclipboard.c (gtk_clipboard_get_for_display): (gtk_clipboard_get): Clarify the docs. (#156638, Torsten Schoenfeld) (gtk_clipboard_finalize): Warn if the clipboard is still in its displays clipboard list. 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. Thu Nov 11 11:34:32 2004 Jonathan Blandford * gtk/gtkfilechooserbutton.c (update_idler): return FALSE instead of TRUE. This is just a quick fix to prevent the idle from looping indefinitely. 2004-11-11 J. Ali Harlow * gdk/Makefile.am: * gdk-pixbuf/Makefile.am: * gtk/Makefile.am (gtk.def): Use embedded tab rather than '\t' escape sequence. (#157949) 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-10 Matthias Clasen * gtk/gtkstatusbar.c (gtk_statusbar_size_allocate): Only shorten the label if it actually overlaps the resize grip. (gtk_statusbar_size_allocate): Handle extra children by leaving room for the resize grip. (#157778, Christian Persch) * gdk/linux-fb/*: Fix many sparse warnings. (#157253, Kjartan Maraas). * NEWS: Updates 2004-11-09 Matthias Clasen * gtk/gtkrange.c (gtk_range_real_change_value): Make power a double. (gtk_range_class_init): s/digits/decimal digits/ in doc comment. * gtk/gtkfilechooserbutton.c (update_idler): Remove debugging printfs. * gtk/gtkicontheme.[ch]: Improve the docs. (#157785, Torsten Schoenfeld) * gdk/x11/gdkwindow-x11.c (gdk_window_get_geometry): Add a hint about using gdk_drawable_get_size() instead. * gtk/gtk.symbols: Add new symbols. * gtk/gtkiconview.c (gtk_icon_view_scroll_to_item): Make it work with *big* icon views. (#154466) * tests/testiconview.c: Add a real "Add many" button. * gtk/gtkaction.[hc]: * gtk/gtkactiongroup.[hc]: Make return types G_CONST_RETURN instead of const. * gtk/gtk.symbols: * gtk/gtkaction.h: * gtk/gtkaction.c (gtk_action_get_accel_path): Add a function to obtain the accel path of an action. (#148106, Michael Natterer) * tests/testiconview.c: Fix double-click activation. * gtk/gtkstatusbar.c (gtk_statusbar_init): Raise the grip window when appropriate. (gtk_statusbar_init): Instead of cutting the text off, make ellipsize the label. (gtk_statusbar_size_allocate): Don't let the label extend under the resize grip. * gtk/gtkcombobox.c (find_menu_by_path) (gtk_combo_box_menu_fill_level, gtk_combo_box_menu_row_inserted): Use a row reference, not a path, to associate separators with their tree row. * gtk/gtkstatusbar.c (gtk_statusbar_set_has_resize_grip): Show the grip_window if necessary. * gtk/gtkstyle.c (gtk_default_draw_resize_grip): Only clear the triangle below the grip to the background, not the full area. * gtk/gtklabel.c (draw_insertion_cursor, gtk_label_expose): Clip when drawing the cursor. This prevents bits of a selectable label leaking out from underneath the resize grip in a statusbar. (#73359) * gtk/gtkstatusbar.c: Apply a patch by Owen Taylor to get reasonable allocations for the statusbar and its children. (#73359) * tests/testgtk.c: Apply a patch by Soeren Sandmann to test long statusbar texts. * gtk/gtk.symbols: Add new symbols. Avoid resizing GtkStatusbar if the text of the label changes (#90955, He Qiangqiang, fix proposed by Owen Taylor, patch by Christian Persch) * gtk/gtklabel.[hc]: Add a boolean single-line-mode property which causes the label height not to depend on the actual text, but only on the font. * gtk/gtkstatusbar.c (gtk_statusbar_init): Turn on single-line-mode for the label. 2004-11-08 Matthias Clasen * gtk/gtkfilefilter.c (gtk_file_filter_filter): Use xdg_mime_mime_type_subclass() to match mime types. This also gives use wildcard matching. (#143760, #141224, Tommi Komulainen, David A Knight) * gtk/gtkaction.c (_gtk_action_sync_menu_visible): Use gtk_widget_{hide,show} instead of g_object_set (..."visible"...). * tests/testfilechooserbutton.c (main): Disable the SAVE and CREATE_FOLDER modes. (#157675, Christian Persch) * gtk/gtkaboutdialog.c (gtk_about_dialog_set_website): Hide the website button if the url is unset. (#157630, John Finlay) * gtk/gtkaboutdialog.[hc]: Change the return types of the gchar ** getters to be more const correct. (#157566, Mariano Suárez-Alvarez) * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_init): Add uri targets before text targets, to make file dnd work better. (#157651, Christian Persch) * gtk/gtktreedatalist.c: Support columns whose declared type is an interface better, by treating them like G_TYPE_OBJECT if the interface types requires G_TYPE_OBJECT. 2004-11-08 Bastien Nocera * gtk/stock-icons/stock_media_play_rtl_16.png: * gtk/stock-icons/stock_media_play_rtl_24.png: add the icons again with the binary flag (Closes: #157665) 2004-11-07 Matthias Clasen * gtk/gtkfilefilter.h: * gtk/gtkfilefilter.c (gtk_file_filter_add_pixbuf_formats): New convenience function to add a filter for image files which can be loaded by GdkPixbuf. (#145388, Anders Carlsson) * tests/testfilechooser.c: Test the image filter. * gtk/gtkmenu.c (menu_change_screen): Remove some warnings. Show files in folder modes. (#157013, Nickolay V. Shmyrev) * gtk/gtkfilechooserdefault.c (create_file_list): Use a selection function to determine which rows can be selected. (update_appearance): Always show files. Also queue a redraw. (set_list_model): Always show files. (list_select_func): The selection function used for the file list. Don't allow to select files when in select/create folder mode. (list_row_activated): Don't activate files in folder modes. (list_icon_data_func, list_mtime_data_func, list_size_data_func): Render files insensitive in folder modes. 2004-11-06 Matthias Clasen * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_set_property): Don't support CREATE_FOLDER and SAVE for now. UI authorities object to it. (#157384, Seth Nickell) * gtk/gtkfilechooserdefault.c (file_pane_create): Jump through a few hoops to make the tooltip on the filter combo box work a bit better. This fixes #157273 and #157074. * gtk/gtkcombobox.c (gtk_combo_box_cell_layout_pack_end): Add the ComboCellInfo to the list. (#157528, Carlos Garnacho Parro) 2004-11-05 Matthias Clasen * gtk/gtkcombobox.c (gtk_combo_box_menu_button_state_changed): Remove this unneeded function, as it breaks state propagation. * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_activate): Queue the resize before setting the tearoff state, to make sure the torn-off menu picks up the size increase due to the arrow in the torn off menu item. (#157286, Adam Hooper, fix proposed by Owen Taylor) * gtk/gtkmenu.c (menu_change_screen): Don't unnecessarily call gtk_menu_position(), since that function has issues when called on a menu whose parent is unrealized. (#157354, Adam Hooper) * gtk/gtkmain.c: Document new functions. 2004-11-04 Matthias Clasen * gtk/stock-icons/Makefile.am: Typo fix. * gtk/gtkaboutdialog.c: Documentation updates. 2004-11-04 Bastien Nocera * gtk/gtkiconfactory.c: (get_default_icons): Make sure the RTL variants are used for media icons * gtk/stock-icons/Makefile.am: update following the addition of the 2 Play icon RTL variants * gtk/stock-icons/stock_media_play_rtl_16.png: added * gtk/stock-icons/stock_media_play_rtl_24.png: added 2004-11-03 Matthias Clasen * gtk/gtkfilechooserdefault.c (new_folder_button_clicked): Don't leak the path. (#157301, Carlos Garnacho Parro) * gdk/x11/gdkdnd-x11.c (gdk_drag_motion): Handle the case that the protocol version in the context is not set yet. (#157123, James Henstridge) * gtk/gtktreeview.c (gtk_tree_view_search_activate): Don't try to activate a node if the cursor is not valid. 2004-11-03 James M. Cape * gtk/gtkfilechooserbutton.c (update_dialog), (dialog_response_cb): Don't mysteriously go to the parent dir when hitting "Cancel" in folder mode (fixes #156971). 2004-11-03 Matthias Clasen * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Don't access label->layout directly. (#157080, Adam Hooper) * gtk/gtklabel.c (gtk_label_set_pattern_internal): Allow unsetting a pattern by passing NULL. (#156720, Tristan Van Berkom) * gtk/gtkcombobox.c (gtk_combo_box_get_active): Don't crash if the active_row reference has become invalid. (#157156, Christophe Fergeau) 2004-11-02 Matthias Clasen * gtk/gtkwindow.c (gtk_window_activate_key_after): As a last stage in GtkWindow key press handing, try adding window->mnemonic_modifier to event->state and see if it matches a mnemonic. (#53709, based on a patch by Pasupathi Duraisamy, patch by Owen Taylor) * gtk/gtkcellrenderercombo.c (gtk_cell_renderer_combo_class_init): Doc additions. * gtk/gtkfilechooserbutton.h: Fix trigraphs in private markers. * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_class_init): Fix a doc comment. 2004-11-01 Matthias Clasen * gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup): Remove a debug printf(). (#157087, Christian Persch) * gtk/gtkicontheme.c: Actually commit the "stat less" patch which appeared in the ChangeLog a few days ago. * gtk/gtkfilechooserbutton.c: Move some docs inline. * gtk/gtkaboutdialog.c (gtk_show_about_dialog): Doc update. * gtk/gtktextbuffer.c (gtk_text_buffer_backspace): Revalidate the iter. (#156924, Murray Cumming) * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't crash on broken ClientMessage events. (#157056, Owen Taylor) * gtk/gtkactiongroup.c (gtk_action_group_get_visible): Fix a typo in the docs. (#157044, Masao Mutoh) 2004-10-31 Matthias Clasen * gtk/gtkcombobox.c (gtk_combo_box_button_state_changed): Update the state of the cell view when the state of the button changes (to get prelighted drawing right). (#138650, Frances Keenan, Christian Persch) * 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) * tests/testentrycompletion.c (animation_timer): Don't try to remove stuff from an empty model. (#156575, Christian Persch) * gtk/gtkentrycompletion.c (gtk_entry_completion_class_init): * gtk/gtkcellrenderercombo.c (gtk_cell_renderer_combo_class_init): Update doc comments. 2004-10-31 Tor Lillqvist * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkglobals-win32.c * gdk/win32/gdkmain-win32.c: Remove _windows_version and the IS_WIN_NT() macro. * gdk/win32/*.c: Use G_WIN32_IS_NT_BASED() from GLib instead. 2004-10-31 Matthias Clasen Add api for image transfer via copy-and-paste (#156408) * gtk/gtkclipboard.c (gtk_clipboard_set_image) (gtk_clipboard_request_image, gtk_clipboard_wait_for_image) (gtk_clipboard_wait_is_image_available): New functions for image transfer. * gtk/gtkselection.h: * gtk/gtkselection.c (gtk_selection_data_targets_include_image): New function, similar to gtk_selection_data_targets_include_text(). * gtk/gtkprogressbar.[hc]: Add an ellipsize property with getter and setter. (#156845, Morten Welinder) 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-30 Matthias Clasen * gtk/gtktextbtree.c (_gtk_text_btree_select_range): Redisplay the new selection. * gtk/gtktextview.c (gtk_text_view_select_all): Use gtk_text_buffer_select_range(). * tests/testtext.c: Add a "Select All" menuitem. (#156792, Paolo Borelli) * gtk/gtkicontheme.c (insert_theme): Sort the dir_mtimes list in the same way as the search path. (theme_subdir_load): Avoid stat()ing subdirs if the theme directory doesn't exist. (#156866) 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-29 Hans Breuer * gdk/makefile.msc gtk/makefile.msc.in : updated * gdk/win32/gdkdisplay-win32.c : dummy implementations for gdk_display_supports_clipboard_persistence, gdk_display_store_clipboard * gtk/gtkmodules.c : #include "gtkprivate.h" for GTK_LIBDIR 2004-10-29 Matthias Clasen * gtk/gtkclipboard.c (gtk_clipboard_set_text): Don't hardwire the supported text targets here, use gtk_target_list_add_text_targets(). (#156404) * gtk/gtkliststore.c (gtk_list_store_reorder): Don't loop over the sentinel node. (#156298, Torsten Schoenfeld) 2004-10-28 Matthias Clasen * gtk/gtkcombobox.c (gtk_combo_box_start_editing): Use g_signal_connect_object() to prevent premature finalization of the cell_editable while the key_press_event signal is handled. (#156325, Olivier Andrieu) * *: Clean up many sparse warnings. (#156698, Kjartan Maraas) * gtk/gtktreeview.c (gtk_tree_view_remove_widget): Disconnect from the remove-widget signal after removing the signal. * gtk/gtkaboutdialog.c (gtk_show_about_dialog): Destroy the dialog with the parent. (#156557, Paolo Borelli)