[gtk+/native-layout] Fixed height-for-width cache
- From: Tristan Van Berkom <tvb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/native-layout] Fixed height-for-width cache
- Date: Tue, 20 Apr 2010 00:46:18 +0000 (UTC)
commit ee8db39393fe0246461d06d88515446b057dcc54
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date: Mon Apr 19 20:41:23 2010 -0400
Fixed height-for-width cache
Fixed the cache to be cleared when flagged with WIDTH/HEIGHT_REQUEST_NEEDED.
This error was causing some widgets to not be sized correctly (the stock and
icon browser in the demo for instance).
gtk/gtkextendedlayout.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkextendedlayout.c b/gtk/gtkextendedlayout.c
index b764f46..b95c5b7 100644
--- a/gtk/gtkextendedlayout.c
+++ b/gtk/gtkextendedlayout.c
@@ -129,6 +129,7 @@ get_cache (GtkExtendedLayout *layout, gboolean create)
return cache;
}
+
static void
do_size_request (GtkWidget *widget)
{
@@ -166,6 +167,8 @@ compute_size_for_orientation (GtkExtendedLayout *layout,
if (GTK_WIDGET_WIDTH_REQUEST_NEEDED (layout) == FALSE)
found_in_cache = get_cached_desired_size (for_size, cache->desired_widths, &cached_size);
+ else
+ memset (cache->desired_widths, 0x0, N_CACHED_SIZES * sizeof (DesiredSize));
}
else
{
@@ -173,6 +176,8 @@ compute_size_for_orientation (GtkExtendedLayout *layout,
if (GTK_WIDGET_WIDTH_REQUEST_NEEDED (layout) == FALSE)
found_in_cache = get_cached_desired_size (for_size, cache->desired_heights, &cached_size);
+ else
+ memset (cache->desired_heights, 0x0, N_CACHED_SIZES * sizeof (DesiredSize));
}
if (!found_in_cache)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]