Fix frame size allocation

svn path=/trunk/; revision=20368
This commit is contained in:
Matthias Clasen 2008-06-13 04:56:25 +00:00
parent 7c12a83e52
commit 6302384106
2 changed files with 21 additions and 9 deletions

View File

@ -1,3 +1,8 @@
2008-06-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c (gtk_entry_draw_frame): Fix frame size allocation.
Patch by Jan Arne Peterson
2008-06-12 Matthias Clasen <mclasen@redhat.com>
Bug 537985 gtk_init_with_args() doesn't open a display after

View File

@ -47,6 +47,7 @@
#include "gtkseparatormenuitem.h"
#include "gtkselection.h"
#include "gtksettings.h"
#include "gtkspinbutton.h"
#include "gtkstock.h"
#include "gtktextutil.h"
#include "gtkwindow.h"
@ -1558,16 +1559,22 @@ gtk_entry_draw_frame (GtkWidget *widget,
GdkRectangle *area)
{
GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (widget);
gint x, y, width, height;
gint xborder, yborder;
get_text_area_size (GTK_ENTRY (widget), &x, &y, &width, &height);
_gtk_entry_get_borders (GTK_ENTRY (widget), &xborder, &yborder);
gint x = 0, y = 0, width, height;
x -= xborder;
y -= yborder;
width += xborder * 2;
height += yborder * 2;
gdk_drawable_get_size (widget->window, &width, &height);
/* Fix a problem with some themes which assume that entry->text_area's
* width equals widget->window's width */
if (GTK_IS_SPIN_BUTTON (widget))
{
gint xborder, yborder;
get_text_area_size (GTK_ENTRY (widget), &x, NULL, &width, NULL);
_gtk_entry_get_borders (GTK_ENTRY (widget), &xborder, &yborder);
x -= xborder;
width += xborder * 2;
}
if (GTK_WIDGET_HAS_FOCUS (widget) && !priv->interior_focus)
{