calendar: Replace internal 1-bit fields with bool

Single bit fields cannot be used by address, and will overflow when
set to values that are bigger than one bit; the behaviour (if not the
size) of the C99 bool type is better defined.
This commit is contained in:
Emmanuele Bassi
2023-06-28 15:28:22 +01:00
parent 4c77a466af
commit 2a9296f54e

View File

@@ -202,10 +202,9 @@ struct _GtkCalendar
{
GtkWidget widget;
guint show_week_numbers : 1;
guint show_heading : 1;
guint show_day_names : 1;
guint year_before : 1;
bool show_week_numbers;
bool show_heading;
bool show_day_names;
GtkWidget *header_box;
GtkWidget *year_label;
@@ -219,14 +218,14 @@ struct _GtkCalendar
GDateTime *date;
int day_month[6][7];
int day[6][7];
int day_month[6][7];
int day[6][7];
int num_marked_dates;
int marked_date[31];
int num_marked_dates;
int marked_date[31];
int focus_row;
int focus_col;
int focus_row;
int focus_col;
int week_start;
};
@@ -774,12 +773,12 @@ gtk_calendar_init (GtkCalendar *calendar)
gtk_widget_set_vexpand (calendar->grid, TRUE);
gtk_widget_set_parent (calendar->grid, GTK_WIDGET (calendar));
for (i=0;i<31;i++)
for (i = 0; i < 31; i++)
calendar->marked_date[i] = FALSE;
calendar->num_marked_dates = 0;
calendar->show_heading = TRUE;
calendar->show_day_names = TRUE;
calendar->show_heading = true;
calendar->show_day_names = true;
calendar->focus_row = -1;
calendar->focus_col = -1;
@@ -1638,17 +1637,18 @@ void
gtk_calendar_set_show_week_numbers (GtkCalendar *self,
gboolean value)
{
bool show_week_numbers = !!value;
int i;
g_return_if_fail (GTK_IS_CALENDAR (self));
if (self->show_week_numbers == value)
if (self->show_week_numbers == show_week_numbers)
return;
self->show_week_numbers = value;
self->show_week_numbers = show_week_numbers;
for (i = 0; i < 6; i ++)
gtk_widget_set_visible (self->week_number_labels[i], value);
gtk_widget_set_visible (self->week_number_labels[i], show_week_numbers);
g_object_notify (G_OBJECT (self), "show-week-numbers");
}
@@ -1687,14 +1687,16 @@ void
gtk_calendar_set_show_heading (GtkCalendar *self,
gboolean value)
{
bool show_heading = !!value;
g_return_if_fail (GTK_IS_CALENDAR (self));
if (self->show_heading == value)
if (self->show_heading == show_heading)
return;
self->show_heading = value;
self->show_heading = show_heading;
gtk_widget_set_visible (self->header_box, value);
gtk_widget_set_visible (self->header_box, show_heading);
g_object_notify (G_OBJECT (self), "show-heading");
}
@@ -1729,17 +1731,18 @@ void
gtk_calendar_set_show_day_names (GtkCalendar *self,
gboolean value)
{
bool show_day_names = !!value;
int i;
g_return_if_fail (GTK_IS_CALENDAR (self));
if (self->show_day_names == value)
if (self->show_day_names == show_day_names)
return;
self->show_day_names = value;
self->show_day_names = show_day_names;
for (i = 0; i < 7; i ++)
gtk_widget_set_visible (self->day_name_labels[i], value);
gtk_widget_set_visible (self->day_name_labels[i], show_day_names);
g_object_notify (G_OBJECT (self), "show-day-names");
}