gtk+: Refresh misbehaving patch

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2528 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Richard Purdie 2007-08-21 11:16:29 +00:00
parent f041a4d9ab
commit 686161ae9f
1 changed files with 13 additions and 14 deletions

View File

@ -1,11 +1,8 @@
Index: gtk/gtkcombobox.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkcombobox.c,v
retrieving revision 1.185
diff -u -p -r1.185 gtkcombobox.c
--- gtk/gtkcombobox.c 12 Oct 2006 13:48:07 -0000 1.185
+++ gtk/gtkcombobox.c 1 Nov 2006 19:01:09 -0000
@@ -756,6 +756,25 @@ gtk_combo_box_class_init (GtkComboBoxCla
--- gtk/gtkcombobox.c.orig 2007-08-21 11:10:15.000000000 +0000
+++ gtk/gtkcombobox.c 2007-08-21 11:13:00.000000000 +0000
@@ -692,6 +692,25 @@
FALSE,
GTK_PARAM_READABLE));
@ -31,26 +28,27 @@ diff -u -p -r1.185 gtkcombobox.c
g_type_class_add_private (object_class, sizeof (GtkComboBoxPrivate));
}
@@ -1897,7 +1916,12 @@ gtk_combo_box_size_request (GtkWidget
@@ -1926,8 +1945,13 @@
{
gint width, height;
GtkComboBox *combo_box = GTK_COMBO_BOX (widget);
gint focus_width, focus_pad;
+ gint font_size;
+ gint arrow_size;
GtkRequisition bin_req;
GtkAllocation child;
GtkRequisition req;
+ PangoContext *context;
+ PangoFontMetrics *metrics;
+ PangoFontDescription *font_desc;
gboolean is_rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL;
GtkComboBox *combo_box = GTK_COMBO_BOX (widget);
@@ -1910,7 +1934,20 @@ gtk_combo_box_size_request (GtkWidget
widget->allocation = *allocation;
@@ -1935,8 +1959,21 @@
gtk_widget_style_get (GTK_WIDGET (widget),
"focus-line-width", &focus_width,
"focus-padding", &focus_pad,
+ "arrow-size", &arrow_size,
NULL);
+
+ font_desc = GTK_BIN (widget)->child->style->font_desc;
+ context = gtk_widget_get_pango_context (widget);
+ metrics = pango_context_get_metrics (context, font_desc,
@ -62,6 +60,7 @@ diff -u -p -r1.185 gtkcombobox.c
+ arrow_size = MAX (arrow_size, font_size);
+
+ gtk_widget_set_size_request (combo_box->priv->arrow, arrow_size, arrow_size);
+
if (!combo_box->priv->tree_view)
{
if (combo_box->priv->cell_view)