Matthias Clasen [Mon, 15 Aug 2005 13:46:32 +0000 (13:46 +0000)]
Use object data to mark widgets and groups as visited, so that we avoid
2005-08-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtksizegroup.c: Use object data to mark widgets and
groups as visited, so that we avoid constant extra list
traversals. Also allocate quarks in class_init. (#311618,
Michael Natterer)
Matthias Clasen [Mon, 15 Aug 2005 03:52:34 +0000 (03:52 +0000)]
Store only one copy of the pixel data for symlinked icons. To achieve
2005-08-14 Matthias Clasen <mclasen@redhat.com>
* gtk/updateiconcache.c: Store only one copy of the pixel data
for symlinked icons. To achieve this, maintain a hashtable
mapping pathnames to pixel data, and share the pixel data for
all symlinks resolving to the same pathname. When writing out
the image data, write out the pixel data only the first time
it is met, and store the offset pointing to the first copy
for use in all later cases.
This reduces the size of the Bluecurve icon cache from 40
to 13MB. (#312972)
Matthias Clasen [Fri, 12 Aug 2005 18:39:17 +0000 (18:39 +0000)]
When changing the icon theme, defer the resetting of rc styles to an idle,
2005-08-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkicontheme.c: When changing the icon theme, defer
the resetting of rc styles to an idle, so that it does
not happen e.g during expose handling (which is problematic,
since some widgets, like the toolbar, are changing the
hierarchy in response to style changes). (#300539, reported
by many people, analyzed by Owen Taylor)
Matthias Clasen [Fri, 12 Aug 2005 03:03:44 +0000 (03:03 +0000)]
Work around some problems with the gnome-vfs backends which could lead to
2005-08-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserdefault.c: Work around some problems
with the gnome-vfs backends which could lead to crashes
in the bookmark handling. (#310270, Diego Gonzalez, patch
by Michael Meeks)
queue a draw for the entire widget if any column changes width. (Fixes
2005-08-11 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_size_allocate_columns): queue
a draw for the entire widget if any column changes width. (Fixes
#311026, reported by Frederic Crozat).
Owen Taylor [Wed, 10 Aug 2005 02:31:51 +0000 (02:31 +0000)]
Strip out all Xft, FreeType, and pangoxft checking. Rewrite X checks to
2005-08-09 Owen Taylor <otaylor@redhat.com>
* configure.in: Strip out all Xft, FreeType, and pangoxft checking.
Rewrite X checks to use pkg-config as much as possible.
* gdk/win32/gdkfont-win32.c (gdk_font_from_description_for_display): Make
this return Arial always to avoid using PangoWin32FontMap. (X11 backend
has always been returned "fixed" for a long time)
* gdk/linux-fb/gdkdrawable-fb2.c: Remove draw_glyphs() implementations,
fall through to the default implementation in terms of Cairo.
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_text): Use gdk_draw_glyphs()
on the wrapper rather than gdk_fb_draw_glyphs()
Søren Sandmann [Fri, 5 Aug 2005 20:55:48 +0000 (20:55 +0000)]
Set the relief of the arrow button to the value returned by
Fri Aug 5 16:54:19 2005 Søren Sandmann <sandmann@redhat.com>
* gtk/gtkmenutoolbutton.c
(gtk_menu_tool_button_construct_contents): Set the relief of the
arrow button to the value returned by
gtk_tool_item_get_relief_style(). Patch from Benjamin Berg.
2005-07-28 Federico Mena Quintero <federico@ximian.com>
* perf/README: Update for the new API of the profiler.
* perf/gtkwidgetprofiler.[ch]: New files with a widget profiler
object. This is the old content of timers.[ch] turned into a nice
object, with signals for creation and reporting. The profiler
needs to maintain some state when reusing the widget, so it's
useful to turn it into a real object.
Break down timing show_all into GTK_WIDGET_PROFILER_REPORT_MAP and
GTK_WIDGET_PROFILER_REPORT_EXPOSE.
* perf/main.c: Refactor to use GtkWidgetProfiler.
* perf/appwindow.c (content_area_new): Make this just create a
notebook, instead of a complex arrangement of panes.
* perf/widgets.h: New header file for all the "create a widget"
utility functions.
* perf/treeview.c: New file. Moved the tree view part from
appwindow.c over to here; GtkTreeView really needs its own tests.
(tree_view_new): Set the shadow type to IN.
* perf/textview.c: Likewise moved over from appwindow.c, but for
GtkTextView.
(text_view_new): Set the shadow type to IN.
* perf/Makefile.am (testperf_SOURCES): Add the new source files;
remove appwindow.h and timers.[ch].
Tor Lillqvist [Fri, 29 Jul 2005 00:23:03 +0000 (00:23 +0000)]
Remove ifdeffed out code relating to the gdk-ping message. Use the global
2005-07-29 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkevents-win32.c: Remove ifdeffed out code relating
to the gdk-ping message. Use the global _gdk_display instead of
calling gdk_display_get_default() which would return _gdk_display
anyway.
(append_event, apply_filters, gdk_event_translate): Drop any
GdkDisplay parameter as we only have one display anyway. Use
_gdk_display where needed.
(gdk_event_apply_filters): Delete, move the code into its only
caller, apply_filters().
(generate_button_event): Factor out code from two places in
gdk_event_translate().
(gdk_event_translate): Call generate_button_event() in place of
inline code.
Tor Lillqvist [Thu, 28 Jul 2005 23:21:57 +0000 (23:21 +0000)]
New static function to generate and append the GDK_GRAB_BROKEN events.
2005-07-29 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkevents-win32.c (generate_grab_broken_event): New
static function to generate and append the GDK_GRAB_BROKEN events.
(gdk_pointer_grab, gdk_keyboard_grab): Generate grab broken events
when overriding a grab inside the application, like in the X11
backend. Final bits of the fix for #107320, hopefully.
(print_event): Handle also GDK_SETTING, GDK_OWNER_CHANGE and
GDK_GRAB_BROKEN events.
(gdk_event_translate): Call generate_grab_broken_event() in place
of inline code.
Tor Lillqvist [Thu, 28 Jul 2005 22:24:19 +0000 (22:24 +0000)]
Rename from blit_inside_window(), as it now does blitting inside a bitmap,
2005-07-29 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkdrawable-win32.c (blit_inside_drawable): Rename
from blit_inside_window(), as it now does blitting inside a
bitmap, too. No code change, still just call BitBlt().
(_gdk_win32_blit): Check for source equalling destination
first. (#169508, #131977)
Do away with the superfluous local draw_impl variable, the
parameter to this function is already a GdkDrawableImplWin32*, no
need to copy and cast it.