Chris Wilson [Wed, 11 Apr 2007 17:48:20 +0000 (17:48 +0000)]
Switch over to use glib's new g_hash_table_get_keys() rather than our own
2007-04-11 Chris Wilson <chris@chris-wilson.co.uk>
* gtk/gtkiconfactory.c (_gtk_icon_factory_list_ids):
* gtk/gtkstock.c (gtk_stock_list_ids):
Switch over to use glib's new g_hash_table_get_keys() rather
than our own static implementation.
Ronald Bultje [Wed, 11 Apr 2007 11:08:22 +0000 (11:08 +0000)]
Protect the polling thread setup and shutdown function by mutexes and read
* gdk/quartz/gdkeventloop-quartz.c: Protect the polling thread
setup and shutdown function by mutexes and read the wakeup
pipe unconditionally and unblocking. This should make the main
loop always be woken up when using g_idle_add() from another
thread in the Quartz backend (#425271).
Change the XSettingsWatchFunc to return a Bool to indicate success. Update
2007-04-10 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/xsettings-client.[hc]: Change the XSettingsWatchFunc
to return a Bool to indicate success. Update callers and
implementors. Based on a patch by Owen Taylor.
* gdk/x11/gdkevents-x11.c (gdk_xsettings_watch_cb): Don't
leak a reference to gdkwin.
Richard Hult [Fri, 6 Apr 2007 21:12:48 +0000 (21:12 +0000)]
Clean up namespaces to make the code more maintainable.
2007-04-06 Richard Hult <richard@imendio.com>
* gdk/quartz/: Clean up namespaces to make the code more
maintainable.
* gdk/quartz/gdkdrawable-quartz.c:
* gdk/quartz/gdkgc-quartz.c: Fix bug #418384, alignment of tiled
images, by setting the pattern phase for the CG pattern.
* gtk/gtktooltip.c (tooltip_browse_mode_expired),
(gtk_tooltip_hide_tooltip), (tooltip_popup_timeout),
(gtk_tooltip_start_delay): use new gdk_threads API.
Don't set metrics-hinting font option. Rely on the default value which is
2007-04-03 Behdad Esfahbod <behdad@gnome.org>
* gtk/gtksettings.c (settings_update_font_options): Don't set
metrics-hinting font option. Rely on the default value which is
on for all raster cairo surfaces. (#425985)
Revert to non-xinerama mode when XineramaQueryScreens returns NULL; patch
2007-04-03 Loïc Minier <lool@dooz.org>
* gdk/x11/gdkscreen-x11.c: (check_xfree_xinerama): Revert to
non-xinerama mode when XineramaQueryScreens returns NULL; patch from
Simon McVittie; #425786.
remove artifact from the time when type checking casts warned on NULL,
2007-04-02 Michael Natterer <mitch@imendio.com>
* gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): remove
artifact from the time when type checking casts warned on NULL,
some whitespace cleanup.
Patch from Matthias to add support for the _NET_WM_USER_TIME_WINDOW EWMH
2007-03-31 Elijah Newren <newren gmail com>
* gdk/x11/gdkwindow-x11.c (setup_toplevel_window,
gdk_x11_window_set_user_time):
Patch from Matthias to add support for the
_NET_WM_USER_TIME_WINDOW EWMH protocol; see #354213.
WARNING: This patch will make metacity <= 2.18.0 freeze on
workspace switch. This is due to a weird problem that should only
affect window managers using gdk in-process for decoration drawing
and which make an unsafe assumption relating to doing so (i.e. it
should only affect metacity). Upgrade your version of metacity if
you hit this bug.
Michael Natterer [Thu, 29 Mar 2007 15:47:49 +0000 (15:47 +0000)]
Don't close menus on clicks on their border area (bug #423761). (modified
2007-03-29 Michael Natterer <mitch@imendio.com>
Don't close menus on clicks on their border area (bug #423761).
(modified patch from maemo-gtk).
* gtk/gtkmenu.c (gtk_menu_button_press)
(gtk_menu_button_release): bail out early if the click was on the
menu's border (not on any item and not outside the window).
(pointer_in_menu_window): new utility function which checks if
passed root coords are inside the menu_shell or one of its
parent shells.
Michael Natterer [Thu, 29 Mar 2007 08:14:22 +0000 (08:14 +0000)]
get rid of local GtkSettings variables by moving gtk_widget_get_settings()
2007-03-29 Michael Natterer <mitch@imendio.com>
* gtk/gtkmenu.c: get rid of local GtkSettings variables by moving
gtk_widget_get_settings() into the g_object_get() call. Some small
indentation fixes.
Tim Janik [Wed, 28 Mar 2007 13:29:17 +0000 (13:29 +0000)]
applied JPEG loader fix from maemo. this fix makes sure stop_load()
Wed Mar 28 15:27:35 2007 Tim Janik <timj@imendio.com>
* io-jpeg.c: applied JPEG loader fix from maemo. this fix makes sure
stop_load() doesn't forget about its return value, and it pulls the
check for infinite looping out of an else branch in load_increment()
so it runs unconditionally, fixes #397643.
don't unref tooltip_window, since this is handled by set_qdata_full()
2007-03-28 Kristian Rietveld <kris@imendio.com>
* gtk/gtkwidget.c (gtk_widget_set_tooltip_window): don't unref
tooltip_window, since this is handled by set_qdata_full() already.
(#412001, Torsten Schoenfeld).
calculate the depth with the corrected real_cell_area and don't subtract
2007-03-24 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
calculate the depth with the corrected real_cell_area and don't
subtract horizontal_separator/2.
Rodney Dawes [Wed, 21 Mar 2007 19:31:01 +0000 (19:31 +0000)]
Add a new API call gtk_icon_theme_list_contexts so that one can choose
2007-03-21 Rodney Dawes <dobey@novell.com>
* gtk/gtk.symbols:
* gtk/gtkicontheme.[ch]:
* docs/reference/gtk/gtk-sections.txt:
* tests/testicontheme.c:
Add a new API call gtk_icon_theme_list_contexts so that one can
choose icons from a theme by context (#420719)
* gtk/gtktreeview.c (gtk_tree_view_clamp_column_visible): add
focus_to_cell parameter, rework to handle clamping columns which
are bigger than the available page size better,
(gtk_tree_view_key_press): remove code handling moving the focus
to other column headers,
(gtk_tree_view_header_focus): add clamp_column_visible parameter,
fix RTL support, don't wrap around when moving focus to other
column headers, call gtk_tree_view_clamp_column_visible() instead
of duplicating code,
(gtk_tree_view_focus): only clamp the column visible when we are
explicitly moving to another column header (fixes #399555, Charles
Kerr),
(gtk_tree_view_move_cursor_left_right): update call to
gtk_tree_view_clamp_column_visible().
Emmanuele Bassi [Sat, 17 Mar 2007 15:02:41 +0000 (15:02 +0000)]
Remove useless inlined function and propagate the properties to the
2007-03-17 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentaction.c (recent_chooser_set_property),
(gtk_recent_action_set_property): Remove useless inlined
function and propagate the properties to the GtkRecentChooser
objects we create, instead of all the proxies.
2007-03-15 Federico Mena Quintero <federico@novell.com>
Merged from gtk-2-10:
* gtk/gtkfilechooserdefault.c (find_good_size_from_style):
PANGO_PIXELS() gives us device units, which are *points* in
pangocairo's parlance, but we want actual pixels. So, get the
screen's resolution to compute the actual number of pixels.
Fixes bug #418585.
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)