Patch from Gavin Romig-Koch <gavin@redhat.com> to no longer reset the
Mon Nov 15 14:25:21 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_cell_set_dirty):
Patch from Gavin Romig-Koch <gavin@redhat.com> to no longer reset
the resized_width when marking a column dirty.
Matthias Clasen [Fri, 12 Nov 2004 05:34:31 +0000 (05:34 +0000)]
Changes to make gdk-pixbuf threadsafe (#157310, #157306, Colin Walters):
2004-11-12 Matthias Clasen <mclasen@redhat.com>
Changes to make gdk-pixbuf threadsafe (#157310, #157306,
Colin Walters):
* gdk-pixbuf-io.h (enum GdkPixbufFormatFlags): Add
GDK_PIXBUF_FORMAT_THREADSAFE to indicate that an image loader
is threadsafe.
* gdk-pixbuf-io.c (get_file_formats, _gdk_pixbuf_load_module):
Use a lock to make initialization of global data structures
threadsafe.
* gdk-pixbuf-private.h:
* gdk-pixbuf-io.c (_gdk_pixbuf_lock, _gdk_pixbuf_unlock):
Auxiliary functions which use another lock to protect
threadunsafe image loaders.
* gdk-pixbuf-io.c (gdk_pixbuf_real_save):
(save_to_callback_with_tmp_file):
(gdk_pixbuf_real_save_to_callback):
(gdk_pixbuf_new_from_xpm_data):
(_gdk_pixbuf_generic_image_load):
* gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module):
(gdk_pixbuf_loader_close):
(gdk_pixbuf_loader_finalize):
Use _gdk_pixbuf_lock() and _gdk_pixbuf_unlock().
* io-ani.c, io-bmp.c, io-gif.c, io-ico.c:
* io-jpeg.c, io-pcx.c, io-png.c, io-pnm.c:
* io-ras.c, io-tga.c, io-wbmp.c, io-xbm.c:
* io-xpm.c: Mark as threadsafe.
* io-tiff.c: Remove pointless locking, mark as
threadunsafe.
Matthias Clasen [Fri, 12 Nov 2004 03:36:35 +0000 (03:36 +0000)]
Also reserve space for the resize grip if the grip_window is not realized
2004-11-11 Matthias Clasen <mclasen@redhat.com>
* 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)
Matthias Clasen [Thu, 11 Nov 2004 19:57:41 +0000 (19:57 +0000)]
Remove two more places where we were unconditionally setting "visible",
2004-11-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (update_node): Remove two more places
where we were unconditionally setting "visible", causing
unnecessary notifications.
* 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.
Matthias Clasen [Thu, 11 Nov 2004 18:13:19 +0000 (18:13 +0000)]
Considerably speed up GtkUIManager, by changing the semantics of the dirty
2004-11-11 Matthias Clasen <mclasen@redhat.com>
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.
Tor Lillqvist [Wed, 10 Nov 2004 22:04:47 +0000 (22:04 +0000)]
Event timestamps don't have to be unique. As long as they are
2004-11-10 Tor Lillqvist <tml@iki.fi>
* 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)
Matthias Clasen [Wed, 10 Nov 2004 16:33:33 +0000 (16:33 +0000)]
Only shorten the label if it actually overlaps the resize grip.
2004-11-10 Matthias Clasen <mclasen@redhat.com>
* 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)
Matthias Clasen [Tue, 9 Nov 2004 19:15:44 +0000 (19:15 +0000)]
Make return types G_CONST_RETURN instead of const.
2004-11-09 Matthias Clasen <mclasen@redhat.com>
* 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)
Matthias Clasen [Tue, 9 Nov 2004 18:03:21 +0000 (18:03 +0000)]
Raise the grip window when appropriate. (gtk_statusbar_init): Instead of
2004-11-09 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkstatusbar.c (gtk_statusbar_init): Raise the grip
window when appropriate.
(gtk_statusbar_init): Instead of cutting the text of, make
ellipsize the label.
(gtk_statusbar_size_allocate): Don't let the label extend
under the resize grip.
Matthias Clasen [Tue, 9 Nov 2004 16:38:57 +0000 (16:38 +0000)]
Use a row reference, not a path, to associate separators with their tree
2004-11-09 Matthias Clasen <mclasen@redhat.com>
* 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.
Matthias Clasen [Tue, 9 Nov 2004 14:28:34 +0000 (14:28 +0000)]
Clip when drawing the cursor. This prevents bits of a selectable label
2004-11-09 Matthias Clasen <mclasen@redhat.com>
* 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)
Matthias Clasen [Mon, 8 Nov 2004 21:25:27 +0000 (21:25 +0000)]
Use xdg_mime_mime_type_subclass() to match mime types. This also gives use
2004-11-08 Matthias Clasen <mclasen@redhat.com>
* 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)
Matthias Clasen [Mon, 8 Nov 2004 17:43:52 +0000 (17:43 +0000)]
Add uri targets before text targets, to make file dnd work better.
2004-11-08 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_init): Add
uri targets before text targets, to make file dnd work
better. (#157651, Christian Persch)
Matthias Clasen [Mon, 8 Nov 2004 16:56:03 +0000 (16:56 +0000)]
Support columns whose declared type is an interface better, by treating
2004-11-08 Matthias Clasen <mclasen@redhat.com>
* 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.
Bastien Nocera [Mon, 8 Nov 2004 16:24:52 +0000 (16:24 +0000)]
add the icons again with the binary flag (Closes: #157665)
2004-11-08 Bastien Nocera <hadess@hadess.net>
* 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)
Matthias Clasen [Sun, 7 Nov 2004 05:42:01 +0000 (05:42 +0000)]
New convenience function to add a filter for image files which can be
2004-11-07 Matthias Clasen <mclasen@redhat.com>
* 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)
Matthias Clasen [Sun, 7 Nov 2004 05:15:25 +0000 (05:15 +0000)]
Show files in folder modes. (#157013, Nickolay V. Shmyrev)
2004-11-07 Matthias Clasen <mclasen@redhat.com>
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.
Matthias Clasen [Sun, 7 Nov 2004 04:57:04 +0000 (04:57 +0000)]
Don't support CREATE_FOLDER and SAVE for now. UI authorities object to it.
2004-11-06 Matthias Clasen <mclasen@redhat.com>
* 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)
Matthias Clasen [Sun, 7 Nov 2004 04:10:01 +0000 (04:10 +0000)]
Jump through a few hoops to make the tooltip on the filter combo box work
2004-11-06 Matthias Clasen <mclasen@redhat.com>
* 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.
Matthias Clasen [Fri, 5 Nov 2004 20:11:48 +0000 (20:11 +0000)]
Queue the resize before setting the tearoff state, to make sure the
2004-11-05 Matthias Clasen <mclasen@redhat.com>
* 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)
Matthias Clasen [Fri, 5 Nov 2004 15:58:36 +0000 (15:58 +0000)]
Don't unnecessarily call gtk_menu_position(), since that function has
2004-11-05 Matthias Clasen <mclasen@redhat.com>
* 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)