Emmanuele Bassi [Thu, 15 Mar 2007 19:58:00 +0000 (19:58 +0000)]
Remove unused GError; do not allocate GtkRecentData and use a variable on
2007-03-15 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentmanager.c (gtk_recent_manager_add_item): Remove
unused GError; do not allocate GtkRecentData and use a variable
on the stack. (#418673, Morten Welinder)
Emmanuele Bassi [Thu, 15 Mar 2007 19:33:57 +0000 (19:33 +0000)]
Add GtkActionClass::get_submenu() vfunc: actions providing a menu item or
2007-03-15 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkaction.[ch]: Add GtkActionClass::get_submenu() vfunc:
actions providing a menu item or a menu tool button with already
a submenu should return the GtkMenu widget.
* gtk/gtkuimanager.c (update_node): If an action provides its
own submenu, use it instead of adding an empty one
* gtk/gtkrecentaction.[ch]: Add GtkRecentAction, an action
implementing the GtkRecentChooser interface for displaying the
list of recently used files into menus and toolbars generated
using GtkUIManager. (#338843)
* gtk/Makefile.am:
* gtk/gtk.h:
* gtk/gtk.symbols: Add GtkRecentAction API to the build.
* tests/testactions.c: Exercise the GtkRecentAction API.
Chris Wilson [Thu, 15 Mar 2007 18:40:16 +0000 (18:40 +0000)]
Protect ensure_valid_themes() from recursion, which can happen for example
2007-03-15 Chris Wilson <chris@chris-wilson.co.uk>
* gtk/gtkicontheme.c (ensure_valid_themes), (rescan_themes),
(gtk_icon_theme_rescan_if_needed): Protect ensure_valid_themes()
from recursion, which can happen for example if the app tries to
reload an icon from within a theme-changed handler. (#418531)
Emmanuele Bassi [Thu, 15 Mar 2007 10:05:34 +0000 (10:05 +0000)]
Move filtering of the recent files list into the shared implementation; do
2007-03-15 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentchooserprivate.h:
* gtk/gtkrecentchooserutils.c: Move filtering of the recent
files list into the shared implementation; do the filtering
before the sorting, so that we always clamp on the desired
size. (#418219)
* gtk/gtkrecentchoosermenu.c: Remove the filtering of the
list, as it's already been done.
* gtk/gtkrecentchooserdefault.c: Ditto; also remove the
GtkTreeModelFilter: just reload the view if the sorting and
filtering properties change.
* gtk/testrecentchoosermenu.c: Exercise the limit property.
Michael Natterer [Wed, 14 Mar 2007 13:55:12 +0000 (13:55 +0000)]
Make gtk_widget_set_extension_events() work on already realized widgets
2007-03-14 Michael Natterer <mitch@imendio.com>
Make gtk_widget_set_extension_events() work on already realized
widgets (bug #379550, Tommi Komulainen)
* gdk/x11/gdkinput.c (gdk_input_set_extension_events): allow to be
called multiple times without leaking and work correctly when
already realized (don't rely on a configure event following).
* gtk/gtkwidget.c (gtk_widget_set_extension_events_internal): new
internal function which walks the GdkWindow tree and sets the
extension events on all windows that belong to the widget.
(gtk_widget_realize)
(gtk_widget_set_extension_events): use the new function.
Emmanuele Bassi [Wed, 14 Mar 2007 10:33:36 +0000 (10:33 +0000)]
Various clean ups in the GtkRecent code. (see #338843)
2007-03-14 Emmanuele Bassi <ebassi@gnome.org>
Various clean ups in the GtkRecent code. (see #338843)
* gtk/gtkrecentchooserdefault.c:
* gtk/gtkrecentchoosermenu.c:
* gtk/gtkrecentchooserprivate.h:
* gtk/gtkrecentchooserutils.c: Move the recent chooser function
for getting the sorted and clamped list of recent files from the
manager outside the implementations.
* gtk/gtkrecentchooserdefault.c (chooser_set_sort_type): Repopulate
the list when the sorting order changes.
(gtk_recent_chooser_default_dispose),
(gtk_recent_chooser_default_finalize): Move object unref and
source removal from finalize to dispose.
* gtk/gtkrecentchooser.c (gtk_recent_chooser_type_init): Relax the
prerequisite for the GtkRecentChooser interface implementations,
from GtkObject to GObject.
(gtk_recent_chooser_class_init): Use GTK_PARAM_* instead of
G_PARAM_*
Matthias Clasen [Mon, 12 Mar 2007 04:09:25 +0000 (04:09 +0000)]
Handle the row reference path being NULL. (#410565, Joe Markus Clarke,
2007-03-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserbutton.c (change_icon_theme_get_info_cb):
Handle the row reference path being NULL. (#410565, Joe Markus
Clarke, patch by Chris Wilson)
immediately bail out if current_folder is NULL. (#350988, lots of
2007-03-12 Kristian Rietveld <kris@gtk.org>
* gtk/gtkfilechooserdefault.c (check_save_entry): immediately
bail out if current_folder is NULL. (#350988, lots of reporters,
modified patch by Jan Darmochwal).
Richard Hult [Sat, 10 Mar 2007 21:58:49 +0000 (21:58 +0000)]
Update for the new quartz cairo surface API (#410442). Don't lock focus
2007-03-10 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkdrawable-quartz.c:
(gdk_quartz_drawable_get_context): Update for the new quartz cairo
surface API (#410442). Don't lock focus unless called outside of an
expose event.
(gdk_quartz_drawable_release_context): Only flush the CG context and
unlock focus if called outside of expose.
(gdk_quartz_ref_cairo_surface): Reuse the surface during its lifetime.
(_gdk_quartz_drawable_finish): New function, used to free the cached
cairo surface.
* gdk/quartz/gdkwindow-quartz.c:
(gdk_window_impl_quartz_begin_paint_region): A few small style changes.
(gdk_window_quartz_process_all_updates): Move the autorelease pool
allocation and freeing outside the loop.
(_gdk_windowing_window_destroy): Finish the drawable.
(move_resize_window_internal): Small cleanup and remove comment.
(_gdk_window_impl_quartz_get_type): No need to make the type info
static.
* gdk/quartz/gdkpixmap-quartz.c: Finish the drawable.
when (un)reffing an element, also (un)ref its parent elements. (Fixes
2007-03-10 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_ref_node),
(gtk_tree_model_sort_real_unref_node): when (un)reffing an
element, also (un)ref its parent elements. (Fixes #364946,
reported by many, testcase by Andreas Koehler).
Matthias Clasen [Fri, 9 Mar 2007 23:36:55 +0000 (23:36 +0000)]
Don't commit modifier-adorned characters. (#331369, #335796, Lin Ma and
2007-03-09 Matthias Clasen <mclasen@redhat.com>
* modules/input/gtkimcontextxim.c
(gtk_im_context_xim_filter_keypress): Don't commit
modifier-adorned characters. (#331369, #335796, Lin Ma
and others)
Matthias Clasen [Fri, 9 Mar 2007 04:44:20 +0000 (04:44 +0000)]
Set child visibility to FALSE here; it will be turned back on in
2007-03-08 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_real_insert_page):
Set child visibility to FALSE here; it will be turned
back on in switch_page. (#413664, Carlos Garnacho)
* modules/engines/ms-windows/msw_style.c: Use proper border style
when drawing shadow of scrolled windows on Windows XP (#168326)
* modules/engines/ms-windows/xp_theme.c: Explicitly set size of
element_part_map array to ensure it always is large enough.
* gtk/gtkcombobox.c: Add shadow-type style property, set shadow-type
property of GtkEntry accordingly, unify size-allocation of toggle
button (#411123, patch from Mathias Hasselmann).
* gtk/gtkentry.c: Add shadow-type property. Query style properties
on style changes only (#411123, patch from Mathias Hasselmann).
* modules/engines/ms-windows/msw_style.c: Drop combo_box_draw_box
hack as GtkComboBox emits drawing requests now (#411123, patch
from Mathias Hasselmann).
* gtk/gtkfilesystemwin32.c: Use Windows shell icons. Icons are
stored in the current theme with the name
"gtk-win32-shell-icon;PATH;INDEX". PATH and INDEX reference shell
icons as reported by SHGetFileInfoW. (#412221)
Matthias Clasen [Wed, 7 Mar 2007 21:10:45 +0000 (21:10 +0000)]
Set names on the popup widgets to make them themable. (#414975, Benjamin
2007-03-07 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombo.c: (gtk_combo_init):
* gtk/gtkcombobox.c: (gtk_combo_box_set_popup_widget),
(gtk_combo_box_menu_setup):
Set names on the popup widgets to make them themable. (#414975,
Benjamin Berg)
Chris Wilson [Tue, 6 Mar 2007 18:26:41 +0000 (18:26 +0000)]
Be careful not to trigger a style reset before we have loaded the icon
2007-03-06 Chris Wilson <chris@chris-wilson.co.uk>
* gtk/gtkicontheme.c (update_current_theme), (gtk_icon_theme_init),
(do_theme_change), (gtk_icon_theme_set_custom_theme),
(load_themes):
Be careful not to trigger a style reset before we have loaded
the icon theme. (#414875).
Matthias Clasen [Thu, 1 Mar 2007 06:44:00 +0000 (06:44 +0000)]
Always store gtk-color-scheme values from all sources in the
2007-03-01 Matthias Clasen <mclasen@redhat.com>
* gtk/gtksettings.c: Always store gtk-color-scheme
values from all sources in the ColorSchemeData struct
and ignore the property_value for gtk-color-scheme.
This fixes #412596, reported by Thomas Wood.
Matthias Clasen [Mon, 26 Feb 2007 19:45:33 +0000 (19:45 +0000)]
Apply a patch by Carlos Garnacho to fix several problems with filechooser
2007-02-26 Matthias Clasen <mclasen@redhat.com>
Apply a patch by Carlos Garnacho to fix several problems
with filechooser size handling (#325477, #151169, 143213,
#153785)
* gtk/gtkfilechooserdefault.c: Increase NUM_LINES slightly.
(browse_widgets_create): Don't force the paned position to 200.
(find_good_size_from_style): Take the size of the extra widget
into account.
* gtk/gtkfilechooserdialog.c (file_chooser_widget_update_hints):
Accept a minimal width parameter. Update all callers.
Chris Wilson [Mon, 26 Feb 2007 14:09:21 +0000 (14:09 +0000)]
Bug 409101 – invalid read to gtkicontheme.c insert_theme(), might cause
2007-02-26 Chris Wilson <chris@chris-wilson.co.uk>
Bug 409101 – invalid read to gtkicontheme.c insert_theme(), might cause gnome-panel crash
* gtk/gtkicontheme.c: (scan_directory):
Reorder the replacement of the shared base_name key, so that we
avoid dereferencing the string in the icon_theme->all_icon
hash table after freeing it from the dir->icons hash table.
Tor Lillqvist [Mon, 26 Feb 2007 13:48:01 +0000 (13:48 +0000)]
Add comment clarifying that "icon name" here is not related to the
2007-02-26 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkwindow-win32.c (gdk_window_set_icon_name): Add
comment clarifying that "icon name" here is not related to the
freedesktop.org icon naming stuff.
Tor Lillqvist [Mon, 19 Feb 2007 00:32:32 +0000 (00:32 +0000)]
Remove. (gdk_device_get_type): Drop class init function. The X11 version
2007-02-19 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkinput.c
(gdk_device_finalize, gdk_device_class_init): Remove.
(gdk_device_get_type): Drop class init function. The X11 version
doesn't have one either.
(gdk_devices_list): Call gdk_display_list_devices() on _gdk_display.
(gdk_display_list_devices): Check that the argument is
_gdk_display.
* gdk/win32/gdkinput-win32.h (GdkAxisInfo, GdkDevicePrivate):
Cleanup: remove unused fields.
* gdk/win32/gdkinput-win32.c: Corresponding changes. Fix function
names in a few debugging printouts.
Richard Hult [Sun, 18 Feb 2007 11:04:06 +0000 (11:04 +0000)]
Setup release pools to plug two leaks, patch from Erik van Pienbroek,
2007-02-18 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c:
(gdk_window_quartz_process_all_updates),
(_gdk_windowing_window_destroy): Setup release pools to plug two leaks,
patch from Erik van Pienbroek, fixes bug #396649.
Richard Hult [Sun, 18 Feb 2007 10:26:49 +0000 (10:26 +0000)]
Import AppKit.h instead of Quartz.h. Don't use userSpaceScaleFactor for
2007-02-18 Richard Hult <richard@imendio.com>
* gdk/quartz/GdkQuartzView.h:
* gdk/quartz/GdkQuartzWindow.h:
* gdk/quartz/gdkquartz.h: Import AppKit.h instead of Quartz.h.
* gdk/quartz/gdkscreen-quartz.c: (get_mm_from_pixels): Don't use
userSpaceScaleFactor for 10.3. Those changes bring us closer to working
on panther, patch from Mathias Hasselmann.
* gdk/quartz/gdkeventloop-quartz.c: Add includes to fix build warnings.
* gtk/gtktreeview.c (gtk_tree_view_init),
(gtk_tree_view_move_cursor_page_up_down): fix off by one error
in page up/down handling by memorizing the offset into the cursor
row. (Fixes #399809, reported by Bruce Bowler).
send a focus-in event to the tree view after hiding the search dialog.
2007-02-16 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_search_dialog_hide): send
a focus-in event to the tree view after hiding the search dialog.
(#356515, Rich Burridge, Peter Parente).