mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-18 17:30:10 +00:00
GtkCalendar: deal better with a large allocation
When allocated more than the requested height, GtkCalendar was 'falling apart'. Not only was the main part rendered at the far end of the allocation, clicking on days was broken in this scenario. Fix this by always placing the main part directly under the header and day names. https://bugzilla.gnome.org/show_bug.cgi?id=737670
This commit is contained in:
parent
b46cef1809
commit
7b2e526c3a
@ -1253,17 +1253,14 @@ static gint
|
||||
calendar_top_y_for_row (GtkCalendar *calendar,
|
||||
gint row)
|
||||
{
|
||||
GtkAllocation allocation;
|
||||
gint inner_border = calendar_get_inner_border (calendar);
|
||||
GtkCalendarPrivate *priv = calendar->priv;
|
||||
GtkBorder padding;
|
||||
gint inner_border = calendar_get_inner_border (calendar);
|
||||
|
||||
gtk_widget_get_allocation (GTK_WIDGET (calendar), &allocation);
|
||||
get_component_paddings (calendar, &padding, NULL, NULL, NULL);
|
||||
|
||||
return allocation.height
|
||||
- padding.top - inner_border
|
||||
- (CALENDAR_MARGIN + (6 - row)
|
||||
* calendar_row_height (calendar));
|
||||
return priv->header_h + priv->day_name_h + padding.top + inner_border
|
||||
+ row * calendar_row_height (calendar);
|
||||
}
|
||||
|
||||
/* row_from_y: returns the row 0-5 that the
|
||||
|
Loading…
Reference in New Issue
Block a user