diff options
author | Owen Taylor <otaylor@redhat.com> | 2001-11-16 19:19:30 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2001-11-16 19:19:30 +0000 |
commit | 0f9b242203ec9bd12e591a2c15008b4ef13ec1c9 (patch) | |
tree | 3cbd170240ad1dcb3bf95c378a059341f101fc5c /gtk/gtknotebook.c | |
parent | ab14a31ffb03bf62d548a75e276b964b65ee5858 (diff) | |
download | gtk+-0f9b242203ec9bd12e591a2c15008b4ef13ec1c9.tar.gz |
Fix child allocations to be relative to widget position and some drawing
Fri Nov 16 14:06:31 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c: Fix child allocations to be relative to
widget position and some drawing bugs.
* gtk/gtkmenuitem.c (gtk_menu_item_paint): Fix problem
with reading uninitialized variable.
Diffstat (limited to 'gtk/gtknotebook.c')
-rw-r--r-- | gtk/gtknotebook.c | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index ca9b40f3ae..0bf40fc84d 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -1104,15 +1104,7 @@ static void gtk_notebook_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { - GtkNotebook *notebook; - GtkNotebookPage *page; - GtkAllocation child_allocation; - GList *children; - - g_return_if_fail (GTK_IS_NOTEBOOK (widget)); - g_return_if_fail (allocation != NULL); - - notebook = GTK_NOTEBOOK (widget); + GtkNotebook *notebook = GTK_NOTEBOOK (widget); widget->allocation = *allocation; if (GTK_WIDGET_REALIZED (widget)) @@ -1127,10 +1119,15 @@ gtk_notebook_size_allocate (GtkWidget *widget, if (notebook->children) { - child_allocation.x = GTK_CONTAINER (widget)->border_width; - child_allocation.y = GTK_CONTAINER (widget)->border_width; - child_allocation.width = MAX (1, allocation->width - child_allocation.x * 2); - child_allocation.height = MAX (1, allocation->height - child_allocation.y * 2); + gint border_width = GTK_CONTAINER (widget)->border_width; + GtkNotebookPage *page; + GtkAllocation child_allocation; + GList *children; + + child_allocation.x = widget->allocation.x + border_width; + child_allocation.y = widget->allocation.y + border_width; + child_allocation.width = MAX (1, allocation->width - border_width * 2); + child_allocation.height = MAX (1, allocation->height - border_width * 2); if (notebook->show_tabs || notebook->show_border) { @@ -2349,8 +2346,8 @@ gtk_notebook_paint (GtkWidget *widget, x = widget->allocation.x + border_width; y = widget->allocation.y + border_width; - width = widget->allocation.width - x * 2; - height = widget->allocation.height - y * 2; + width = widget->allocation.width - border_width * 2; + height = widget->allocation.height - border_width * 2; if (notebook->show_border && (!notebook->show_tabs || !notebook->children)) { @@ -2637,13 +2634,14 @@ gtk_notebook_pages_allocate (GtkNotebook *notebook) if (!notebook->show_tabs || !notebook->children || !notebook->cur_page) return; - child_allocation.x = container->border_width; - child_allocation.y = container->border_width; + child_allocation.x = widget->allocation.x + container->border_width; + child_allocation.y = widget->allocation.y + container->border_width; switch (notebook->tab_pos) { case GTK_POS_BOTTOM: - child_allocation.y = (allocation->height - + child_allocation.y = (widget->allocation.y + + allocation->height - notebook->cur_page->requisition.height - container->border_width); /* fall through */ @@ -2652,7 +2650,8 @@ gtk_notebook_pages_allocate (GtkNotebook *notebook) break; case GTK_POS_RIGHT: - child_allocation.x = (allocation->width - + child_allocation.x = (widget->allocation.x + + allocation->width - notebook->cur_page->requisition.width - container->border_width); /* fall through */ |