diff --git a/src/gui/views/gcal-month-view-row.c b/src/gui/views/gcal-month-view-row.c index 424e19c7e858774d08f866df937c86f1ae1f29be..d750c5ffe7d329821f05669e00a168bd79db7114 100644 --- a/src/gui/views/gcal-month-view-row.c +++ b/src/gui/views/gcal-month-view-row.c @@ -30,6 +30,8 @@ #include "gcal-range-tree.h" #include "gcal-utils.h" +#define SEPARATOR_OFFSET -1 + typedef struct { GtkWidget *event_widget; @@ -574,12 +576,17 @@ gcal_month_view_row_size_allocate (GtkWidget *widget, { GcalEventBlock *block; GtkAllocation allocation; + gint start_cell; + gint end_cell; block = g_ptr_array_index (blocks, block_index); - allocation.x = (is_ltr ? block->cell : 7 - block->cell - block->length) * cell_width; + start_cell = is_ltr ? block->cell : 7 - block->cell - block->length; + end_cell = start_cell + block->length; + + allocation.x = round (start_cell * cell_width - (is_ltr ? 0 : SEPARATOR_OFFSET)); allocation.y = cell_y[block->cell]; - allocation.width = block->length * cell_width; + allocation.width = round (end_cell * cell_width) - allocation.x + (is_ltr ? SEPARATOR_OFFSET : 0); allocation.height = block->height; gtk_widget_set_child_visible (block->event_widget, block->visible);